运行 LeaderWorkerSet
本页面展示了如何通过运行 LeaderWorkerSet 来利用 Kueue 的调度和资源管理能力。
我们演示了如何支持调度 LeaderWorkerSet, 其中一组 Pod 构成由工作负载所表示的准入单元。 这允许逐组扩大和缩小 LeaderWorkerSet。
此集成基于普通的 Pod 组集成。
本指南适用于为用户提供服务并对 Kueue 有基本理解的人们。 有关更多信息,请参见 Kueue 概述。
开始之前
- 
学习如何安装 Kueue 并使用自定义管理器配置。
 - 
确保你已启用
leaderworkerset.x-k8s.io/leaderworkerset集成,例如:apiVersion: config.kueue.x-k8s.io/v1beta2 kind: Configuration integrations: frameworks: - "pod" - "leaderworkerset.x-k8s.io/leaderworkerset"同时,请参见运行普通 Pod 中所述的步骤, 了解如何启用和配置 Pod 集成。
 - 
查阅管理集群配额了解初始 Kueue 设置的详细信息。
 
运行一个由 Kueue 准入的 LeaderWorkerSet
运行 LeaderWorkerSet 时,请考虑以下方面:
a. 队列选择
目标本地队列应在 LeaderWorkerSet 配置的 metadata.labels 部分指定。
metadata:
   labels:
      kueue.x-k8s.io/queue-name: user-queue
b. 配置资源需求
工作负载的资源需求可以在 spec.template.spec.containers 中配置。
spec:
   leaderWorkerTemplate:
      leaderTemplate:
         spec:
            containers:
               - resources:
                    requests:
                       cpu: "100m"
      workerTemplate:
         spec:
            containers:
               - resources:
                    requests:
                       cpu: "100m"
c. 扩缩
你可以对 LeaderWorkerSet .spec.replicas 执行扩缩操作。
扩缩的单位是 LWS 组。通过更改 LWS 中的 replicas 数量,
你可以创建或删除整个 Pod 组。
扩容后,新建的 Pod 组会由调度门控挂起,直到相应的工作负载被准入为止。
示例
以下是一个 LeaderWorkerSet 的示例:
apiVersion: leaderworkerset.x-k8s.io/v1
kind: LeaderWorkerSet
metadata:
  name: nginx-leaderworkerset
  labels:
    app: nginx
    kueue.x-k8s.io/queue-name: user-queue
spec:
  replicas: 2
  leaderWorkerTemplate:
    leaderTemplate:
      spec:
        containers:
          - name: nginx-leader
            image: registry.k8s.io/nginx-slim:0.27
            resources:
              requests:
                cpu: "100m"
            ports:
              - containerPort: 80
    size: 3
    workerTemplate:
      spec:
        containers:
          - name: nginx-worker
            image: registry.k8s.io/nginx-slim:0.27
            resources:
              requests:
                cpu: "200m"
            ports:
              - containerPort: 80你可以使用以下命令创建 LeaderWorkerSet:
kubectl create -f sample-leaderworkerset.yaml
反馈
这个页面有帮助吗?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.