Init/sidecar container waiting for the pod to be scheduled
Production Risk
Low if transient; High if the pod is permanently unschedulable.
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.
- 1Pod is newly created and the scheduler has not yet made a placement decision.
- 2No node satisfies the pod's resource requests or affinity rules, causing the pod to remain Pending.
- 3SchedulingGates are blocking the pod from being considered by the scheduler.
Pod is Pending and one or more init or sidecar containers report WaitingForPodScheduled.
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
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.).
✕
SidecarContainers feature gate introduced; this reason appears for init/sidecar containers in gated pods.
Kubernetes 1.28 — Sidecar Containers
Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev