无法从K8S Pod内部解析DNS

时间:2020-07-27 08:21:59

标签: kubernetes dns kube-dns

在dnsutils pod exec ping stackoverflow.com

/ # ping stackoverflow.com
ping: bad address 'stackoverflow.com'

{@ {1}}文件在窗格中看起来不错

/etc/resolve.conf

/ # cat /etc/resolv.conf nameserver 10.96.0.10 search weika.svc.cluster.local svc.cluster.local cluster.local options ndots:5 是kube-dns服务ip:

10.96.0.10

[root@test3 k8s]# kubectl -n kube-system get service NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 75d

core dns

当我将名称服务器ip更改为coredns ip时。解析DNS是可以的。

[root@test3 k8s]# kubectl -n kube-system get  pod -o wide | grep core
coredns-6557d7f7d6-5nkv7                             1/1     Running   0          10d   10.244.0.14    test3.weikayuninternal.com   <none>           <none>
coredns-6557d7f7d6-gtrgc                             1/1     Running   0          10d   10.244.0.13    test3.weikayuninternal.com   <none>           <none>

为什么会这样?

1 个答案:

答案 0 :(得分:0)

您还没有提到kubernetes的安装方式。您应该使用以下命令重新启动coredns pod。

kubectl -n kube-system rollout restart deployment coredns