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
- 1Pod spec contains one or more schedulingGates entries.
- 2A controller or admission webhook added a scheduling gate waiting for an external condition.
- 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