异常状况:集群是用kubespray部署的4个worknode,coredns默认部署2个deployment。今天发现部署了coredns的node上的pod正常解析内部域名,而另外2个未运行coredns的node却没法解析。node
配置文件:spa
下图中咱们看到coredns2个pod分别在node1与node2上,只要分配到这2节点上的deployment均可以正常解析。blog
其余节点没法解析:dns
处理过程:部署
正常来讲全部的pod都是经过coredns来进行集群内域名解析的,我也搞不清楚为啥其余两个node没有跑coredns则就没法解析后面再研究。因此我临时的解决方法是扩容coredns让每一个node都跑。域名
一、修改 ConfigMap 中的 dns-autoscaler(coredns自动扩容保证高可用)it
kubectl edit configmap dns-autoscaler --namespace=kube-system
二、修改key:lineario
公式event
replicas = max( ceil( cores × 1/coresPerReplica ) , ceil( nodes × 1/nodesPerReplica ) )