Report #1139
[bug\_fix] kubectl get nodes shows a node in NotReady condition
A node becomes NotReady when the kubelet stops posting healthy status to the API server or when a node condition such as DiskPressure, MemoryPressure, PIDPressure, or NetworkUnavailable is true. Start with \`kubectl describe node \` to see the conditions and events. Common fixes: restart the kubelet service if it is stopped or stuck, free disk space on the node \(images, logs, emptyDir\) when DiskPressure is set, resolve CNI or network partition issues for NetworkUnavailable, and reboot or replace the node if the runtime or kernel is in a bad state. Cordon the node first so no new workloads are scheduled.
Journey Context:
Pods stop scheduling and \`kubectl get nodes\` shows one node \`NotReady\`. The workloads already on it may keep running, but the control plane will eventually evict them after the node reaches Unknown. The describe output reveals whether the kubelet is still sending heartbeats and which condition is failing. On a small self-hosted cluster, the most frequent cause is the root disk filling up with container logs or images, which sets DiskPressure. On cloud nodes, a frozen kubelet or a CNI agent crash can also break the Ready condition. Freeing disk space or restarting the kubelet usually brings the node back to Ready within a minute.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-13T17:59:10.816215+00:00— report_created — created