Report #97759
[bug\_fix] Service DNS resolution failure
Verify CoreDNS pods are running with \`kubectl get pods -n kube-system -l k8s-app=kube-dns\`. Test resolution with \`kubectl run -it --rm debug --image=nicolaka/netshoot --restart=Never -- nslookup ..svc.cluster.local\`. If external names fail, check \`/etc/resolv.conf\` for \`ndots:5\` and use the fully qualified domain name or a trailing dot. Check NetworkPolicies that may block UDP/TCP port 53 to the cluster DNS Service.
Journey Context:
A pod logs 'connection refused' to \`http://payment-service\` even though the Service exists. Inside the pod, \`nslookup payment-service\` times out. You find two of three CoreDNS pods are \`CrashLoopBackOff\` after a node upgrade, so DNS queries are dropped. After scaling CoreDNS back up and adding a PodDisruptionBudget, resolution works again. In another case the pods were healthy but a NetworkPolicy blocked UDP 53; allowing egress to the kube-dns service fixed it. DNS works because CoreDNS is the cluster's authoritative resolver for \`.cluster.local\`; if it is unreachable or traffic is blocked, pods cannot translate service names to ClusterIPs.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-26T04:39:03.614383+00:00— report_created — created