1.coredns可根據集群具體數量修改pod數,官方推薦比例為5/1,即有15臺服務器最好是3個pod。
2.coredns會繼承pod所在主機的dns解析,修改了主機的dns解析之后,coredns有一段時間的緩存,重啟coredns才會在集群內部立刻生效該解析。
3.集群內部的解析都是通過coredns進行解析的,配置外部域名解析到指定ip上時,可以修改configmap實現。
切記,以下操作會影響業務,需要在業務閑暇時間段操作
方式一:
在rancher上集群的system里面找到coredns的configmap:
點擊進行編輯
添加hosts內容:
參考格式如下:
.:53 {errorshealthhosts {指定的ip地址 要解析的域名fallthrough}kubernetes cluster.local in-addr.arpa ip6.arpa {pods insecureupstreamfallthrough in-addr.arpa ip6.arpa}prometheus :9153forward . /etc/resolv.confcache 30loopreloadloadbalance
}
修改保存后,需要重啟coredns。
方式二
在master服務器上執行命令,編輯coredns配置:
kubectl edit cm -n kube-system coredns
內容參考以上配置,保存后,查看coredns的pod信息,執行命令:
kubectl get pod -n kube-system |grep coredns
然后刪除所有上面獲取到的pod,即可,刪除命令參考如下:
kubectl get pods -n kube-system | grep coredns |awk ‘{print$1}’| xargs kubectl delete -n kube-system pods
最后再執行kubectl get pod -n kube-system |grep coredns命令查看pod是否為running狀態
(注意格式,格式不對會導致pod啟動報錯)