0

我有多个具有谷歌供电负载平衡器(入口磅)的kubernetes群集。名称kubernete生成谷歌云入口负载平衡器

所以现在要访问我的k8s群集服务,我只需ping通由$ kubectl get service给出的公共IP即可。

我的问题是,有时我需要拆卸/创建集群,重新配置服务,这些服务可能很快就需要SSL证书,而且我的集群/服务的构建也需要很容易重现(对于云开发者! )。

问题很简单:我可以不使入口负载均衡器IP拥有入口负载均衡器主机名吗?

类似${LOAD_BALANCER_NAME}.${GOOGLE_PROJECT_NAME}.appspot.com会超级棒。

+0

为什么你认为你需要经常拆掉集群?您是否为每个开发人员创建了一个单独的群集,并在不用于节省成本时将其拆除? –

+0

是的,也可以更改集群范围或机器类型我必须拆除整个集群并创建一个新的脚本:https://gist.github.com/azr/13e72daa9ec968f52d5d 这种情况在dev中发生了很多有te重新部署依赖只是为了改变IP是非常痛苦的:) – Azr

回答

1

Kubernetes与谷歌云的整合DNS是一项没有即时时间表的功能请求(它会发生,我无法评论什么时候发生)。但是,您可以使用loadbalancer的静态IP来创建DNS记录。

如果我正确地理解了您的问题,那么您使用的是L4负载平衡器(service.Type = LoadBalancer),并且希望能够删除服务/节点等并继续使用相同的IP(因为您拥有DNS记录)。换句话说,您希望负载平衡器不受服务生命周期的束缚。这可以通过L7负载均衡器[1] & [2]或通过用现有IP重新创建服务来实现[3]。

请注意,[1]将负载平衡器与服务寿命分开,但如果取下整个集群,则会丢失负载平衡器。 [2]绑定到Ingress资源,所以如果您删除群集并重新创建群集,请启动负载均衡器控制器窗格,然后重新创建相同的Ingress资源,它将使用现有的负载平衡器。还要注意,[1] [2]取决于将kubernetes 1.1发布了“测试版”的资源,我感谢您的反馈,如果你部署它们:)

[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

+0

你好Prashanth!感谢你的回答。 我很乐意使用HEAD,但我认为它不容易在GKE中使用? – Azr

+0

啊哈,你在GKE上。你必须等到我们达到1.1 [2]。但是,您现在可以在正在运行的集群上部署[1],并且您还可以为每个[3]将现有IP分配给服务。如果你需要帮助,请在kubernetes slack频道上留言(@beeps) –