The kubelet service on a node is not running, preventing the node from being part of the cluster.
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.
On the affected node:
sudo systemctl status kubelet
sudo journalctl -u kubelet -n 50 --no-pagerLook for error messages explaining why it stopped.
Check if Docker or containerd is running:
sudo systemctl status docker # or containerd
# Restart if needed
sudo systemctl restart dockerEnable and start kubelet:
sudo systemctl start kubelet
sudo systemctl enable kubelet
# Verify it started
sudo systemctl status kubeletReview detailed logs:
sudo journalctl -u kubelet -f # Follow logsCommon errors:
- "connect: no such file or directory" - container runtime socket issue
- "operation not permitted" - capability/permission issue
- "disk pressure" - not enough space
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.
Failed to connect to server: connection refused (HTTP/2)
How to fix "HTTP/2 connection refused" error in Kubernetes
No subnets found for EKS cluster
How to fix "eks subnet not found" in Kubernetes
missing request for cpu in container
How to fix "missing request for cpu in container" in Kubernetes HPA
Wait for node to become Ready:
kubectl get nodes -wOnce Ready, the node can accept workloads.