Report #631
[bug\_fix] DNS resolution failure for cluster services
Verify CoreDNS is running: \`kubectl get pods -n kube-system -l k8s-app=kube-dns\`. Start a debug pod and run \`nslookup kubernetes.default\` and \`nslookup my-svc.my-ns.svc.cluster.local\`. If short names fail, inspect \`/etc/resolv.conf\` for \`ndots:5\`; use the fully qualified domain name ending in a dot \(e.g., \`my-svc.my-ns.svc.cluster.local.\`\) or add \`dnsConfig: \{ ndots: 2 \}\` to the pod spec. Check NetworkPolicies that may block UDP/TCP port 53.
Journey Context:
A service in namespace \`payments\` calls \`http://invoice-svc\` and gets \`dial tcp: lookup invoice-svc on 10.96.0.10:53: no such host\`. You exec into a debug pod and \`nslookup invoice-svc.payments.svc.cluster.local.\` works, but \`nslookup invoice-svc\` queries an external DNS because the search list plus \`ndots:5\` makes the resolver treat the short name as an absolute domain. You change the client to use the FQDN and the cross-namespace calls succeed. CoreDNS itself was healthy; the issue was resolver behavior inside the pod.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-13T10:54:42.058566+00:00— report_created — created