问题描述
在Kubelet配置文件中看到了一个名为clusterDNS
的标志,不清楚它指的是什么。他想知道clusterDNS
是否指的是VPC CIDR或任何子网CIDR。
解决方案
请注意以下操作注意版本差异及修改前做好备份。
方案1
clusterDNS
是Kubernetes集群中DNS服务器的地址(可能是CoreDNS,也可能是kube-dns)。
Kubernetes在集群中使用DNS服务器,以便Pod可以使用服务名称找到彼此。这就是”cluster DNS”服务器。每次创建服务时,它都会在DNS服务器中注册。
在Linux中,DNS服务器的配置文件是/etc/resolv.conf
。如果您想使用Google的公共DNS服务器(8.8.8.8),则/etc/resolv.conf
文件中有以下条目:nameserver 8.8.8.8
。
在Kubernetes中,工作节点上的kubelet进程配置每个Pod。配置过程的一部分是创建文件/etc/resolv.conf
并指定正确的DNS服务器。该服务器由clusterDNS
配置选项指定。
如何设置它(如果您甚至需要自己设置它)取决于您如何安装Kubernetes。它最终取决于您使用的CNI提供程序,以及您是使用”kubernetes the hard way”还是kubeadm
。
方案2
请注意以下操作注意版本差异及修改前做好备份。
根据您使用的网络提供程序不同,clusterDNS
的值可能会有所不同。例如,Weave默认使用10.32.0.0/12网络。如果您使用Weave,请保持不变。如果您使用其他网络提供程序,请参阅其文档以获取正确的值。
正文完