2.11. クォータ制限付きジョブの実行


Red Hat build of Kueue を有効にして Kubernetes ジョブを実行すると、定義したクォータ制限内でリソースの割り当てを管理できます。これにより、予測可能なリソースの可用性、クラスターの安定性、およびパフォーマンスの最適化に役立ちます。

2.11.1. 利用可能なローカルキューの特定

ジョブをキューに送信する前に、ローカルキューの名前を見つける必要があります。

前提条件

  • クラスター管理者によって OpenShift Container Platform クラスターに Red Hat build of Kueue がインストールおよび設定されている。
  • クラスター管理者によって kueue-batch-user-role クラスターロールが割り当てられている。
  • OpenShift CLI (oc) がインストールされている。

手順

  • 次のコマンドを実行し、namespace 内で使用可能なローカルキューをリスト表示します。

    $ oc -n <namespace> get localqueues
    Copy to Clipboard Toggle word wrap

    出力例

    NAME         CLUSTERQUEUE    PENDING WORKLOADS
    user-queue   cluster-queue   3
    Copy to Clipboard Toggle word wrap

2.11.2. Red Hat build of Kueue で実行するジョブの定義

Red Hat build of Kueue で実行するジョブを定義する場合は、次の基準を満たしていることを確認してください。

  • kueue.x-k8s.io/queue-name ラベルを使用して、ジョブの送信先となるローカルキューを指定します。
  • 各ジョブ Pod のリソース要求を含めます。

Red Hat build of Kueue はジョブを一時停止し、リソースが利用可能になったときにジョブを開始します。Red Hat build of Kueue は、ジョブと同じ名前の Workload オブジェクトとして表される、対応するワークロードを作成します。

前提条件

  • クラスター管理者によって OpenShift Container Platform クラスターに Red Hat build of Kueue がインストールおよび設定されている。
  • クラスター管理者によって kueue-batch-user-role クラスターロールが割り当てられている。
  • OpenShift CLI (oc) がインストールされている。
  • ジョブを送信するローカルキューの名前を特定した。

手順

  1. Job オブジェクトを作成します。

    ジョブの例

    apiVersion: batch/v1
    kind: Job 
    1
    
    metadata:
      generateName: sample-job- 
    2
    
      namespace: my-namespace
      labels:
        kueue.x-k8s.io/queue-name: user-queue 
    3
    
    spec:
      parallelism: 3
      completions: 3
      template:
        spec:
          containers:
          - name: dummy-job
            image: registry.k8s.io/e2e-test-images/agnhost:2.53
            args: ["entrypoint-tester", "hello", "world"]
            resources: 
    4
    
              requests:
                cpu: 1
                memory: "200Mi"
          restartPolicy: Never
    Copy to Clipboard Toggle word wrap

    1
    リソースタイプを、バッチ計算タスクを表す Job オブジェクトとして定義します。
    2
    ジョブの一意の名前を生成するための接頭辞を提供します。
    3
    ジョブを送信するキューを識別します。
    4
    各 Pod のリソース要求を定義します。
  2. 次のコマンドを実行してジョブを実行します。

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

検証

  • 次のコマンドを実行して出力を確認し、作成したジョブに対して Pod が実行されていることをチェックします。

    $ oc get job <job-name>
    Copy to Clipboard Toggle word wrap

    出力例

    NAME               STATUS      COMPLETIONS   DURATION   AGE
    sample-job-sk42x   Suspended   0/1                      2m12s
    Copy to Clipboard Toggle word wrap

  • 次のコマンドを実行して出力を確認し、ワークロードがジョブの namespace で作成されたことをチェックします。

    $ oc -n <namespace> get workloads
    Copy to Clipboard Toggle word wrap

    出力例

    NAME                         QUEUE          RESERVED IN   ADMITTED   FINISHED   AGE
    job-sample-job-sk42x-77c03   user-queue                                         3m8s
    Copy to Clipboard Toggle word wrap

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat