Report #1033
[bug\_fix] Service DNS name does not resolve from inside the cluster
Run nslookup ..svc.cluster.local from a debug pod. Verify the Service exists with kubectl get svc and that you use the namespace-qualified name for cross-namespace lookups. For external names use a trailing dot to bypass the ndots:5 search list. If all internal names fail, check that CoreDNS pods are Running, check the pod's /etc/resolv.conf, and verify NetworkPolicies allow UDP/TCP port 53.
Journey Context:
A microservice logs connection refused to api-service. From a debug pod, curl api-service fails with Could not resolve host. You try nslookup api-service and it returns NXDOMAIN, but nslookup api-service.production.svc.cluster.local works. The app is in namespace production but another team told you short names resolve anywhere. You update the client to use the FQDN. Later, another namespace sees no internal resolution at all; kubectl get pods -n kube-system shows CoreDNS is CrashLoopBackOff because a custom Corefile has a syntax error. Restoring the ConfigMap fixes cluster-wide DNS. The fix works because cluster DNS uses search domains and a local resolver; short names only resolve within the same namespace, and CoreDNS must be healthy for any .svc resolution.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-13T16:54:42.181444+00:00— report_created — created