k8wiz
Playground

Fix Pods stuck in Pending

Intermediate · Kubernetes · about 10 min

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.

Loading the playground...

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

  1. Read why the scheduler can't place the Pods
  2. 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.