异常情况:集群是用kubespray部署的4个worknode,coredns默认部署2个deployment。今天发现部署了coredns的node上的pod正常解析内部域名,而另外2个未运行coredns的node却无法解析。
配置文件:
下图中我们看到coredns2个pod分别在node1与node2上,只要分配到这2节点上的deployment都可以正常解析。
其他节点无法解析:
处理过程:
正常来说所有的pod都是通过coredns来进行集群内域名解析的,我也搞不清楚为啥其他两个node没有跑coredns则就无法解析后面再研究。所以我临时的解决方法是扩容coredns让每个node都跑。
1、修改 ConfigMap 中的 dns-autoscaler(coredns自动扩容保证高可用)
kubectl edit configmap dns-autoscaler --namespace=kube-system
2、修改key:linear
公式
replicas = max( ceil( cores × 1/coresPerReplica ) , ceil( nodes × 1/nodesPerReplica ) )
手机扫一扫
移动阅读更方便
你可能感兴趣的文章