2.11. 使用配额限制运行作业
您可以使用启用了红帽构建的 Kueue 运行 Kubernetes 作业,以便在定义的配额限值内管理资源分配。这有助于确保可预见的资源可用性、集群稳定性和优化性能。
2.11.1. 识别可用的本地队列 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
在向队列提交一个作业前,您需要找到本地队列的名称。
先决条件
- 集群管理员已在 OpenShift Container Platform 集群上安装和配置了红帽构建的 Kueue。
-
集群管理员已为您分配了
kue-batch-user-role
集群角色。 -
已安装 OpenShift CLI(
oc
)。
流程
运行以下命令列出命名空间中的可用本地队列:
oc -n <namespace> get localqueues
$ oc -n <namespace> get localqueues
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME CLUSTERQUEUE PENDING WORKLOADS user-queue cluster-queue 3
NAME CLUSTERQUEUE PENDING WORKLOADS user-queue cluster-queue 3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.11.2. 定义要使用红帽构建的 Kueue 运行的任务 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
当您定义要使用红帽构建 Kueue 运行的作业时,请确保它满足以下条件:
-
使用
kueue.x-k8s.io/queue-name
标签指定要提交作业的本地队列。 - 包括每个作业 pod 的资源请求。
红帽构建的 Kueue 会暂停作业,然后在有资源可用时启动它。红帽构建的 Kueue 创建了对应的工作负载,以 Workload
对象表示,其名称与作业匹配。
先决条件
- 集群管理员已在 OpenShift Container Platform 集群上安装和配置了红帽构建的 Kueue。
-
集群管理员已为您分配了
kue-batch-user-role
集群角色。 -
已安装 OpenShift CLI(
oc
)。 - 您已确定要提交作业的本地队列的名称。
流程
创建
Job
对象。作业示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来运行作业:
oc create -f <filename>.yaml
$ oc create -f <filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
运行以下命令,验证 pod 是否在您创建的作业中运行:
oc get job <job-name>
$ oc get job <job-name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME STATUS COMPLETIONS DURATION AGE sample-job-sk42x Suspended 0/1 2m12s
NAME STATUS COMPLETIONS DURATION AGE sample-job-sk42x Suspended 0/1 2m12s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令并观察输出,验证您的命名空间中是否为作业创建了工作负载:
oc -n <namespace> get workloads
$ oc -n <namespace> get workloads
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME QUEUE RESERVED IN ADMITTED FINISHED AGE job-sample-job-sk42x-77c03 user-queue 3m8s
NAME QUEUE RESERVED IN ADMITTED FINISHED AGE job-sample-job-sk42x-77c03 user-queue 3m8s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow