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