SchedulingGated
KubernetesWARNINGNotableSchedulingHIGH confidence

Pod is blocked from scheduling by a scheduling gate

Production Risk

Low — pod is held intentionally; no crash or data loss.

What this means

The pod has a schedulingGates entry in its spec that prevents it from being scheduled. The pod will remain in this state until all gates are removed.

Why it happens
  1. 1Pod spec contains one or more schedulingGates entries.
  2. 2A controller or admission webhook added a scheduling gate waiting for an external condition.
  3. 3Gate was added for deferred scheduling (e.g. waiting for a quota system to approve).
How to reproduce

Pod created with a schedulingGates field that has not yet been cleared.

trigger — this will error
trigger — this will error
kubectl get pod my-pod -o wide
# STATUS: SchedulingGated
kubectl describe pod my-pod
# Conditions: PodScheduled False SchedulingGated

expected output

NAME      READY   STATUS           RESTARTS   AGE
my-pod    0/1     SchedulingGated  0          5m

Fix

Remove the scheduling gate

WHEN The external condition has been satisfied

Remove the scheduling gate
kubectl patch pod my-pod --type=json \
  -p='[{"op":"remove","path":"/spec/schedulingGates"}]'

Why this works

Removing all schedulingGates entries allows the scheduler to consider the pod for placement.

What not to do

Version notes
Kubernetes 1.26

SchedulingGates feature promoted to beta.

Sources
Official documentation ↗

Kubernetes 1.26 — Pod Scheduling Readiness

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

← All Kubernetes errors