EKS - CoreDNS - Debug - Restart

Last updated: July 24, 2025

How to Debug or Restart CoreDNS in Kubernetes

If your applications are having connectivity issues after powering on hosts in your Kubernetes cluster, particularly with services unable to connect to databases or other internal services, you may need to restart the CoreDNS deployment.

What is CoreDNS?

CoreDNS is a DNS server that runs inside your Kubernetes cluster. It provides name resolution for all the services and pods in the cluster. It acts as the Kubernetes DNS provider, replacing the older kube-dns. CoreDNS runs as a Deployment in the kube-system namespace

Use the below command to see the current status and logs for CoreDNS.

Using kubectl

Check the CoreDNS Deployment Status

kubectl get deployment coredns -n kube-system

Check the CoreDNS Pods

kubectl get pods -n kube-system -l k8s-app=kube-dns

Check Logs for CoreDNS

kubectl logs -n kube-system -l k8s-app=kube-dns

Execute the following command to restart the CoreDNS deployment

kubectl rollout restart deployment coredns -n kube-system

Using Lens UI

Alternatively, if you're using the Lens UI:

  1. Navigate to the kube-system namespace

  2. Find the CoreDNS pods

  3. Delete the CoreDNS pods to trigger a restart

Note: After restarting CoreDNS, your applications should be able to resolve and connect to internal services properly again.