问题描述:本环境k8s版本为:v1.22.2。安装NodeLocalDNSCache服务是为了加快各节点POD的DNS解析速度,但是由于某些原因需要删除DNSCache服务。使用部署NodeLocalDNSCache的yaml文件删除DnsCache相关的POD后,新创建的POD仍会获取之前配置的NodeLocalDNSCache的地址。结果删除了NodeLocalDNSCache相关的POD后,无法正常解析域名。问题现象:删除NodeLocalDNSCache相关的POD后,仍然获取到169.254.20.10地址,导致无法正常解析集群中的域名。root@master01:~#kubectlrun--iamge=busyboxbusybox--tail-f/etc/hostsroot@master01:~#kubectlexec-itbusybox--/bin/sh/#cat/etc/resolv.confnameserver169.254。20.10searchdefault.svc.cluster.localsvc.cluster.localcluster.localoptionsndots:5解决方法:查阅资料发现在集群中新建POD获取的DNS地址由kubelet控制在每个节点节点。修改各节点kubelet相关配置文件(kubelet配置文件位置如图)确定coredns服务地址为10.100.0.2.root@master01:~#kubectlgetsvc-ANAMESPACENAMETYPECLUSTER-IPEXTERNAL-IPPORT(S)AGEdefaultkubernetesClusterIP10.100.0.1
