前言:
参考连接 https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/服务器
Pod dnsPolicy的常见配置形式:
"Default": Pod从运行所在的节点继承名称解析配置。
"ClusterFirst": 与配置的群集域后缀不匹配的任何DNS查询(例如 “www.kubernetes.io” )都将转发到从节点继承的上游名称服务器。 群集管理员可能配置了额外的存根域和上游DNS服务器。
"ClusterFirstWithHostNet": 对于与 hostNetwork 一块儿运行的 Pod,应显式设置其DNS策略 "ClusterFirstWithHostNet"。
"None": 它容许 Pod 忽略 Kubernetes 环境中的 DN S设置。 应该使用 Pod Spec 中的 dnsConfig 字段提供全部 DNS 设置。ide
注意: "Default" 不是默认的 DNS 策略。 若是未明确指定 dnsPolicy
,则使用 “ClusterFirst”。code
Pod 的 DNS 设定
Pod 的 DNS 配置可以让用户对 Pod 的 DNS 设置进行更多控制。
dnsConfig 字段是可选的,它能够与任何 dnsPolicy 设置一块儿使用。 可是,当 Pod 的 dnsPolicy 设置为 "None" 时,必须指定 dnsConfig 字段。
用户能够在 dnsConfig 字段中指定如下属性:
nameservers: 将用做于 Pod 的 DNS 服务器的 IP 地址列表。最多能够指定3个 IP 地址。 当 Pod 的 dnsPolicy 设置为 "None" 时,列表必须至少包含一个IP地址,不然此属性是可选的。列出的服务器将合并到从指定的 DNS 策略生成的基本名称服务器,并删除重复的地址。
searches: 用于在 Pod 中查找主机名的 DNS 搜索域的列表。此属性是可选的。指定后,提供的列表将合并到根据所选 DNS 策略生成的基本搜索域名中。 重复的域名将被删除。 Kubernetes最多容许6个搜索域。
options: 对象的可选列表,其中每一个对象可能具备 name 属性(必需)和 value 属性(可选)。 此属性中的内容将合并到从指定的 DNS 策略生成的选项。 重复的条目将被删除server