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

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

二,编辑yaml文件。如下

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

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

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

如下:

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

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

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

05-06 20:30