2.7. 管理作业和工作负载


红帽构建的 Kueue 不会直接操作用户创建的作业。相反,Kueue 管理代表作业资源要求的 Workload 对象。红帽构建的 Kueue 会自动为每个作业创建一个工作负载,并同步两个对象之间的任何决策和状态。

Red Hat build of Kue Operator 使用一个选择使用(opt-in)webhook 机制来确保策略只针对预期目标的作业和命名空间强制执行。

您必须使用 kueue.openshift.io/managed=true 标签标记需要红帽构建的 Kueue.openshift.io/managed=true 标签的命名空间。

先决条件

  • 有集群管理员权限。
  • 在集群中安装 Red Hat build of Kueue Operator,您已创建了一个 Kueue 自定义资源(CR)。
  • 已安装 OpenShift CLI(oc)。

流程

  • 运行以下命令,将 kueue.openshift.io/managed=true 标签添加到命名空间:

    $ oc label namespace <namespace> kueue.openshift.io/managed=true
    Copy to Clipboard Toggle word wrap

添加此标签时,您指示 Red Hat build of Kueue Operator,命名空间由它的 webhook 准入控制器管理。因此,该命名空间中的任何红帽构建的 Kueue 资源都会被正确验证并修改。

2.7.2. 为作业配置标签策略

Kueue 自定义资源 (CR) 中的 spec.config.workloadManagement.labelPolicy spec 是一个可选字段,用于控制红帽构建的 Kueue 决定是否管理或忽略不同的作业。允许的值是 QueueNameNone 和空("")。

如果 labelPolicy 设置被省略或为空(""),默认策略是红帽构建的 Kueue 管理具有 kueue.x-k8s.io/queue-name 标签的作业,并忽略没有 kueue.x-k8s.io/queue-name 标签的作业。这与 labelPolicy 被设置为 QueueName 的工作流相同。

如果将 labelPolicy 设置设定为 None,则作业由红帽构建的 Kueue 管理,即使它们没有 x-k8s.io/queue-name 标签。

workloadManagement spec 配置示例

apiVersion: kueue.openshift.io/v1
kind: Kueue
metadata:
  labels:
    app.kubernetes.io/name: kueue-operator
    app.kubernetes.io/managed-by: kustomize
  name: cluster
  namespace: openshift-kueue-operator
spec:
  config:
    workloadManagement:
      labelPolicy: QueueName
# ...
Copy to Clipboard Toggle word wrap

包含 kueue.x-k8s.io/queue-name 标签的用户创建的 Job 对象示例

apiVersion: batch/v1
kind: Job
metadata:
  generateName: sample-job-
  namespace: my-namespace
  labels:
    kueue.x-k8s.io/queue-name: user-queue
spec:
# ...
Copy to Clipboard Toggle word wrap

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat