我在 GKE 上有两个 kubernetes 集群:一个公共集群处理与外界的交互,另一个私有集群仅供内部使用。
公共集群需要访问私有集群上的一些服务,我已通过以下方式将这些服务暴露给公共集群的 Pod内部负载均衡器 https://cloud.google.com/kubernetes-engine/docs/how-to/internal-load-balancing。目前,我正在指定负载均衡器使用的内部 IP 地址并将这些 IP 传递到公共 Pod,但我更希望负载均衡器可以选择任何可用的内部 IP 地址,并且我可以将其 DNS 名称传递到公共 Pod 。
内部负载均衡器 DNS https://cloud.google.com/load-balancing/docs/internal/dns-names可用于为虚拟机提供服务的常规内部负载均衡器,并且 DNS 将采用以下形式[SERVICE_LABEL].[FORWARDING_RULE_NAME].il4.[REGION].lb.[PROJECT_ID].internal
,但是 GKE 上的内部负载均衡器有可用的东西吗?或者是否有一种解决方法可以使我完成类似的事情?
从未听说过 GKE 中用于负载均衡器的内置 DNS,但我们实际上做得非常简单。我们有外部 DNS https://github.com/kubernetes-incubator/external-dnsKubernetes 服务管理负载均衡器和入口等各种事物的 DNS 记录。你可以做什么:
- 创建 Cloud DNS 内部区域。确保将其与您的 VPC 集成。
- 确保您的 Kubernetes 节点服务帐户具有 DNS 管理员(或超宽编辑器)权限。
- 安装外部 DNS。
- 使用以下方式注释您的内部负载均衡器服务
external-dns.alpha.kubernetes.io/hostname=your.hostname.here
- 验证 DNS 记录已创建并且可以在您的 VPC 内解析。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)