2.6. クォータの設定


管理者は、Red Hat build of Kueue を使用してクォータを設定し、ユーザーワークロードのリソース割り当てとシステムスループットを最適化できます。CPU、メモリー、Pod、GPU などのコンピュートリソースのクォータを設定できます。

以下の手順を実行すると、Red Hat build of Kueue でクォータを設定できます。

  1. クラスターキューを設定します。
  2. リソースフレーバーを設定します。
  3. ローカルキューを設定します。

その後、ユーザーはワークロードをローカルキューに送信できます。

2.6.1. クラスターキューの設定

クラスターキューは、ClusterQueue オブジェクトによって表されるクラスタースコープのリソースであり、CPU、メモリー、Pod などのリソースプールを管理します。クラスターキューを使用すると、使用制限、リソースフレーバーのクォータ、消費順序、フェアシェアリングルールを定義できます。

注記

ResourceFlavor オブジェクトも設定されるまで、クラスターキューは使用可能になりません。

前提条件

  • Red Hat build of Kueue Operator がクラスターにインストールされている。
  • クラスター管理者権限または kueue-batch-admin-role ロールがある。
  • OpenShift CLI (oc) がインストールされている。

手順

  1. ClusterQueue オブジェクトを YAML ファイルとして作成します。

    単一のリソースフレーバーを使用した基本的な ClusterQueue オブジェクトの例

    apiVersion: kueue.x-k8s.io/v1beta1
    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
    Copy to Clipboard Toggle word wrap

    1
    このクラスターキューが管理するリソースを使用できる namespace を定義します。例に示すように、空の namespaceSelector は、すべての namespace がこれらのリソースを使用できることを意味します。
    2
    クラスターキューによって管理されるリソースタイプを定義します。この例では、ClusterQueue オブジェクトは CPU、メモリー、Pod、および GPU リソースを管理します。
    3
    リストされているリソースタイプに適用されるリソースフレーバーを定義します。この例では、default-flavor リソースフレーバーが CPU、メモリー、Pod、および GPU リソースに適用されます。
    4
    ジョブを許可するリソース要件を定義します。このサンプルクラスターキューは、次の条件が満たされた場合にのみジョブを許可します。
    • CPU 要求の合計は 9 以下です。
    • メモリー要求の合計は 36Gi 以下です。
    • Pod の合計数は 5 以下です。
    • GPU リクエストの合計は 100 以下です。
  2. 次のコマンドを実行して、ClusterQueue オブジェクトを適用します。

    $ oc apply -f <filename>.yaml
    Copy to Clipboard Toggle word wrap

次のステップ

ResourceFlavor オブジェクト も設定されるまで、クラスターキューは使用可能になりません。

2.6.2. リソースフレーバーの設定

ClusterQueue オブジェクトを設定したら、ResourceFlavor オブジェクトを設定できます。

クラスター内のリソースは通常、同種ではありません。クラスター内のリソースが同種である場合は、カスタムリソースフレーバーにラベルを追加する代わりに、空の ResourceFlavor を使用できます。

カスタム ResourceFlavor オブジェクトを使用すると、ラベル、taint、および toleration を通じてクラスターノードに関連付けられているさまざまなリソースのバリエーションを表すことができます。その後、ワークロードを特定のノードタイプに関連付けて、きめ細かなリソース管理が可能になります。

前提条件

  • Red Hat build of Kueue Operator がクラスターにインストールされている。
  • クラスター管理者権限または kueue-batch-admin-role ロールがある。
  • OpenShift CLI (oc) がインストールされている。

手順

  1. ResourceFlavor オブジェクトを YAML ファイルとして作成します。

    空の ResourceFlavor オブジェクトの例

    apiVersion: kueue.x-k8s.io/v1beta1
    kind: ResourceFlavor
    metadata:
      name: default-flavor
    Copy to Clipboard Toggle word wrap

    カスタム ResourceFlavor オブジェクトの例

    apiVersion: kueue.x-k8s.io/v1beta1
    kind: ResourceFlavor
    metadata:
      name: "x86"
    spec:
      nodeLabels:
        cpu-arch: x86
    Copy to Clipboard Toggle word wrap

  2. 以下のコマンドを実行して ResourceFlavor オブジェクトを適用します。

    $ oc apply -f <filename>.yaml
    Copy to Clipboard Toggle word wrap

2.6.3. ローカルキューの設定

ローカルキューは、LocalQueue オブジェクトによって表される namespace オブジェクトであり、単一の namespace に属する密接に関連するワークロードをグループ化します。

管理者は、LocalQueue オブジェクトをクラスターキューを指すように設定できます。これにより、クラスターキューのリソースが、LocalQueue オブジェクトで指定された namespace 内のワークロードに割り当てられます。

前提条件

  • Red Hat build of Kueue Operator がクラスターにインストールされている。
  • クラスター管理者権限または kueue-batch-admin-role ロールがある。
  • OpenShift CLI (oc) がインストールされている。
  • ClusterQueue オブジェクトを作成している。

手順

  1. LocalQueue オブジェクトを YAML ファイルとして作成します。

    基本的な LocalQueue オブジェクトの例

    apiVersion: kueue.x-k8s.io/v1beta1
    kind: LocalQueue
    metadata:
      namespace: team-namespace
      name: user-queue
    spec:
      clusterQueue: cluster-queue
    Copy to Clipboard Toggle word wrap

  2. 次のコマンドを実行して、LocalQueue オブジェクトを適用します。

    $ oc apply -f <filename>.yaml
    Copy to Clipboard Toggle word wrap

2.6.4. デフォルトのローカルキューの設定

クラスター管理者は、各ジョブに明示的にラベルを付けることなく、選択した namespace 内のすべてのジョブを管理することで、クラスター内のクォータの適用を改善できます。これは、デフォルトのローカルキューを作成することで実行できます。

デフォルトのローカルキューは、kueue.x-k8s.io/queue-name ラベルを持たない新しく作成されたジョブのローカルキューとして機能します。デフォルトのローカルキューを作成してから、kueue.x-k8s.io/queue-name ラベルのない namespace に新しいジョブを作成すると、そのジョブが更新されて自動的に kueue.x-k8s.io/queue-name: default ラベルが付与されます。

重要

デフォルトのローカルキューを作成しても、namespace 内の既存のジョブは影響を受けません。デフォルトのローカルキューを作成する前に、namespace にジョブがすでに存在する場合は、そのジョブに明示的にラベルを付けてキューに割り当てる必要があります。

前提条件

  • クラスターに Red Hat build of Kueue バージョン 1.1 がインストールされている。
  • クラスター管理者権限または kueue-batch-admin-role ロールがある。
  • OpenShift CLI (oc) がインストールされている。
  • ClusterQueue オブジェクトを作成している。

手順

  1. default という名前の LocalQueue オブジェクトを YAML ファイルとして作成します。

    デフォルトの LocalQueue オブジェクトの例

    apiVersion: kueue.x-k8s.io/v1beta1
    kind: LocalQueue
    metadata:
      namespace: team-namespace
      name: default
    spec:
      clusterQueue: cluster-queue
    Copy to Clipboard Toggle word wrap

  2. 次のコマンドを実行して、LocalQueue オブジェクトを適用します。

    $ oc apply -f <filename>.yaml
    Copy to Clipboard Toggle word wrap

検証

  1. デフォルトのローカルキューと同じ namespace にジョブを作成します。
  2. ジョブが kueue.x-k8s.io/queue-name: default ラベルで更新されることを確認します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat