调度组

特性状态: Kubernetes v1.35 [alpha](默认禁用)

你可以将 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; 除非达到最小值,否则它们都不会绑定到节点。

缺少 PodGroup 引用

如果 Pod 引用了不存在的 PodGroup,则该 Pod 保持 Pending 状态。 一旦创建了 PodGroup,调度器会自动重新考虑该 Pod。

无论最终策略是 basic 还是 gang,这都适用, 因为调度器需要 PodGroup 来确定策略。

接下来


最后修改 April 23, 2026 at 11:54 AM PST: [zh-cn]Add scheduling-group (49121aac12)