调度组

调度组

特性状态: Beta since Kubernetes v1.37; (默认禁用)
More information about this feature

To use this feature, you (or a cluster administrator) will need to enable the GenericWorkload feature gate for all relevant components in your cluster.

See Enable Or Disable Feature Gates for more information.

你可以将 Pod 链接到 PodGroup, 以表明该 Pod 属于一组一起调度的 Pod。 这使得调度器能够应用组级策略(如 Gang 调度),而不是将每个 Pod 独立对待。

指定调度组

当启用 GenericWorkload 特性门控时,你可以在 Pod 清单中设置 spec.schedulingGroup 字段。 此字段通过名称建立到同一名字空间中特定 PodGroup 对象的链接。

apiVersion: v1
kind: Pod
metadata:
  name: worker-0
  namespace: some-ns
spec:
  schedulingGroup:
    podGroupName: training-worker-0
  containers:
  - name: ml-worker
    image: training:v1

schedulingGroup 字段是不可变的。设置后,Pod 无法移动到不同的 PodGroup

行为

当你设置 spec.schedulingGroup 时,调度器会查找引用的 PodGroup 并应用其中定义的调度策略

  • 如果 PodGroup 使用 basic 策略,则每个 Pod 使用标准的 Kubernetes 行为独立调度。分组用作组级标签。
  • 如果 PodGroup 使用 gang 策略,则 Pod 进入"全有或全无"调度生命周期。 调度器尝试同时放置组中至少 minCount 个 Pod; 除非达到最小值,否则它们都不会绑定到节点。
特性状态: Alpha since Kubernetes v1.37; (默认禁用)
More information about this feature

To use this feature, you (or a cluster administrator) will need to enable the CompositePodGroup feature gate for all relevant components in your cluster.

See Enable Or Disable Feature Gates for more information.

当启用 CompositePodGroup 特性门控后,PodGroup 还可以指定一个父级 CompositePodGroup。 在层级化工作负载中,调度由整个组树上所定义的策略(例如多层级 Gang 调度或拓扑约束)来管控。

缺少组引用

如果 Pod 引用了不存在的 PodGroup,则该 Pod 保持 Pending 状态。 类似地,如果被引用的 PodGroup 指定了一个父级 CompositePodGroup (通过 spec.parentCompositePodGroupName),但该父级 CompositePodGroup 尚未创建,则调度不会开始,Pod 将一直保持悬决状态,直到整个组层级结构在集群中存在为止。

一旦所有必需的 PodGroupCompositePodGroup 资源就绪, 调度器便会自动重新考量该 Pod

接下来

最后修改 September 08, 2026 at 9:54 AM PST: [zh-cn]sync custom-resources scheduling-group (30e1da8bdd)