8.2. 使用 Kueue 配置工作负载管理
要在 OpenShift AI 中使用工作负载排队,请安装 Red Hat build of Kue Operator,并激活 OpenShift AI 中的 Kue 集成。
先决条件
- 具有集群管理员特权。
- 您使用 OpenShift 4.18 或更高版本。
- 已为集群安装并配置了 Red Hat OpenShift 的 cert-manager Operator。
- 已安装 OpenShift 命令行界面(CLI)。请参阅安装 OpenShift CLI。
流程
在一个终端窗口中,登录到 OpenShift CLI,如下例所示:
oc login <openshift_cluster_url> -u <admin_username> -p <password>
$ oc login <openshift_cluster_url> -u <admin_username> -p <password>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 如 Red Hat build of Kueue 文档所述,在 OpenShift 集群上安装 Red Hat build of Kueue Operator。
激活 Kueue 集成。您可以将预定义名称用于默认集群队列和默认本地队列,或者指定自定义名称。
要使用预定义的队列名称(
默认),请运行以下命令:将<operator-namespace> 替换为您的 Operator 命名空间。默认 operator 命名空间为redhat-ods-operator。oc patch datasciencecluster default-dsc --type='merge' -p '{"spec":{"components":{"kueue":{"managementState":"Unmanaged"}}}}' -n <operator-namespace>$ oc patch datasciencecluster default-dsc --type='merge' -p '{"spec":{"components":{"kueue":{"managementState":"Unmanaged"}}}}' -n <operator-namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要指定自定义队列名称,请运行以下命令。将
<example-cluster-queue>和<example-local-queue>替换为您的自定义队列名称,并将 <operator-namespace> 替换为您的 Operator 命名空间。默认 operator 命名空间为redhat-ods-operator。oc patch datasciencecluster default-dsc --type='merge' -p '{"spec":{"components":{"kueue":{"managementState":"Unmanaged","defaultClusterQueueName":"<example-cluster-queue>","defaultLocalQueueName":"<example-local-queue>"}}}}' -n <operator-namespace>$ oc patch datasciencecluster default-dsc --type='merge' -p '{"spec":{"components":{"kueue":{"managementState":"Unmanaged","defaultClusterQueueName":"<example-cluster-queue>","defaultLocalQueueName":"<example-local-queue>"}}}}' -n <operator-namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
验证红帽构建的 Kueue pod 是否正在运行:
oc get pods -n openshift-kueue-operator
$ oc get pods -n openshift-kueue-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 您应该看到类似以下示例的输出:
kueue-controller-manager-d9fc745df-ph77w 1/1 Running openshift-kueue-operator-69cfbf45cf-lwtpm 1/1 Running
kueue-controller-manager-d9fc745df-ph77w 1/1 Running openshift-kueue-operator-69cfbf45cf-lwtpm 1/1 RunningCopy to Clipboard Copied! Toggle word wrap Toggle overflow 验证是否已创建默认的
ClusterQueue:oc get clusterqueues
$ oc get clusterqueuesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
后续步骤
-
通过创建和修改
ResourceFlavor、ClusterQueue和LocalQueue对象来配置配额。详情请查看 Red Hat build of Kueue 文档。 - 在仪表板中启用 Kueue,以便用户可以在创建工作负载时选择 Kue-enabled 选项。当启用 Kueue 时,您还会为从仪表板创建的所有新项目启用 Kueue 管理。请参阅在 仪表板中启用 Kue。
- 集群管理员和 OpenShift AI 管理员可以创建硬件配置文件,以便用户可以通过 OpenShift AI 仪表板提交工作负载。请参阅 使用硬件配置文件。
8.2.1. 在仪表板中启用 Kueue 复制链接链接已复制到粘贴板!
在 OpenShift AI 仪表板中启用 Kueue,以便用户可以在创建工作负载时选择 Kue-enabled 选项。
当您在仪表板中启用 Kueue 时,OpenShift AI 会自动为从仪表板创建的所有新项目启用 Kueue 管理。对于这些项目,OpenShift AI 将 kueue.openshift.io/managed=true 标签应用到命名空间,并在不存在时创建一个 LocalQueue 对象。LocalQueue 对象是使用 opendatahub.io/managed=false 注解创建的,因此在创建后不会管理它。集群管理员可以根据需要修改或删除它。然后验证 Webhook 会强制 Kueue-enabled 项目中的任何新的或更新的工作负载资源包括 kueue.x-k8s.io/queue-name 标签。
对于现有项目或使用命令行界面创建的项目,您必须通过将 kueue.openshift.io/managed=true 标签应用到项目命名空间来手动启用 Kueue.openshift.io/managed=true 标签。
oc label namespace <project-namespace> kueue.openshift.io/managed=true --overwrite
$ oc label namespace <project-namespace> kueue.openshift.io/managed=true --overwrite
先决条件
- 具有集群管理员特权。
- 您使用 OpenShift 4.18 或更高版本。
- 已安装并激活了 Kueue Operator 的红帽构建,如 使用 Kue 配置工作负载管理 中所述。
- 您已配置了配额,如 Red Hat build of Kueue 文档所述。
步骤
在一个终端窗口中,登录到 OpenShift CLI,如下例所示:
oc login <openshift_cluster_url> -u <admin_username> -p <password>
$ oc login <openshift_cluster_url> -u <admin_username> -p <password>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新 OpenShift AI 应用程序命名空间中的
odh-dashboard-config自定义资源。将<applications-namespace> 替换为您的 OpenShift AI 应用程序命名空间。默认为redhat-ods-applications。oc patch odhdashboardconfig odh-dashboard-config \ -n \<applications-namespace\> \ --type merge \ -p {"spec":{"dashboardConfig":{"disableHardwareProfiles":false,"disableKueue":false}}}$ oc patch odhdashboardconfig odh-dashboard-config \ -n \<applications-namespace\> \ --type merge \ -p {"spec":{"dashboardConfig":{"disableHardwareProfiles":false,"disableKueue":false}}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
- 从 OpenShift AI 仪表板,创建一个新项目。
验证项目命名空间是否已标记为 Kueue 管理:
oc get ns <project-namespace> -o jsonpath='{.metadata.labels.kueue\.openshift\.io/managed}{"\n"}'$ oc get ns <project-namespace> -o jsonpath='{.metadata.labels.kueue\.openshift\.io/managed}{"\n"}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出应该是
true。确认项目命名空间存在默认的
LocalQueue:oc get localqueues -n <project-namespace>
$ oc get localqueues -n <project-namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
创建一个测试工作负载(如
Notebook),并验证它是否包含kueue.x-k8s.io/queue-name标签。
后续步骤
- 集群管理员和 OpenShift AI 管理员可以创建硬件配置文件,以便用户可以通过 OpenShift AI 仪表板提交工作负载。请参阅 使用硬件配置文件。