当前位置: 首页> 汽车> 新车 > k8s中的pod域名解析失败定位案例

k8s中的pod域名解析失败定位案例

时间:2025/8/26 7:16:08来源:https://blog.csdn.net/pcj_888/article/details/139632542 浏览次数: 0次

问题描述

我在k8s中启动了一个Host网络模式的pod,这个pod的域名解析失败了。

定位步骤

  • kubectl exec -it [pod_name] -- bash进入pod后台,查看/etc/resolv.conf,发现nameserver配的有问题。这里我预期的nameserver应该使用宿主机的,但实际上用的是coredns的。
    在这里插入图片描述
  • 再查看pod的dnsPolicy,发现dns策略为ClusterFirstWithHostNet,这个策略使得Host模式的Pod仍然使用k8s的dns;我需要使用宿主机的dns,所以需要把这个dns策略改为’Default’
kubectl -n sg-fps get deploy -o yaml | grep dnsPolicydnsPolicy: ClusterFirstWithHostNet
  • 通过kubectl -n kube-system get cm/coredns -o yaml查看coredns配置,发现coredns里配置的dnsserver 为10.204.16.1,这个IP我也配错了,再加上之前pod里配的策略是ClusterFirstWithHostNet,这两个错误同时出现,导致pod域名解析失败。
    在这里插入图片描述

解决方法

把Pod的dnsPolicy改成’Default’,k8s的四种DNS策略参考:link

关键字:k8s中的pod域名解析失败定位案例

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: