How to fix DNS service high CPU usage, kube-dns consuming CPU in Kubernetes
KubernetesINTERMEDIATEMEDIUMUpdated Dec 6, 2025ยท 94 views
DNS service overloaded causing high CPU usage. Fix by scaling DNS pods, tuning cache settings, or switching to CoreDNS.
Quick fix
Fixes DNS_HIGH_CPU
kubectl top pod -n kube-system -l k8s-app=kube-dns- Check DNS pod CPU
- Scale DNS replicas
- Increase DNS pod resources
- Switch to CoreDNS
kubernetes โ error
kubectl top pod -n kube-system -l k8s-app=kube-dnsDNS service high CPU usage, kube-dns consuming CPU
What this error means
The DNS service (kube-dns with dnsmasq or CoreDNS) becomes a bottleneck when handling high query rates or misconfigured DNS policies.
Typical symptoms
- DNS pod CPU usage > 80%
- Slow DNS resolution cluster-wide
- DNS timeouts in pods
- API server slowness due to DNS lookups
Common causes
- Excessive DNS queries from pods
- Single-threaded dnsmasq hitting CPU limit
- Missing DNS caching in applications
- Noisy neighbor pods doing DNS lookups
How to fix "DNS service high CPU usage, kube-dns consuming CPU"
1Check DNS pod CPU
bash
kubectl top pod -n kube-system -l k8s-app=kube-dns2Scale DNS replicas
bash
kubectl scale deployment kube-dns --replicas=3 -n kube-system3Increase DNS pod resources
bash
kubectl edit deployment kube-dns -n kube-system
# Increase CPU requests and limits4Switch to CoreDNS
CoreDNS is more efficient than kube-dns.
5Monitor DNS performance
Track query rates and latency.
Advanced notes
CoreDNS supports concurrency much better than dnsmasq.
Frequently asked questions
- What does "DNS_HIGH_CPU" mean?
- The DNS service (kube-dns with dnsmasq or CoreDNS) becomes a bottleneck when handling high query rates or misconfigured DNS policies.
- How do I fix "DNS_HIGH_CPU"?
- DNS service overloaded causing high CPU usage. Fix by scaling DNS pods, tuning cache settings, or switching to CoreDNS.
- What causes "DNS_HIGH_CPU"?
- Excessive DNS queries from pods Single-threaded dnsmasq hitting CPU limit Missing DNS caching in applications
- Is the "DNS_HIGH_CPU" error serious?
- It is a medium-severity error โ more of a blocker than a risk. The steps above resolve it.
Official resources & further reading
- ๐Kubernetes Official Documentation
- ๐Debugging DNS - Kubernetes Docs(Official Docs)