Report #4435
[bug\_fix] Service DNS resolution failure
Use the fully-qualified service name \`..svc.cluster.local\`, especially when calling across namespaces. Verify the Service exists with \`kubectl get svc -n \` and has Endpoints with \`kubectl get endpoints\`. Check that CoreDNS \(or kube-dns\) pods are running in \`kube-system\` with \`kubectl get pods -n kube-system -l k8s-app=kube-dns\`, and confirm network policies/firewall allow DNS traffic on UDP/TCP port 53.
Journey Context:
A frontend pod in namespace \`web\` could not reach the backend by curling \`http://backend:8080\`. An \`nslookup backend\` from a debug pod returned \`NXDOMAIN\`. The frontend and backend were in different namespaces; short names only resolve within the caller's namespace by default. Switching the URL to \`http://backend.api.svc.cluster.local:8080\` resolved immediately. In another incident the cluster had DNS pods stuck \`Pending\` because of an untainted new node; once CoreDNS scheduled, DNS recovered.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T19:29:34.929353+00:00— report_created — created