The report Deployment asks for 4 replicas, and they all sit in Pending. Pending means no node was picked: the scheduler looked at every node and none fit.
About this scenario
The report Deployment asks for 4 replicas, and they all sit in Pending. Pending means no node was picked: the scheduler looked at every node and none fit.
The scheduler explains its decision in a FailedScheduling event. There are two problems to fix.
Objectives
- Read why the scheduler can't place the Pods
- All 4 report Pods are Running
What you'll practice
- Pending with a FailedScheduling event means no node passed every filter: taints, node selectors, affinity and free requests.
- Requests are reservations. The scheduler adds up the requests on each node, not the real usage.
- The control-plane node has a NoSchedule taint, which is why it always shows up as untolerated.
How the playground works
The cluster runs entirely in your browser: a simulated API server, scheduler, kubelets and controllers, with virtual nodes in three zones. kubectl output follows the real formats, errors use the real messages, and the add-ons (CSI storage, Traefik, Envoy Gateway, cert-manager, Flux, Argo CD) behave like their real counterparts for the common paths. It's a simulation, so some behavior is simplified. Your progress is saved in this browser.