问题:
k8s集群中,某台node节点上,dns解析失败,进入pod中 查看/etc/reslove.conf 中nameserver和kube-dns不一致,如图:
pod中如下:
kube-dns如下:
造成这种现象的原因,可能是重装k8s集群的时候,这台node节点上kubelet的启动参数,用的是原来集群的配置文件,也就是/etc/systemd/system/kubelet.service.d/10-kubeadm.conf,这个文件是原来集群的配置文件,其中kubelet的启动参数里--cluster-dns用的是原先的ip,所以导致dns解析失败。
解决方案:
一,查看kubelet的启动参数:ps -ef |grep kubelet
二,修改/etc/systemd/system/kubelet.service.d/10-kubeadm.conf 文件中的--cluster-dns ,使它和kube-dns的ip一致:
- sudo vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
- sudo cat /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
三,重启kubelet:
- sudo systemctl stop kubelet
- sudo systemctl daemon-reload
- sudo systemctl start kubelet
四,查看kubelet启动参数是否生效,生效后,dns解析问题就解决了
TRANSLATE with