使用宿主网络的 Kubernetes pod 是否可以通过服务名称和服务端口(包括 CoreDNS 的使用)直接向 Service 资源发送请求?还是我必须通过主机网络上的 nodePort 公开服务?
问问题
477 次
1 回答
1
如果您希望 pod 直接向服务资源发送请求,则必须将 pod 更改dnsPolicy
为ClusterFirstWithHostNet
. 它应该明确地用于运行hostNetwork: true
. 这样,它将使用集群 DNS 并位于主机网络中。
您可以在/etc/resolv.conf
文件中检查它。当您使用dnsPolicy: ClusterFirst
此文件时,该文件由 pod 继承并使用主机的 DNS 解析器。当你设置dnsPolicy: ClusterFirstWithHostNet
它时,它会将 DNS 解析器更改为集群的 DNS。
于 2020-01-15T11:52:09.253 回答