运行 JobSet

在启用了 Kueue 的环境里运行 Jobset

本指南解释了如何使用 Kueue 的调度和资源管理功能运行 JobSet Operator JobSet

本指南适用于批处理用户,他们需要对 Kueue 有基本的了解。更多信息,请参见 Kueue 概览

开始之前

  1. 请参见管理集群配额了解初始 Kueue 设置的详细信息。

  2. 请参见 JobSet 安装文档了解 JobSet Operator 的安装和配置详情。

JobSet 定义

当在 Kueue 上运行 JobSet时, 请考虑以下方面:

a. 队列选择

目标本地队列应在 JobSet 配置的 metadata.labels 部分指定。

metadata:
  labels:
    kueue.x-k8s.io/queue-name: user-queue

b. 配置资源需求

工作负载的资源需求可以在 spec.replicatedJobs 中配置。还应考虑副本数量并行度和完成数量对资源计算的影响。

    - replicas: 1
      template:
        spec:
          completions: 2
          parallelism: 2
          template:
            spec:
              containers:
                - resources:
                    requests:
                      cpu: 1

c. 作业优先级

spec.replicatedJobs 中第一个非空的 PriorityClassName 将用作优先级。

    - template:
        spec:
          template:
            spec:
              priorityClassName: high-priority

示例 JobSet

# sample-jobset.yaml
apiVersion: jobset.x-k8s.io/v1alpha2
kind: JobSet
metadata:
  generateName: sleep-job-
  labels:
    kueue.x-k8s.io/queue-name: user-queue
spec:
  network:
    enableDNSHostnames: false
    subdomain: some-subdomain
  replicatedJobs:
    - name: workers
      replicas: 1
      template:
        spec:
          parallelism: 1
          completions: 1
          backoffLimit: 0
          template:
            spec:
              containers:
                - name: sleep
                  image: busybox
                  resources:
                    requests:
                      cpu: 1
                      memory: "200Mi"
                  command:
                    - sleep
                  args:
                    - 100s
    - name: driver
      template:
        spec:
          parallelism: 1
          completions: 1
          backoffLimit: 0
          template:
            spec:
              containers:
                - name: sleep
                  image: busybox
                  resources:
                    requests:
                      cpu: 2
                      memory: "200Mi"
                  command:
                    - sleep
                  args:
                    - 100s

你可以使用以下命令运行此 JobSet:

# 为了监控队列和作业的准入,你可以多次运行此示例:
kubectl create -f sample-jobset.yaml

Multikueue

请参见 Multikueue 了解在 MultiKueue 环境中运行 JobSet 的详细信息。


最后修改 August 10, 2025: doc (#6510) (725feb3c)