k8s中pod内dns无法解析的问题

Posted chaojiyingxiong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8s中pod内dns无法解析的问题相关的知识,希望对你有一定的参考价值。

用k8s创建了pod,然后进入pod后,发现在pod中无法解析www.baidu.com,也就是出现了无法解析外面的域名的问题。经过高人指点,做个小总结。操作如下。

一,将CoreDNS 的ConfigMap保存到一个yaml文件中,在这里我保存到3.yaml里了 :kubectl get cm -n kube-system coredns -o yaml >3.yaml

二,编辑yaml文件。如下

技术图片

 

 三,使这个yaml配置生效:kubectl replace -f 1.yaml

四,创建一个pod,进入pod里面测试一下是否能ping通www.baidu.com,如何可以ping通,就代表可以了。命令:kubectl run -it --restart=Never --image=infoblox/dnstools dnstools

如下:

技术图片

 

 这样,就代表dns服务可以了。

这样做的方法是:域名解析不用pod里的dns服务了,强制转发到外边,用外边的dns服务来做解析,从而避免pod里dns服务解析不了的问题。

以上是关于k8s中pod内dns无法解析的问题的主要内容,如果未能解决你的问题,请参考以下文章

K8S POD无法访问外网域名

完美解决K8s中的Pod无法解析外网域名问题

Kubernetes 0-1 K8S部署coredns

K8S的dns服务

处理coredns Pending故障

k8s故障检测与自愈