Report #2903
[bug\_fix] Service DNS resolution failure
Check that CoreDNS pods are running \(\`kubectl get pods -n kube-system -l k8s-app=kube-dns\`\), inspect the Pod's \`/etc/resolv.conf\` for the correct cluster DNS IP and search domains, use fully-qualified names such as \`my-svc.my-ns.svc.cluster.local.\` to bypass \`ndots:5\` ambiguity, and verify that NetworkPolicies allow UDP/TCP traffic to port 53.
Journey Context:
A microservice could not reach \`auth-service\` by short name; \`nslookup auth-service\` from inside the client Pod returned \`NXDOMAIN\`. Inside the Pod, \`/etc/resolv.conf\` had \`search default.svc.cluster.local svc.cluster.local cluster.local\` and \`options ndots:5\`, which meant any name with fewer than five dots was being expanded through the search list. The real problem turned out to be that CoreDNS was in a CrashLoopBackOff because a bad Corefile had been edited earlier. Once CoreDNS was healthy again and I switched the application to the fully-qualified \`auth-service.auth.svc.cluster.local.\`, DNS resolved reliably. The fix works because CoreDNS is the authoritative resolver for \`.svc.cluster.local\`; if it is unhealthy or the query is misinterpreted by the resolver, internal names fail.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T14:35:04.123889+00:00— report_created — created