我有多个kubernetes集群,有谷歌供电负载 balancer 器(入口磅) .
所以现在要访问我的k8s群集服务,我只需要ping $ kubectl get service
给出的公共IP,很酷 .
我的问题是,有时我需要拆除/创建集群,重新配置服务,这些服务可能很快也需要SSL证书,我的集群'/服务'构建也需要很容易重现(对于 Cloud 开发人员!) .
问题很简单:我可以代替入口负载均衡器IP而不是入口负载均衡器主机名吗?
像 ${LOAD_BALANCER_NAME}.${GOOGLE_PROJECT_NAME}.appspot.com
之类的东西会非常棒 .
1 回答
Kubernetes与谷歌 Cloud DNS集成是一项功能请求,没有立即时间表(它会发生,我无法评论何时) . 但是,您可以使用loadbalancer的静态ip创建DNS记录 .
如果我已正确理解您的问题,您正在使用L4负载均衡器(service.Type = LoadBalancer),并且您希望能够删除服务/节点等并继续使用相同的IP(因为您有DNS记录) ) . 换句话说,您希望负载均衡器与服务生命周期无关 . 这可以通过L7负载均衡器[1]和[2],或通过使用现有IP [3]重新创建服务来实现 .
请注意,[1]将负载均衡器与服务生命周期分开,但如果取下整个群集,则会丢失负载均衡器 . [2]绑定到Ingress资源,因此如果删除群集并重新创建它,启动loadbalancer控制器pod,并重新创建相同的Ingress资源,它将使用现有的loadbalancer . 另请注意,[1]和[2]都依赖于将随kubernetes 1.1发布的“beta”资源,如果您部署它们,我将非常感谢您的反馈:)
[1] https://github.com/kubernetes/contrib/tree/master/service-loadbalancer
[2] https://github.com/kubernetes/contrib/pull/132
[3] github.com/kubernetes/kubernetes/issues/10323