How to fix The kubelet is not running in Kubernetes

KubernetesINTERMEDIATECRITICALUpdated Dec 6, 2025ยท 200 views

The kubelet service on a node is not running, preventing the node from being part of the cluster.

Quick fix

Fixes The kubelet is not running

sudo systemctl status kubelet
sudo journalctl -u kubelet -n 50 --no-pager
  1. Check kubelet service status
  2. Verify container runtime is running
  3. Start kubelet service
  4. Check kubelet logs for errors
kubernetes โ€” error
sudo systemctl status kubelet
sudo journalctl -u kubelet -n 50 --no-pager
The kubelet is not running

What this error means

Kubelet is the node agent that registers the node with the cluster and manages Pod lifecycle. If kubelet stops, the node becomes NotReady and cannot run workloads. This is often discovered during kubeadm join or when a node loses connectivity.

Typical symptoms

  • Node shows NotReady status in kubectl get nodes
  • Cannot join node to cluster (kubeadm join fails)
  • Pods on the node cannot start
  • Node appears disconnected from cluster
  • kubelet service is stopped or crashed
  • Journal shows kubelet process exit

Common causes

  1. kubelet service was not started or enabled
  2. kubelet crashed due to out-of-memory or other errors
  3. Container runtime (Docker, containerd) is not running
  4. Network connectivity issue preventing node registration
  5. Insufficient disk space preventing kubelet startup
  6. Configuration or certificate issues

How to fix "The kubelet is not running"

1Check kubelet service status

On the affected node:

bash
sudo systemctl status kubelet
sudo journalctl -u kubelet -n 50 --no-pager

Look for error messages explaining why it stopped.

2Verify container runtime is running

Check if Docker or containerd is running:

bash
sudo systemctl status docker  # or containerd

# Restart if needed
sudo systemctl restart docker
3Start kubelet service

Enable and start kubelet:

bash
sudo systemctl start kubelet
sudo systemctl enable kubelet

# Verify it started
sudo systemctl status kubelet
4Check kubelet logs for errors

Review detailed logs:

bash
sudo journalctl -u kubelet -f  # Follow logs

Common errors:
- "connect: no such file or directory" - container runtime socket issue
- "operation not permitted" - capability/permission issue
- "disk pressure" - not enough space

5Verify node joins the cluster

Wait for node to become Ready:

bash
kubectl get nodes -w

Once Ready, the node can accept workloads.

Advanced notes

Always enable kubelet for auto-start on reboot: sudo systemctl enable kubelet. For kubeadm clusters, kubelet reads config from /etc/kubernetes/kubelet.conf. Monitor disk space as kubelet needs space for image cache and logs. Use kubelet --help to see all configuration options. Check container runtime socket path in kubelet config matches your runtime.

Frequently asked questions

What does "The kubelet is not running" mean?
Kubelet is the node agent that registers the node with the cluster and manages Pod lifecycle. If kubelet stops, the node becomes NotReady and cannot run workloads. This is often discovered during kubeadm join or when a node loses connectivity.
How do I fix "The kubelet is not running"?
The kubelet service on a node is not running, preventing the node from being part of the cluster.
What causes "The kubelet is not running"?
kubelet service was not started or enabled kubelet crashed due to out-of-memory or other errors Container runtime (Docker, containerd) is not running
Is the "The kubelet is not running" error serious?
Yes. This is a critical-severity error that usually blocks work until it is fixed, but the steps above resolve it.

Official resources & further reading