在Google Cloud Platform上运行Kubernetes群集时,是否可以通过某种方式将服务端点的IP地址自动分配到Google CloudDNS记录?如果是这样,可以在服务YAML定义中以声明方式完成吗?
简单地说,我不相信我的类型的IP地址:LoadBalancer服务.
最佳答案
一种选择是使用入口资源(负载均衡器)来支持您的服务,并将其附加到您先前保留的静态IP.
我无法在Kubernetes或GKE文档中找到此文档,但我确实在此处找到了它:
https://github.com/kelseyhightower/ingress-with-static-ip
请记住,您为kubernetes.io/ingress.global-static-ip-name注释设置的值是保留的IP资源的名称,而不是IP本身.
在可用之前,您需要创建一个全局IP,将其附加到GCE负载均衡器,该负载均衡器具有自己定位到群集节点的全局转发规则.
如果您不希望使用k8s Ingress或GCP负载均衡器提供服务,我认为现在无法自动完成此项工作.也就是说,Ingress非常简单,所以我建议你走那条路,如果可以的话.
还有一个名为“external-dns”的Kubernetes Incubator项目,它看起来是一个附加组件,可以更普遍地支持它,并且完全来自集群本身:
https://github.com/kubernetes-incubator/external-dns
我还没有尝试过这种方法,但提到它听起来像你可能想要遵循的东西.