WaitingForPodScheduled
KubernetesINFOCriticalPod LifecycleHIGH confidence

Init/sidecar container waiting for the pod to be scheduled

Production Risk

Low if transient; High if the pod is permanently unschedulable.

What this means

An init container or sidecar container is in the WaitingForPodScheduled state because the pod has not yet been assigned to a node. This is a transient state that resolves once the scheduler places the pod.

Why it happens
  1. 1Pod is newly created and the scheduler has not yet made a placement decision.
  2. 2No node satisfies the pod's resource requests or affinity rules, causing the pod to remain Pending.
  3. 3SchedulingGates are blocking the pod from being considered by the scheduler.
How to reproduce

Pod is Pending and one or more init or sidecar containers report WaitingForPodScheduled.

trigger — this will error
trigger — this will error
kubectl describe pod my-pod
# Init Containers:
#   init-db:
#     State: Waiting
#       Reason: WaitingForPodScheduled

expected output

State:          Waiting
  Reason:       WaitingForPodScheduled

Fix

Investigate why the pod is not being scheduled

WHEN Pod has been Pending for more than a few seconds

Investigate why the pod is not being scheduled
kubectl describe pod my-pod | grep -A 10 "Events:"
kubectl get events --field-selector involvedObject.name=my-pod

Why this works

Events reveal the scheduler's reason for not placing the pod (insufficient CPU, no matching node, taint toleration missing, etc.).

What not to do

Version notes
Kubernetes 1.28

SidecarContainers feature gate introduced; this reason appears for init/sidecar containers in gated pods.

Sources
Official documentation ↗

Kubernetes 1.28 — Sidecar Containers

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All Kubernetes errors