2.8. クォータの設定
管理者は、Red Hat build of Kueue を使用してクォータを設定し、ユーザーワークロードのリソース割り当てとシステムスループットを最適化できます。CPU、メモリー、Pod、GPU などのコンピュートリソースのクォータを設定できます。
以下の手順を実行すると、Red Hat build of Kueue でクォータを設定できます。
- クラスターキューを設定します。
- リソースフレーバーを設定します。
- ローカルキューを設定します。
その後、ユーザーはワークロードをローカルキューに送信できます。
2.8.1. クラスターキューの設定 リンクのコピーリンクがクリップボードにコピーされました!
クラスターキューは、ClusterQueue オブジェクトによって表されるクラスタースコープのリソースであり、CPU、メモリー、Pod などのリソースプールを管理します。クラスターキューを使用すると、使用制限、リソースフレーバーのクォータ、消費順序、フェアシェアリングルールを定義できます。
ResourceFlavor オブジェクトも設定されるまで、クラスターキューは使用可能になりません。
前提条件
- Red Hat build of Kueue Operator がクラスターにインストールされている。
-
クラスター管理者権限または
kueue-batch-admin-roleロールがある。 -
OpenShift CLI (
oc) がインストールされている。
手順
ClusterQueueオブジェクトを YAML ファイルとして作成します。単一のリソースフレーバーを使用した基本的な
ClusterQueueオブジェクトの例apiVersion: kueue.x-k8s.io/v1beta2 kind: ClusterQueue metadata: name: cluster-queue spec: namespaceSelector: {}1 resourceGroups: - coveredResources: ["cpu", "memory", "pods", "foo.com/gpu"]2 flavors: - name: "default-flavor"3 resources:4 - name: "cpu" nominalQuota: 9 - name: "memory" nominalQuota: 36Gi - name: "pods" nominalQuota: 5 - name: "foo.com/gpu" nominalQuota: 100- 1
- このクラスターキューが管理するリソースを使用できる namespace を定義します。例に示すように、空の
namespaceSelectorは、すべての namespace がこれらのリソースを使用できることを意味します。 - 2
- クラスターキューによって管理されるリソースタイプを定義します。この例では、
ClusterQueueオブジェクトは CPU、メモリー、Pod、および GPU リソースを管理します。 - 3
- リストされているリソースタイプに適用されるリソースフレーバーを定義します。この例では、
default-flavorリソースフレーバーが CPU、メモリー、Pod、および GPU リソースに適用されます。 - 4
- ジョブを許可するリソース要件を定義します。このサンプルクラスターキューは、次の条件が満たされた場合にのみジョブを許可します。
- CPU 要求の合計は 9 以下です。
- メモリー要求の合計は 36Gi 以下です。
- Pod の合計数は 5 以下です。
- GPU リクエストの合計は 100 以下です。
次のコマンドを実行して、
ClusterQueueオブジェクトを適用します。$ oc apply -f <filename>.yaml