Cluster information:
cluster communication via vpn interface.
Internet communication via default interface.
Kubernetes version:
Cloud being used: bare-metal
Installation method: kubeadm
Host OS: ubuntu 20.04
CNI and version: Weave 1.16
CRI and version: cri-o 1.21.2
Hi,
I’ve noticed that the DNS resolution inside my cluster doesn’t work.
A Nslookup command inside a container gives me the following error.
/ # nslookup kubernetes.default
;; connection timed out; no servers could be reached
The resolv.conf shows the correct dns service.
The nslookup from the node to coredns work for public entries but kubernetes.default gives me an error.
See coredns log:
[INFO] 10.85.0.1:34977 - 33664 "A IN a.co. udp 45 false 4096" NOERROR qr,rd,ra 301 0.01980966s
[INFO] 10.85.0.1:53066 - 6560 "A IN kubernetes.default. udp 59 false 4096" NXDOMAIN qr,rd,ra,ad 111 0.020894275s
The CoreDNS pod itself is reachable via the node but not from the container.
Putting a debugging pod into the coredns namespace did not fix the issue.
The logs for crio, coredns, kube-proxy and kubelet show no errors or suspicious lines.
I’ve already followed the “Debugging DNS Resolution” and “Debug Services” Guides which didn’t help.
I welcome any sort of help and advice.