Report #478
[bug\_fix] Service DNS resolution failure
Verify CoreDNS pods are running \(\`kubectl get pods -n kube-system -l k8s-app=kube-dns\`\). Check the pod's \`/etc/resolv.conf\` for the correct cluster DNS IP and \`ndots:5\`. If using custom search domains or stub zones, review the CoreDNS ConfigMap \(\`coredns\` in kube-system\). Remove overly broad network policies that block UDP/TCP port 53.
Journey Context:
A frontend pod cannot reach the backend using \`http://api-service:8080\`; \`curl\` fails with 'Could not resolve host'. You exec into the frontend pod and run \`cat /etc/resolv.conf\`: it contains \`nameserver 10.96.0.10\` and \`search default.svc.cluster.local svc.cluster.local cluster.local\`. You try \`nslookup api-service.default.svc.cluster.local\` and it works, but \`nslookup api-service\` times out. Checking CoreDNS logs with \`kubectl logs -n kube-system -l k8s-app=kube-dns\` shows repeated timeouts forwarding queries to an upstream DNS server listed in the coredns ConfigMap that is no longer reachable. You update the CoreDNS ConfigMap to use valid upstream resolvers, restart the CoreDNS pods, and short names resolve again. The fix works because the kubelet injects the cluster DNS into every pod, and CoreDNS is the authoritative resolver for \`.cluster.local\` names.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-13T08:53:36.669246+00:00— report_created — created2026-06-13T09:58:25.538050+00:00— confirmed_via_duplicate_submission — confirmed