deployment dm中设置dns
来源:原创
时间:2021-11-11
作者:脚本小站
分类:Linux
Pod的DNS策略:
DNS 策略可以逐个 Pod 来设定。目前 Kubernetes 支持以下特定 Pod 的 DNS 策略。 这些策略可以在 Pod 规约中的 dnsPolicy 字段设置。
Default:
Pod 从运行所在的节点继承名称解析配置。
ClusterFirst:
与配置的集群域后缀不匹配的任何 DNS 查询(例如 "www.kubernetes.io") 都将转发到从节点继承的上游名称服务器。集群管理员可能配置了额外的存根域和上游 DNS 服务器。
ClusterFirstWithHostNet:
对于以 hostNetwork 方式运行的 Pod,应显式设置其 DNS 策略 ClusterFirstWithHostNet。
None:
此设置允许 Pod 忽略 Kubernetes 环境中的 DNS 设置。Pod 会使用其 dnsConfig 字段 所提供的 DNS 设置。
示例:
apiVersion: v1 kind: Pod metadata: name: alpine namespace: default spec: containers: - image: alpine command: - sleep - "10000" imagePullPolicy: Always name: alpine dnsPolicy: None # 忽略k8s的dns设置,使用自定义设置 dnsConfig: nameservers: - 114.114.114.114 # DNS地址,不能光设置个地址,后面的search也要带上 - 223.5.5.5 searches: - default.svc.cluster.local - svc.cluster.local - cluster.local options: - name: ndots # 域名中包含点的个数比配置的ndots小就会追加search中的后缀来查找 value: "5"
修改coreDNS:
https://www.scriptjc.com/article/1008
在deployment中设置hosts解析:
https://www.scriptjc.com/article/1142
参考文章:
https://help.aliyun.com/document_detail/188179.html
ndots作用参考:
https://juejin.cn/post/6844903951393882125
CoreDNS的配置:
https://kubernetes.io/zh/docs/tasks/administer-cluster/dns-custom-nameservers/
Pod DNS策略:
https://kubernetes.io/zh/docs/concepts/services-networking/dns-pod-service/