Report #443
[bug\_fix] Service DNS resolution fails inside pods
Verify the Service exists and selectors match pod labels \(\`kubectl get endpoints \` should show pod IPs\). Check \`resolv.conf\` in the pod and ensure CoreDNS is running \(\`kubectl get pods -n kube-system -l k8s-app=kube-dns\`\). If using a custom cluster domain or stub domain, confirm it is configured in the kubelet and CoreDNS ConfigMap. For cross-namespace lookups, use the FQDN: \`servicename.namespace.svc.cluster.local\`.
Journey Context:
A pod logs \`dial tcp: lookup my-service on 10.96.0.10:53: no such host\`. You exec into the pod and \`nslookup my-service\` fails, but \`nslookup my-service.default.svc.cluster.local\` works. The application was using a short name across namespaces. After changing the client to the FQDN, resolution succeeds. In another incident, \`kubectl get endpoints\` was empty because the Service selector label was \`app: myapp\` while the pod label was \`app: my-app\`; fixing the selector restored endpoint population and DNS answers.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-13T07:56:43.566049+00:00— report_created — created