高山容器无法解析主机名

Alpine container not able to resolve hostname

我有一个带有 2 个工作节点的 StatefulSet Kubernetes 部署。我能够使用无头服务在这两个节点上启动容器,因此节点的主机名为

问题是我不能 能够使用主机名从 abc-1 和相反方向 ping abc-0。如果我使用 IP 地址,那么一切正常。

Alpine Linux 在某些时候存在与 DNS 解析相关的问题 (https://github.com/gliderlabs/docker-alpine/issues/8#issuecomment-172594887),但似乎已在 Alpine Linux 3.4 中修复。

验证我面临的问题不是因为 Linux 而是 Kube-DNS 中的某些错误配置或其他原因的好方法是什么?

我假设你的意思是 ping abc-0,你试过 ping abc-0.abc 了吗? resolv.conf 没有丰富所有有状态服务条目搜索域,只有命名空间一个,所以当您尝试仅通过 abc-0 访问时,它实际上解析为 abc-0.default.svc.cluster.local

问题是我 运行 的服务没有分配端点。我正在使用 v1.7.3,因此通过在无头服务上添加 'selector' 解决了问题。另外,看起来这在 v1.8.3 中不再是问题。