A pending state means a Kubernetes pod has been accepted but is not yet running. When a pod remains unassigned to a node, investigate the scheduler rather than the container first. section 8.2
Use this troubleshooting path:
- Run kubectl describe to inspect pod events and confirm that scheduling is the blocking step. section 8.2
- Check the scheduler in the kube-system namespace with kubectl logs and kubectl describe. section 8.2
- Inspect scheduler manifests under /etc/kubernetes/manifests when a control-plane component failure is suspected. section 8.2
Scaling exposes a scheduler failure
After scaling the prod-app Deployment from one to three replicas, the original pod remains Running while the two new pods remain Pending. This contrast points to scheduling failure rather than an nginx container problem. section 8.2
root@kind-control-plane:/# curl https:/ /raw.githubusercontent.com/chadmcrowell/acing-the-cka- exam/main/ch_08/kube-scheduler.yaml --silent --output /etc/kubernetes/manifests/kube-scheduler.yaml root@kind-control-plane:/# kubectl scale deploy prod-app --replicas 3 deployment.apps/prod-app scaled root@kind-control-plane:/# kubectl get po NAME READY STATUS RESTARTS AGE prod-app-85c9dd4f9d-9clfl 0/1 Pending 0 7s prod-app-85c9dd4f9d-l7fmj 1/1 Running 0 4m21s prod-app-85c9dd4f9d-mbdk7 0/1 Pending 0 7s
Inspect representative kubectl output showing one Running pod and two Pending replicas after scaling. section 8.2


