kubernetes dns_error ai_generated partial

Error: Could not resolve host / nslookup failed in pod

ID: kubernetes/dns-resolution-failed-pod

Also available as: JSON · Markdown
82%Fix Rate
85%Confidence
50Evidence
2023-01-01First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
8 active

Root Cause

Pod can't resolve DNS. CoreDNS issue, network policy blocking, or service doesn't exist.

generic

Workarounds

  1. 92% success Check if CoreDNS pods are running: kubectl get pods -n kube-system -l k8s-app=kube-dns
    kubectl get pods -n kube-system -l k8s-app=kube-dns

    Sources: https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/

  2. 90% success Test DNS from inside the pod: kubectl exec <pod> -- nslookup <service-name>
    kubectl exec <pod> -- nslookup <service-name>

    Sources: https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/

  3. 88% success Use FQDN: service-name.namespace.svc.cluster.local for cross-namespace access
    service-name.namespace.svc.cluster.local for cross-namespace access

    Sources: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/

Dead Ends

Common approaches that don't work:

  1. Hardcode IP addresses in the application 80% fail

    IPs change — services are designed to be accessed by name

  2. Restart the pod 65% fail

    If CoreDNS is broken, restarting the pod won't help

Error Chain

Frequently confused with: