运行包装过的自定义工作负载
使用 AppWrapper 在 Kueue 上运行自定义工作负载。
	本页面展示了如何使用 AppWrapper
使 Kueue 的调度和资源管理能力可用于没有专用 Kueue 集成的工作负载类型。
对于在其定义中使用 PodSpecTemplates 的工作负载,这提供了一种比构建自定义集成
更简便的方法来启用与自定义工作负载类型一起使用 Kueue。
本指南适用于对 Kueue 有基本了解的批处理用户。 欲了解更多信息,请参阅Kueue 概述。
开始之前
- 
确保你正在使用 Kueue v0.11.0 版本或更新版本以及 AppWrapper v1.0.2 或更新版本。
 - 
遵循运行 AppWrapper 中的步骤学习如何启用和配置
workload.codeflare.dev/appwrapper集成。 
使用 LeaderWorkerSet 作为自定义工作负载的示例
我们使用 LeaderWorkerSet 为例,来解释如何在 AppWrapper 内运行自定义类型的工作负载。
- 
按照安装 说明进行 LeaderWorkerSet 的安装。
 - 
编辑
appwrapper-manager-roleClusterRole,添加以下片段以允许 Appwrapper 控制器操作 LeaderWorketSet。 
- apiGroups:
  - leaderworkerset.x-k8s.io
  resources:
  - leaderworkersets
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- 包含 LeaderWorkerSet 的 AppWrapper 如下所示。
特别注意 
podSets数组的每个元素的replicas和path如何对应于template中的PodSpecTemplate和副本计数。 这为 AppWrapper 控制器提供了足够的信息,使其能够“理解”被包裹的资源, 并提供 Kueue 管理该资源所需的信息。 
apiVersion: workload.codeflare.dev/v1beta2
kind: AppWrapper
metadata:
  name: sample-appwrapper-lws
  labels:
    kueue.x-k8s.io/queue-name: user-queue
spec:
  components:
  - podSets:
    - path: "template.spec.leaderWorkerTemplate.leaderTemplate"
      replicas: 2
    - path: "template.spec.leaderWorkerTemplate.workerTemplate"
      replicas: 3
    template:
      apiVersion: leaderworkerset.x-k8s.io/v1
      kind: LeaderWorkerSet
      metadata:
        name: nginx-leaderworkerset
        labels:
          app: nginx
      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: nginx:1.14.2
                resources:
                  requests:
                    cpu: "200m"
                ports:
                - containerPort: 80
反馈
这个页面有帮助吗?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.