Troubleshooting CoreDNS Add-on

Troubleshoot CoreDNS issues in PCD-K clusters effectively. Follow our guide for checking pod status, error states, and DNS service endpoints in Kubernetes. Ensure optimal DNS resolution and contact Pl

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

  1. 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
  1. 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>
  1. Get more information on the failure from pod logs using command:

$ kubectl logs <pod-name> -n <kube-system>
  1. Validate if the kube-dns service is showing the correct CoreDNS pods endpoints using command:

$ kubectl describe svc -n kube-system kube-dns
  1. SSH to a worker node and check its _/etc/resolv.conf_. Are the upstream DNS servers correct and reachable from the node?

  2. 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.

Last updated