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-systemCheck the CoreDNS Pods
kubectl get pods -n kube-system -l k8s-app=kube-dnsCheck Logs for CoreDNS
kubectl logs -n kube-system -l k8s-app=kube-dnsExecute the following command to restart the CoreDNS deployment
kubectl rollout restart deployment coredns -n kube-systemUsing Lens UI
Alternatively, if you're using the Lens UI:
Navigate to the kube-system namespace
Find the CoreDNS pods
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.