Step 1. List and describe the node
Run the following command to list all nodes and their readiness status:Conditions
The Conditions section reports disk, memory, and readiness status. The fields have the following meanings:- MemoryPressure shows whether the node is under memory pressure.
- DiskPressure indicates whether disk usage has reached a critical level.
- PIDPressure indicates whether too many processes are running on the node.
- Ready is the primary indicator. When the node is in a Not Ready state, this field shows False.
Capacity and allocatable resources
These fields show the resources available to the node, such as CPU, memory, and the number of pods it can host. The available resources must meet cluster workload requirements.- Capacity resources are resources the node has physically available.
- Allocatable resources are the resources the node can allocate to pods after subtracting the overhead from the capacity (resources used by Kubernetes to manage the node).
Step 2. Check Kubelet logs
When node conditions do not explain the issue, connect to the affected worker node and inspect Kubelet logs. Kubelet manages the node lifecycle, and Kubelet failures often cause nodes to appear as Not Ready. Assign a floating IP to the node if one is not attached yet, then connect with the following command:- Certificate errors indicate that the node cannot authenticate with the cluster because certificates are expired or incorrect.
- Authentication errors can imply misconfigured or missing service accounts or tokens.
- Network errors can indicate that Kubelet cannot communicate with the control plane or other nodes.
Step 3. Address errors
After identifying the root cause, apply the appropriate fix. Common solutions based on the problem type:- Resource exhaustion: When a node runs out of CPU, memory, or disk, scale the cluster by adding nodes, upgrading hardware, or adjusting pod resource limits and requests.
- Network issues: When Kubelet cannot reach the API server or other nodes, verify the node network configuration, DNS settings, and firewall rules that might block required communication.