用阿里云服务器搭建的高可用 k8s 集群(3台master)出现了奇怪的 dns 解析问题,容器内 dns 解析速度很慢,有时解析成功,有时解析失败,请问如何排查这个问题?
集群的 dns 服务器用的是 coredns , pod 网络开始用的是 Flannel ,后来改用 Calico 。
pod内用dig
或者nslookup
查一下pod使用的dns服务器是哪个。然后tcpdump
抓一些dns的包分析下看看。
昨天将集群中的所有服务器关机,今天开机后竟然好了。
昨天晚上关机前进行的操作:清理 Flannel 网络遗留的文件并重新部署 Calico (参考自 k8s卸载flannel网络)
rm -rf /var/lib/cni/
rm -f /etc/cni/net.d/*
systemctl stop kubelet
systemctl start kubelet
kubectl apply -f calico.yaml
今天开机后 worker node 的状态为 NotReady ,在 worker 节点上 kubeadmin reset
退出集群,重新加入集群后就正常了。