首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes StatefulSets:外部DNS

Kubernetes StatefulSets:外部DNS
EN

Stack Overflow用户
提问于 2018-03-13 19:10:05
回答 1查看 982关注 0票数 3

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.comweb-0.web.default.svc.clustera.com这样的端点。

这个是可能的吗?我希望访问各个服务,而不是负载平衡端点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-14 14:53:37

我建议您测试以下解决方案,并检查它们是否可以帮助您在特定情况下实现目标:

  • 第一个当然是最简单的,我相信您没有实现它是出于某种原因,并且您没有在问题中报告原因。 我指的是没有选择器的无头服务,ExternalName类型服务的CNAME记录。 ExternalName:通过返回带有其值的CNAME记录,将服务映射到externalName字段的内容(例如foo.bar.example.com)。没有设立任何形式的代理。这需要版本1.7或更高版本的kube-dns

因此,如果需要指向其他集群的服务,则需要注册指向clusterb相对IP的域名。

  • 我从未测试过的第二个解决方案(但我相信它适用于您的情况)是使用一个联邦簇,它使用它的原因是根据文档: 跨集群发现:联邦提供自动配置DNS服务器和从所有集群的后端加载平衡器的能力。例如,您可以确保全局VIP或DNS记录可用于访问来自多个集群的后端。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49264128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档