在 Kubernetes 集群中,修改 service-cluster-ip-range 后,CoreDNS 的服务 IP 重新分配了,但是 /etc/resolv.conf 中的 nameserver 没有指向新的 CoreDNS IP。
$ kubectl exec -it busybox -- cat /etc/resolv.conf
search default.svc.cluster.local svc.cluster.local cluster.local
nameserver 10.96.0.10
options ndots:5
如果 resolv.conf 未更新,可能是 kubelet 的参数未指向新 IP,修改/var/lib/kubelet/config.yaml中的clusterDNS字段为CoreDNS IP,重启kubelet
systemctl restart kubelet
systemctl status kubelet
journalctl -u kubelet --since "1 hour ago" -f
重启完成后,查看/etc/resolv.conf,发现nameserver更新成功
kubectl exec -it busybox-test-y -- cat /etc/resolv.conf
kubectl exec -it busybox -- cat /etc/hosts
kubectl exec -it busybox -- nslookup kubernetes.default
kubectl exec -it busybox -- nslookup kubernetes.default.svc.cluster.local