带有 GKE 内部负载均衡器的 DNS

tar*_*kki 6 dns google-cloud-platform kubernetes google-kubernetes-engine

我在 GKE 上有两个 kubernetes 集群:一个处理与外部世界的交互的公共集群和一个仅供内部使用的私有集群。

公共集群需要访问私有集群上的一些服务,我已经通过内部负载均衡器将这些服务暴露给公共集群的 pod 。目前,我正在为负载均衡器指定要使用的内部 IP 地址并将这些 IP 传递给公共 P​​od,但我更希望负载均衡器可以选择任何可用的内部 IP 地址,并且我可以将它们的 DNS 名称传递给公共 P​​od .

内部负载均衡器 DNS可用于为 VM 提供服务的常规内部负载均衡器,并且 DNS 将采用 形式[SERVICE_LABEL].[FORWARDING_RULE_NAME].il4.[REGION].lb.[PROJECT_ID].internal,但是 GKE 上的内部负载均衡器是否有可用的东西?或者是否有一种解决方法可以让我完成类似的事情?

Vas*_*pov 5

从未听说过 GKE 中负载均衡器的内置 DNS,但我们实际上很简单。我们有外部 DNS Kubernetes 服务,用于管理负载均衡器和入口等各种事物的 DNS 记录。你可以做什么:

  1. 创建 Cloud DNS 内部区域。确保将其与 VPC 集成。
  2. 确保您的 Kubernetes 节点服务帐户具有 DNS 管理员(或超宽编辑器)权限。
  3. 安装外部 DNS。
  4. 注释您的内部负载均衡器服务 external-dns.alpha.kubernetes.io/hostname=your.hostname.here
  5. 验证 DNS 记录是否已创建并可在您的 VPC 中解析。