8.2. Kueue によるワークロード管理の設定
OpenShift AI でワークロードのキュー機能を使用するには、Red Hat build of Kueue Operator をインストールし、OpenShift AI で Kueue 統合をアクティブ化します。
前提条件
- OpenShift クラスターのクラスター管理者権限を持っている。
- 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 の namespace に置き換えます。デフォルトの operator namespace は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 namespace に置き換えます。デフォルトの operator namespace は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
検証
Red Hat build of 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 を有効にして、ユーザーがワークロードを作成するときに Kueue 対応のオプションを選択できるようにします。Kueue を有効にすると、ダッシュボードから作成されたすべての新しいプロジェクトに対して Kueue 管理も有効になります。ダッシュボードで Kueue を有効にする を参照してください。
- クラスター管理者と OpenShift AI 管理者は、ユーザーが OpenShift AI ダッシュボードからワークロードを送信できるように、ハードウェアプロファイルを作成できます。ハードウェアプロファイルの使用 を参照してください。
8.2.1. ダッシュボードで Kueue を有効にする リンクのコピーリンクがクリップボードにコピーされました!
OpenShift AI ダッシュボードで Kueue を有効にして、ユーザーがワークロードを作成するときに Kueue 対応のオプションを選択できるようにします。
ダッシュボードで Kueue を有効にすると、OpenShift AI はダッシュボードから作成されたすべての新しいプロジェクトに対して Kueue 管理を自動的に有効にします。これらのプロジェクトの場合、OpenShift AI は kueue.openshift.io/managed=true ラベルを namespace に適用し、LocalQueue オブジェクトがまだ存在しない場合は作成します。LocalQueue オブジェクトは opendatahub.io/managed=false アノテーションを使用して作成されるため、作成後は管理されません。クラスター管理者は必要に応じてこれを変更または削除できます。検証 Webhook は、Kueue 対応プロジェクト内の新規または更新されたワークロードリソースに kueue.x-k8s.io/queue-name ラベルが強制的に含まれるようにします。
既存のプロジェクト、またはコマンドラインインターフェイスを使用して作成されたプロジェクトの場合は、kueue.openshift.io/managed=true ラベルをプロジェクト namespace に適用して、Kueue 管理を手動で有効にする必要があります。
oc label namespace <project-namespace> kueue.openshift.io/managed=true --overwrite
$ oc label namespace <project-namespace> kueue.openshift.io/managed=true --overwrite
前提条件
- OpenShift クラスターのクラスター管理者権限を持っている。
- OpenShift 4.18 以降を使用している。
- Kueue を使用したワークロード管理の設定 の説明に従って、Red Hat build of Kueue Operator をインストールしてアクティブ化しておきます。
- 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 アプリケーション namespace の
odh-dashboard-configカスタムリソースを更新します。<applications-namespace>は、OpenShift AI アプリケーションの namespace に置き換えます。デフォルトは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 ダッシュボードから新しいプロジェクトを作成します。
プロジェクトの namespace が 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になるはずです。プロジェクト namespace にデフォルトの
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 ダッシュボードからワークロードを送信できるように、ハードウェアプロファイルを作成できます。ハードウェアプロファイルの使用 を参照してください。