2.7. 管理作业和工作负载


红帽构建的 Kueue 不会直接操作用户创建的作业。相反,Kue 管理代表作业资源要求的 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,您已创建了一个 Kue 自定义资源(CR)。
  • 已安装 OpenShift CLI(oc)。

流程

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

    $ oc label namespace <namespace> kueue.openshift.io/managed=true

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

2.7.2. 为作业配置标签策略

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

如果 labelPolicy 设置被省略或为空(""),默认策略是红帽构建的 Kueue 管理具有 kueue.x-k8s.io/queue-name 标签的作业,并忽略没有 kue.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
# ...

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

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

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部