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 {
errors
health
hosts {
指定的ip地址 要解析的域名
fallthrough
}
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
upstream
fallthrough in-addr.arpa ip6.arpa
}
prometheus :9153
forward . /etc/resolv.conf
cache 30
loop
reload
loadbalance
}
修改保存后,需要重启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启动报错)