【发布时间】:2018-08-22 04:17:41
【问题描述】:
Kubernetes StatefulSets 创建具有稳定网络 ID 的内部 DNS 条目。文档在这里对此进行了描述:
StatefulSet 中的每个 Pod 都从 StatefulSet 和 Pod 的序号。该模式为 构造的主机名是 $(statefulset name)-$(ordinal)。这个例子 上面将创建三个名为 web-0、web-1、web-2 的 Pod。有状态集 可以使用 Headless Service 来控制其 Pod 的域。这 由该服务管理的域采用以下形式:$(service name).$(namespace).svc.cluster.local,其中“cluster.local”是 集群域。在创建每个 Pod 时,它会获得一个匹配的 DNS 子域,采用以下形式:$(podname).$(治理服务域), 其中管理服务由上的 serviceName 字段定义 有状态集。
我正在尝试使用无头服务,这对于单个服务之间的通信非常有用,即 web-0.web.default.svc.cluster.local 可以很好地与 web-1.web.default.svc.cluster.local 连接和通信。
我有什么方法可以将它配置为在集群网络之外也能工作,其中“cluster.local”被替换为“clustera.com”之类的东西?
我想给另一个kubernetes集群,我们称之为clusterb.com,访问原集群(clustera.com)的各个服务;我希望它看起来像 clusterb 一样,只是点击 web-1.web.default.svc.clustera.com 和 web-0.web.default.svc.clustera.com 这样的端点。
这可能吗?我想访问单个服务,而不是负载平衡端点。
【问题讨论】:
标签: kubernetes google-cloud-platform google-cloud-dns google-kubernetes-engine