Kubernetes 中的 hostNetwork 是什么?

问题描述 投票:0回答:1

您能简单总结一下以下两个定义的作用以及何时应该使用它们吗?

spec: hostNetwork: true dnsPolicy: ClusterFirstWithHostNet

我对 Kubernetesst 中的网络没有足够的了解,我发现的文章对我来说无法理解。

kubernetes dns host kubernetes-networking
1个回答
0
投票

如有疑问,您可以随时使用

explain
命令:

kubectl explain pod.spec.hostNetwork
KIND:       Pod
VERSION:    v1

FIELD: hostNetwork <boolean>

DESCRIPTION:
    Host networking requested for this pod. Use the host's network namespace. If
    this option is set, the ports that will be used must be specified. Default
    to false.

此命名空间是网络命名空间,而不是 Kubernetes 命名空间。当 Pod 被调度到节点上时,它们会从主机获得一个新的隔离网络命名空间。如果您的 Pod 特别需要特权主机网络访问,那么您需要此选项。

dnsPolicy: ClusterFirstWithHostNet

上述 Pod 设置意味着您需要像普通 Pod 一样进行集群 DNS 解析(通过 CoreDNS),即使您设置了

hostNetwork: true
(未在主机网络命名空间中运行的 Pod)。如果不设置,Pod 将使用主机的 DNS 配置进行 DNS 解析(不能用于解析 k8s 服务端点)。

检查 k8s 文档中的 DNS 策略部分

© www.soinside.com 2019 - 2024. All rights reserved.