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 ) )

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM