【问题标题】:How should I set up FQDN identity for kubernetes pods in local cluster?我应该如何为本地集群中的 kubernetes pod 设置 FQDN 身份?
【发布时间】:2018-04-11 00:17:59
【问题描述】:

这个问题与本地集群(kubernetes 1.10+ 版本,Linux)有关。在创建 StatefulSet 来管理多个 Pod 后,我遇到了一个需要为 Pod 设置 FQDN 身份的用例。

例如,我希望第一个 pod 的 FQDN 身份为 <some-statefulset>-0.<some-subdomain>.default.svc.cluster.local。可以通过将<IP-address> <some-statefulset>-0.<some-subdomain>.default.svc.cluster.local 添加到/etc/hosts 文件中来实现所需的行为,但我希望在不更改/etc/hosts 文件的情况下在本地集群中自动识别FQDN。

不确定在启动本地集群时是否需要启用某些设置。

【问题讨论】:

  • 您是说能够在集群内部还是从外部访问它们?当您使用StatefulSet 时,您通常希望拥有一个无头服务。这将为您提供 DNS 名称,以便在集群中访问它们。见kubernetes.io/docs/concepts/services-networking/service/…kubernetes.io/docs/concepts/services-networking/dns-pod-service/…
  • 我用 FQDN 示例更新了问题。我确实设置了一个与 pod 的子域同名的无头服务,但我仍然无法使用 nslookup 检查主机名。
  • 如果您为 Kubernetes 集群部署了 DNS,您应该已经可以使用 my-pod-0.my-svc.my-namespace.svc.cluster.local。这至少有效吗?您能否展示您已经尝试过的 FQDN 的具体示例?如果有内部 DNS 工作,它应该可以正常工作,而无需使用 /etc/hosts
  • 抱歉回复晚了。我尝试的 FQDN (some-statefulset-0.some-service.default.svc.cluster.local) 与您建议的格式完全相同,但我无法使用它。我的猜测是 kube-dns 附加组件没有在本地集群上正确设置。我检查了这个tutorial,但发现一些必要的步骤失败了。我将继续按照教程建议的方向工作,如果我能够回答我自己的问题,我会发布我的发现。非常感谢您的帮助!

标签: kubernetes fqdn


【解决方案1】:

默认情况下,cluster.local 是内部域。要从集群内的 pod 访问服务,

svc_name.namespace_name.cluster.local

【讨论】:

  • 这根本不能回答问题。问题是要获取自动配置域的 pod,以便 pod 中的hostname --domain 命令输出一些内容。
【解决方案2】:
猜你喜欢
  • 1970-01-01
  • 2020-09-21
  • 2020-05-28
  • 2019-01-28
  • 2017-09-10
  • 1970-01-01
  • 1970-01-01
  • 2019-10-13
  • 2016-10-10
相关资源
最近更新 更多