2.7. ジョブおよびワークロードの管理
Red Hat build of Kueue は、ユーザーが作成したジョブを直接操作しません。代わりに、Kueue はジョブのリソース要件を表す Workload
オブジェクトを管理します。Red Hat build of Kueue は、各ジョブのワークロードを自動的に作成し、2 つのオブジェクト間の決定とステータスを同期します。
2.7.1. Red Hat build of Kueue がジョブを管理できるように namespace にラベルを付ける リンクのコピーリンクがクリップボードにコピーされました!
Red Hat build of Kueue Operator は、対象とするジョブと namespace に対してのみポリシーが適用されるように、オプトイン Webhook メカニズムを使用します。
Red Hat build of Kueue でジョブを管理する namespace には、kueue.openshift.io/managed=true
ラベルを付ける必要があります。
前提条件
- クラスター管理者パーミッションがある。
-
Red Hat build of Kueue Operator がクラスターにインストールされ、
Kueue
カスタムリソース (CR) が作成されている。 -
OpenShift CLI (
oc
) がインストールされている。
手順
以下のコマンドを実行して、
kueue.openshift.io/managed=true
ラベルを namespace に追加します。oc label namespace <namespace> kueue.openshift.io/managed=true
$ oc label namespace <namespace> kueue.openshift.io/managed=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
このラベルを追加すると、その namespace を Webhook アドミッションコントローラーによって管理するよう Red Hat build of Kueue Operator に指示することになります。その結果、その namespace 内の Red Hat build of Kueue リソースが適切に検証され、変更されるようになります。
2.7.2. ジョブのラベルポリシーの設定 リンクのコピーリンクがクリップボードにコピーされました!
Kueue
カスタムリソース (CR) の spec.config.workloadManagement.labelPolicy
仕様は、Red Hat build of Kueue がさまざまなジョブを管理するか無視するかを決定する方法を制御する省略可能なフィールドです。使用できる値は QueueName
、None
、および空 (""
) です。
labelPolicy
設定が省略されているか、空 (""
) の場合、デフォルトのポリシーとして、Red Hat build of Kueue は kueue.x-k8s.io/queue-name
ラベルを持つジョブを管理し、kueue.x-k8s.io/queue-name
ラベルを持たないジョブを無視します。これは、labelPolicy
が QueueName
に設定されている場合と同じワークフローです。
labelPolicy
設定が None
に設定されている場合、ジョブは kueue.x-k8s.io/queue-name
ラベルがなくても、Red Hat build of Kueue によって管理されます。
workloadManagement
仕様設定の例
kueue.x-k8s.io/queue-name
ラベルを含むユーザー作成の Job
オブジェクトの例