使用运行 Kubernetes 的 Google Container Engine 集群,如何才能指向http://mydomain.co.uk到 LoadBalanced ReplicationController 上?
我知道 Kubernetes 支持 SkyDNS - 我该如何将域名的 Google Cloud DNS 委托给内部 Kubernetes 集群 DNS 服务?
答案1
您需要创建一个服务映射到复制控制器中的 pod 上,然后将该服务公开到集群外部。您有两种方式可以向外部公开您的 Web 服务:
- 设置您的服务将
type: LoadBalancer
提供一个网络负载均衡器。 - 使用入口支持在 Kubernetes 中创建一个HTTP(S) 负载均衡器。
任一选项的最终结果是,您将拥有一个公共 IP 地址,该地址被路由到由您的复制控制器支持的服务。
一旦您获得该 IP 地址,您将需要手动配置 DNS 记录以将您的域名指向该 IP 地址。
答案2
要为 GCP 或 AWS 上的服务自动创建 DNS 记录,您可以使用外部 DNS。
有了它,您可以在服务注释中设置 DNS 名称,如下所示:
external-dns.alpha.kubernetes.io/hostname: your-service.external-dns-test.gcp.your-domain.com.