異常狀況:集羣是用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 ) )