我们有一个本地 Kubernetes 集群,在主机名为 node1.mycompany.local 到 node7.mycompany.local 的节点上运行。我们在 Kubernetes 集群之外的 node16.mycompany.local 上还有一个数据库服务器。
当 pod 在 node4 或 node7 上运行时,它无法解析数据库域名并失败。如果我将 pod 移动到 4 或 7 以外的其他节点,它可以连接到数据库并正常运行。
当我通过 ssh 进入集群中的任何节点时,我都可以通过主机名 ping 到数据库服务器,没有任何问题。
当在没有 Kubernetes 的情况下直接运行 docker 容器时,我们会指定额外的主机名和 IP 以供容器解析,但我不知道 Kubernetes 如何处理这个问题,因为我找不到任何指定外部节点 IP 的配置。
我的kubernetes版本是:
Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.0"...
Server Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.5+coreos.0",...
什么可能导致这个问题?