更新时间:2024-06-21 gmt 08:00
如何设置容器内的dns策略?-九游平台
cce支持通过dnspolicy标记每个pod配置不同的dns策略:
- none:表示空的dns设置,这种方式一般用于想要自定义dns配置的场景,而且,往往需要和dnsconfig配合一起使用达到自定义dns的目的。
- default:从运行所在的节点继承名称解析配置。即容器的域名解析文件使用kubelet的“--resolv-conf”参数指向的域名解析文件(cce集群在该配置下对接云上dns)。
- clusterfirst:这种方式表示pod内的dns使用集群中配置的dns服务,简单来说,就是使用kubernetes中kubedns或coredns服务进行域名解析。如果解析不成功,才会使用宿主机的dns配置进行解析。
如果未明确指定dnspolicy,则默认使用“clusterfirst”:
- 如果将dnspolicy设置为“default”,则名称解析配置将从运行pod的工作节点继承。
- 如果将dnspolicy设置为“clusterfirst”,则dns查询将发送到kube-dns服务。
对于以配置的集群域后缀为根的域的查询将由kube-dns服务应答。所有其他查询(例如,www.kubernetes.io)将被转发到从节点继承的上游名称服务器。在此功能之前,通常通过使用自定义解析程序替换上游dns来引入存根域。但是,这导致自定义解析程序本身成为dns解析的关键路径,其中可伸缩性和可用性问题可能导致集群丢失dns功能。此特性允许用户在不接管整个解析路径的情况下引入自定义解析。
如果某个工作负载不需要使用集群内的coredns,可以使用kubectl命令或api将此策略设置为dnspolicy: default。
相关文档
意见反馈
文档内容是否对您有帮助?
提交成功!非常感谢您的反馈,我们会继续努力做到更好!
您可在查看反馈及问题处理状态。
系统繁忙,请稍后重试
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨