0

使用宿主网络的 Kubernetes pod 是否可以通过服务名称和服务端口(包括 CoreDNS 的使用)直接向 Service 资源发送请求?还是我必须通过主机网络上的 nodePort 公开服务?

4

1 回答 1

1

如果您希望 pod 直接向服务资源发送请求,则必须将 pod 更改dnsPolicyClusterFirstWithHostNet. 它应该明确地用于运行hostNetwork: true. 这样,它将使用集群 DNS 并位于主机网络中。

您可以在/etc/resolv.conf文件中检查它。当您使用dnsPolicy: ClusterFirst此文件时,该文件由 pod 继承并使用主机的 DNS 解析器。当你设置dnsPolicy: ClusterFirstWithHostNet它时,它会将 DNS 解析器更改为集群的 DNS。

于 2020-01-15T11:52:09.253 回答