K8s Troubleshooting — Pending Pods

K8s Troubleshooting handbook

Tony
4 min readNov 21, 2023

Note, full K8s troubleshooting mind map is available at: “K8s Troubleshooting MindMap

What is “Pending Pods” Error?

In K8s, when a pod is in a “Pending” state, it means that the pod hasn’t been successfully scheduled and started on a worker node. There can be various reasons why a pod remains in this state, and it’s often crucial to diagnose the root cause to ensure proper cluster operation.

For example, the error message may look like:

Name:         my-pending-pod
Namespace: default
...
Status: Pending
...
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 30s (x8 over 3m) default-scheduler 0/3 nodes are available: 1 Insufficient cpu, 2 node(s) had taint {key=value:NoSchedule}, that the pod didn't tolerate.

In this example, the error message indicates that the pod couldn’t be scheduled because:

  1. One node doesn’t have enough CPU.
  2. Two nodes have a taint that the pod doesn’t tolerate.

To solve such issues, you may need to adjust pod specifications, node taints/tolerations…

--

--