We are noticing long delays resolving DNS on our Kubernetes cluster. I believe kube-dns has gotten into some sort of stuck state, as killing the kube-dns pods appears to resolve the issue. I think it got disconnected from the API server somehow, possibly during an automatic cluster upgrade? kube-dns logs include lots of “streamwatcher.go:111] Unexpected EOF during watch stream event decoding: unexpected EOF”. I filed an issue with kubernetes/dns (https://github.com/kubernetes/dns/issues/640) with more details.
In the meantime, what steps can I take to fix this issue? Killing the kube-dns pods is only a temporary solution. Would moving to Cloud DNS fix this issue?
GKE cluster version: 1.28.10-gke.1075001
I tried making a request to a service from within another pod on the same kubernetes cluster. I expected that using the DNS address would be approximately as fast as using the IP address. Instead, it was multiple seconds slower.
/app # time curl --location '<service>.<namespace>.svc.cluster.local:443/api/v1/ping'
pong
real 0m 7.52s
user 0m 0.00s
sys 0m 0.00s
/app # time curl --location '<IP>:443/api/v1/ping'
pong
real 0m 0.00s
user 0m 0.00s
sys 0m 0.00s
Lee is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
1