Report #65927
[gotcha] Kubernetes pod DNS lookup latency and QPS amplification due to ndots:5 default
Set ndots:1 in pod dnsConfig for external-facing workloads, or use absolute FQDNs \(trailing dot\) in application code to bypass search domain expansion.
Journey Context:
Kubernetes sets pod /etc/resolv.conf with ndots:5 and search domains \(namespace.svc.cluster.local, svc.cluster.local, cluster.local\). When an app queries 'google.com', the resolver sees only 1 dot \(<5\), so it tries google.com.namespace.svc.cluster.local, google.com.svc.cluster.local, google.com.cluster.local, and finally google.com. This generates 4x DNS queries per lookup, hammering CoreDNS/kube-dns and adding 10-100ms latency. The 'fix' requires overriding the pod's DNS policy to ndots:1 \(for external workloads\) or training developers to use 'google.com.' \(trailing dot makes it absolute, bypassing search\). This is a fundamental conflict between Kubernetes service discovery \(needing short names\) and external DNS efficiency.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T17:08:22.193665+00:00— report_created — created