Не удается разрешить DNS изнутри модуля k8s

В dnsutils pod exec ping stackoverflow.com

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

Файл /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

10.96.0.10 - это ip-адрес службы kube-dns:

[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

[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>

когда я меняю ip сервера имен на coredns ip. разрешить DNS в порядке.

/ # cat /etc/resolv.conf 
nameserver 10.244.0.14
#nameserver 10.96.0.10
search weika.svc.cluster.local svc.cluster.local cluster.local
options ndots:5
/ # ping stackoverflow.com
PING stackoverflow.com (151.101.65.69): 56 data bytes
64 bytes from 151.101.65.69: seq=0 ttl=49 time=100.497 ms
64 bytes from 151.101.65.69: seq=1 ttl=49 time=101.014 ms
64 bytes from 151.101.65.69: seq=2 ttl=49 time=100.462 ms
64 bytes from 151.101.65.69: seq=3 ttl=49 time=101.465 ms
64 bytes from 151.101.65.69: seq=4 ttl=49 time=100.318 ms
^C
--- stackoverflow.com ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 100.318/100.751/101.465 ms
/ # 

Почему это происходит?


person Minato    schedule 27.07.2020    source источник
comment
Есть ли у вас какие-либо применяемые сетевые политики? Можете ли вы проверить конечные точки службы kube-dns (kubectl get endpoints kube-dns --namespace=kube-system -o wide)?   -  person CLNRMN    schedule 27.07.2020
comment
не могли бы вы поделиться или проверить журналы kubectl logs -f pod / corednspodname -n kube-system   -  person amit23comp    schedule 27.07.2020


Ответы (1)


Вы не упомянули, как был установлен кубернетес. Вы должны перезапустить стручки coredns, используя команду ниже.

kubectl -n kube-system rollout restart deployment coredns
person Arghya Sadhu    schedule 27.07.2020