使用主机网络的Kubernetes pod可以通过使用服务名称和服务端口(包括对CoreDNS的使用)将请求直接发送到服务资源吗?还是我必须通过主机网络上的nodePort公开服务?
[如果您希望Pod将请求直接发送到服务资源,则必须将Pod的dnsPolicy
更改为ClusterFirstWithHostNet
。它应明确用于以ClusterFirstWithHostNet
运行的Pod。这样,它将使用群集DNS,并将位于主机网络中。
您可以在hostNetwork: true
文件中进行检查。使用/etc/resolv.conf
时,此文件将由pod继承,并使用主机的DNS解析器。设置为dnsPolicy: ClusterFirst
时,它将DNS解析器更改为群集的DNS。