Kubernetes DNS no longer resolving names Kubernetes DNS no longer resolving names kubernetes kubernetes

Kubernetes DNS no longer resolving names


I was able to reproduce the scenario.

$ kubectl exec -it busybox -n dev -- nslookup kubernetes.default    Server:         10.96.0.10Address:        10.96.0.10:53** server can't find kubernetes.default: NXDOMAIN*** Can't find kubernetes.default: No answercommand terminated with exit code 1$ kubectl exec -it busybox -n dev -- nslookup google.com        Server:         10.96.0.10Address:        10.96.0.10:53Non-authoritative answer:Name:   google.comAddress: 172.217.168.238*** Can't find google.com: No answer$ kubectl exec -it busybox -n dev -- ping google.com    PING google.com (172.217.168.238): 56 data bytes64 bytes from 172.217.168.238: seq=0 ttl=52 time=18.425 ms64 bytes from 172.217.168.238: seq=1 ttl=52 time=27.176 ms64 bytes from 172.217.168.238: seq=2 ttl=52 time=18.603 ms64 bytes from 172.217.168.238: seq=3 ttl=52 time=15.445 ms64 bytes from 172.217.168.238: seq=4 ttl=52 time=16.492 ms64 bytes from 172.217.168.238: seq=5 ttl=52 time=19.294 ms^C--- google.com ping statistics ---6 packets transmitted, 6 packets received, 0% packet lossround-trip min/avg/max = 15.445/19.239/27.176 ms

But I followed the same steps using dnsutils image. Which has mentioned in Kubernetes doc. It gives a positive response.

$ kubectl exec -ti dnsutils -n dev -- nslookup kubernetes.default   Server:         10.96.0.10Address:        10.96.0.10#53Name:   kubernetes.default.svc.cluster.localAddress: 10.96.0.1$ kubectl exec -ti dnsutils -n dev -- nslookup google.com        Server:         10.96.0.10Address:        10.96.0.10#53Non-authoritative answer:Name:   google.comAddress: 172.217.168.238Name:   google.comAddress: 2a00:1450:400e:80c::200e

As per my understanding, something wrong with the dnsutils in busybox container here. That's why we're getting this DNS resolve error.