我有一个关于K8S服务类型"LoadBalancer“的问题。
我正在开发一个新的"Kubernetes即服务“平台(如GKE等)。用于多云。
问题是: K8S服务类型LoadBalancer与负载均衡(Kubernetes外部的负载均衡)配合工作。GKE和其他基于云的解决方案提供了与它们的直接集成,所以如果我创建一个GKE集群并实现一个服务类型"LoadBalancer",它将透明地创建一个新的GCP负载均衡器,并在Kubernetes中显示负载均衡器IP (作为外部IP)。同样的情况也适用于其他云提供商。
我想在我的新的"Kubernetes As a Service“平台上允许类似的功能,用户可以选择云提供商,创建Kubernetes集群,然后应用K8S服务类型"LoadBalancer”&这将导致在(用户选择的)云平台上创建负载均衡器。
我能够在Kubernetes集群创建之前自动执行该流程,但当涉及到"K8S服务和外部负载均衡器“集成时,我将一无所知。
谁能帮我介绍一下如何将K8S服务类型LoadBalancer和具体的负载均衡集成在一起?我是否需要编写一个新的CRD,或者Git中是否有类似的代码可用(如果有人知道任何可供参考的链接)?
发布于 2019-03-07 17:03:30
您必须了解kubernetes是如何与云提供商交互的。例如,之前我使用kops在亚马逊网络服务上部署了Kubernetes。我看到kubernetes使用aws访问密钥和访问密钥与aws进行交互。如果我没记错的话,我在kube-proxy或kubelet中看到了一些支持亚马逊网络服务的命令行界面选项。(我在手册页上搜索了所有kubernetes二进制文件的aws选项,但我找不到任何可提供给您的)。
例如,查看kubelet man page,他们提供了一个名为--google-json-key的选项来验证GCP。如果您使用kops或kube-aws在亚马逊网络服务上部署kubernetes,并深入了解设置及其配置/选项等,您将会有所了解(其他云提供商也是如此)。
https://stackoverflow.com/questions/55028168
复制相似问题