如何在 pod IP 上使用 kube-dns 启用反向 DNS 查找?

How can I enable reverse DNS lookups with kube-dns on pod IP?

是否可以在 Kuberenetes 上的同一命名空间中从一个 pod 到另一个 pod 进行反向 DNS 查找? 设置:Kubernetes 1.5,kube-dns 1.9

当我使用 nslookup 执行 pod 时,我没有得到主机名,但只有 nslookup 超时,例如:

$ time kubectl exec mypod -- nslookup 172\.18\.14\.13

nslookup: can't resolve '(null)': Name does not resolve Name:     
172.18.14.13 Address 1: 172.18.14.13

实际 0m5.592s

mypod2 确实有内部 IP 172.18.14.13。 mypod 和 mypod2 都已部署到相同的命名空间(默认)。

从 mypod 到 mypod 的 nslookup 有效:

$ time kubectl exec mypod -- nslookup 172\.18\.58\.13
nslookup: can't resolve '(null)': Name does not resolve

Name:      172.18.58.13
Address 1: 172.18.58.13 mypod

real    0m0.403s

我是否必须配置一些特殊的东西,或者这不是设计使然吗?

结论是设计上不可能。

一般的pod ip反向查找在kubedns和kubernetes中需要做大量的工作,而且这个用例不多。虽然在 kubedns 1.11 之后支持无头服务 dns 反向查找。

您可以在 issue#33470 and PR#25

中获得更多关于此的讨论