.spec.schedulingGates
字段配置,该字段是一个字符串列表,每个字符串表示 Pod 在被认为可调度之前应该满足的标准。kubectl get pod
命令检查 Pod 的状态,如果 Pod 被门控,其状态将显示为 SchedulingGated
。Pod 调度就绪态特别适合以下场景:
.spec.schedulingGates
字段中指定一个或多个门控条件,可以控制 Pod 何时准备好被调度。scheduler_pending_pods
指标来监控被门控的 Pod,帮助观察和调试调度行为。以下是一个使用 Pod 调度就绪态的示例:
# 创建带有调度门控的 Pod 示例
apiVersion: v1
kind: Pod
metadata:
name: test-pod
spec:
schedulingGates:
- name: foo
- name: bar
containers:
- name: pause
image: registry.k8s.io/pause:3.6
在这个示例中,Pod 创建时会带有两个调度门控 foo
和 bar
,这意味着 Pod 不会立即被调度。
# 删除调度门控,使 Pod 准备好被调度
apiVersion: v1
kind: Pod
metadata:
name: test-pod
spec:
containers:
- name: pause
image: registry.k8s.io/pause:3.6
在删除调度门控后,Pod 将准备好被调度,调度程序可以将其调度到合适的节点上。