Troubleshooting CoreDNS Add-on
Problem
CoreDNS handles DNS resolution for PCD-K clusters. As a critical core add-on and the default DNS server in Kubernetes, broken CoreDNS functionality directly impacts DNS request resolution. When CoreDNS experiences such issues, here's a general guide on how to troubleshoot CoreDNS add-on problems.
Environment
- Private Cloud Director - v2025.4 and Higher.
- Kubernetes Cluster - 1.31.2 or Higher.
Procedure
- CoreDNS is deployed as a deployment in the
kube-system
namespace. Verify the pod status in the namespace using command:
$ kubectl get pods -n kube-system
- Review why these pods are in "
CrashLoopBackOff/OOMkilled/Pending/Error
" state, see events sections in below command output.
$ kubectl describe <pod-name> -n <calico-namespace>
- Get more information on the failure from pod logs using command:
$ kubectl logs <pod-name> -n <kube-system>
- Validate if the
kube-dns
service is showing the correct CoreDNS pods endpoints using command:
$ kubectl describe svc -n kube-system kube-dns
- SSH to a worker node and check its
_/etc/resolv.conf_
. Are the upstream DNS servers correct and reachable from the node? - If these steps prove insufficient to resolve the issue, kindly reach out to the Platform9 Support Team for additional assistance.
Most common causes
- The upstream DNS Server Unreachability, usually from
_/etc/resolv.conf_
of the worker node. - CoreDNS connectivity to the Kubernetes API server is down.
Was this page helpful?