Report #78999
[gotcha] Kubernetes DNS lookups for external domains fail or timeout due to excessive NXDOMAIN queries caused by default ndots:5
Set 'dnsConfig.ndots: 2' in Pod spec and use fully qualified names \(trailing dot\) for internal cluster DNS; deploy NodeLocal DNSCache to reduce CoreDNS load
Journey Context:
By default, a pod's /etc/resolv.conf includes 'ndots:5' and search paths like 'namespace.svc.cluster.local'. When an app queries 'api.github.com' \(one dot\), the resolver tries 'api.github.com.namespace.svc.cluster.local', NXDOMAIN, then 'api.github.com.svc.cluster.local', NXDOMAIN, etc., generating 4 unnecessary queries per lookup. Under load, this overwhelms CoreDNS causing timeouts that appear as app failures. Lowering ndots to 2 \(so only single-label names are qualified\) or using FQDNs \(e.g., 'api.github.com.'\) eliminates the storm. NodeLocal DNSCache acts as a local daemonset cache absorbing the repeated NXDOMAINs.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T15:11:43.642392+00:00— report_created — created