我正在为多云开发一个新的“ Kubernetes即服务”平台(如GKE等)。
问题是:K8S服务类型“ LoadBalancer”适用于Cloud Load Balancer(在Kubernetes外部)。 GKE和其他基于云的解决方案提供了与它们的直接集成,因此,如果我创建GKE群集并实现服务类型“ LoadBalancer”,它将透明地创建一个新的GCP负载均衡器并在Kubernetes中显示负载均衡器IP(作为外部IP)。同样适用于其他云提供商。
我想在新的“ Kubernetes即服务”平台上允许类似的功能,用户可以在其中选择云提供商,创建Kubernetes集群,然后应用K8S服务类型“ LoadBalancer”,这将导致创建负载(用户选择的)云平台上的均衡器。
在Kubernetes Cluster创建之前,我一直可以自动执行流程,但是对于“ K8S服务和外部负载均衡器”集成,却一无所知。
任何人都可以帮助我,如何将K8S服务类型“ LoadBalancer”与特定的Cloud Load Balancer集成在一起?我需要编写一个新的CRD还是Git中有任何类似的代码(万一有人知道任何参考链接)?
答案 0 :(得分:1)
您必须了解kubernetes如何与云提供商进行交互。像以前一样,我使用kops
在AWS上部署了Kubernetes。我看到kubernetes使用aws访问密钥和访问密钥与aws交互。如果我没记错的话,我在kube-proxy
或kubelet
中看到了一些CLI选项来支持AWS。 (我在手册页中搜索了所有kubernetes二进制文件的aws选项,但找不到任何可提供给您的文件。)
例如,查看kubelet man page,他们提供了一个名为--google-json-key
的选项来认证GCP。如果您使用kops
或kube-aws
在AWS上部署kubernetes,并深入了解设置及其配置/选项等,您将会有所了解。(同样适用于其他云提供商)