Kubernetes StatefulSets使用稳定的网络ID创建内部DNS条目。文档在这里描述了这一点:
StatefulSet中的每个Pod都从StatefulSet的名称和Pod的序号中派生其主机名。构造的主机名的模式是$(状态集名称)-$(序号)。上面的例子将创建三个名为web-0、web-1、web-2的Pods。StatefulSet可以使用无头服务来控制其Pods的域。此服务管理的域采用以下形式:$(服务名称).$(命名空间).svc.cluster.local,其中“cluster.local”是集群域。创建每个Pod时,它将获得一个匹配的DNS子域,形式为:$(Podname).$(治理服务域),其中治理服务由StatefulSet上的serviceName字段定义。
我正在试验无头服务,这对于各个服务之间的通信非常有用,即web-0.web.default.svc.cluster.local可以很好地与web-1.web.default.svc.cluster.local连接和通信。
是否可以将其配置为在集群网络之外工作,其中"cluster.local“被替换为"clustera.com"?。
我想给另一个kubernetes集群命名为clusterb.com,访问原始集群(clustera.com)的各个服务;我希望它看起来类似于集群,只需命中像web-1.web.default.svc.clustera.com和web-0.web.default.svc.clustera.com这样的端点。
这个是可能的吗?我希望访问各个服务,而不是负载平衡端点。
发布于 2018-03-14 14:53:37
我建议您测试以下解决方案,并检查它们是否可以帮助您在特定情况下实现目标:
因此,如果需要指向其他集群的服务,则需要注册指向clusterb相对IP的域名。
https://stackoverflow.com/questions/49264128
复制相似问题