问题描述:k8s创建完毕后,1.18版本集群内pod无法解析(内外)域名
排错和方案:通过rancher提供的测试脚本定位到问题为coredns,进而发现是kube-proxy转发coredns功能出错,查阅大量资料,发现kube-proxy1.18版本无法适配Linux3.1内核。此问题为k8s1.18特有。降低kube-proxy版本或升级linux内核(升级内核需重启)可解决。
总结:善于使用rancher脚本,可以在集群创建初期测试网络连通性。busybox可作为常规排错pod,多多使用。
rancher提供脚本测试dns如下(参考DNS章节提供的脚本,测试定位问题)
http://docs.rancher.cn/docs/rancher2.5/troubleshooting/dns/_index
降低版本最终解决
https://codeleading.com/article/31405003699/
kubectl -n kube-system set image daemonset/kube-proxy *=registry.aliyuncs.com/k8sxio/kube-proxy:v1.17.6