CoreDNS解析異常記錄

渣渣輝發表於2020-04-22

CoreDNS解析異常記錄 

異常情況:叢集是用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

  • coresPerReplica: 按照核心數目來計算副本集(replicas = cores / coresPerReplica)
  • nodesPerReplica:按照節點數目來計算副本集(replicas = nodes / nodesPerReplica)
  • min:最小副本數(預設為2,我先有4個節點改為4)
  • max:最大副本數
  • preventSinglePointFailure:防止單點故障

公式

replicas = max( ceil( cores × 1/coresPerReplica ) , ceil( nodes × 1/nodesPerReplica ) )

 

 

 

相關文章