Kubernetes - 从服务端点自动填充CloudDNS记录

时间:2016-09-30 00:31:05

标签: docker dns kubernetes google-cloud-platform devops

在Google Cloud Platform上运行Kubernetes群集时,是否可以以某种方式将服务端点的IP地址自动分配到Google CloudDNS记录?如果是这样,可以在服务YAML定义中以声明方式完成吗?

简单地说,我不相信我的type: LoadBalancer服务的IP地址。

2 个答案:

答案 0 :(得分:1)

GKE使用deployment manager来旋转新群集,以及其他资源,如负载均衡器。目前,Deployment Manager不允许集成云DNS功能。然而,有一个feature request to support that。将来如果实施此功能,可能允许在Cloud DNS,Kubernetes和GKE之间进一步集成。

答案 1 :(得分:1)

一种选择是使用入口资源(负载均衡器)来支持您的服务,并将其附加到您之前保留的静态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

我还没有尝试过这种方法,但提到它听起来像是你想要遵循的东西。