4.4.4. JobSet Operator のボリュームクレームポリシーの設定


JobSet を設定することで、複数のレプリケートされたジョブ間で共有される永続ボリューム要求 (PVC) を自動的に作成および管理できます。これは、データセット、モデル、またはチェックポイントへの共有アクセスを必要とするワークロードに役立ちます。

前提条件

  • クラスターに JobSet Operator がインストールされています。
  • ワークロードに対して、デフォルトのストレージクラスを設定したか、ストレージクラスを選択しました。

手順

  1. JobSet YAML ファイルの spec.volumeClaimPolicies セクションでボリュームテンプレートを定義します。

    apiVersion: jobset.x-k8s.io/v1alpha2
    kind: JobSet
    metadata:
      name: <job_name>
    spec:
      volumeClaimPolicies:
        - templates:
            - metadata:
                name: <persistent_volume_claim_name_prefix>
              spec:
                accessModes: ["ReadWriteOnce"]
                storageClassName: mystorageclass
                resources:
                  requests:
                    storage: 1Gi
          retentionPolicy:
            whenDeleted: Retain

    各項目の説明:

    < ジョブ名 >
    名前空間内のジョブを識別するための固有の識別子を指定します。
    <persistent_volume_claim_name>
    PVC の名前を指定します。ここで使用した名前は、volumeMounts の 名前としても使用されます。<persistent_volume_claim_name>-<job_name> の形式で作成された PVC をマウントするボリュームが、Pod に自動的に追加されます。
    < 削除保持ポリシー >
    削除保持ポリシーを指定します。オプションとして、この値を 保持 に設定することで、ジョブセットが削除された後もデータを保持できます。
  2. replicatedJobs の 設定で、定義したテンプレート名に一致する volumeMount を追加してください。

    apiVersion: jobset.x-k8s.io/v1alpha2
    kind: JobSet
    metadata:
      name: <job_name>
    spec:
      replicatedJobs:
      - name: workers
        template:
          spec:
            parallelism: 2
            completions: 2
            backoffLimit: 0
            template:
              spec:
                imagePullSecrets:
                  - name: my-registry-secret
                initContainers:
                  - name: prepare
                    image: docker.io/alpine/git:v2.52.0
                    args: ['clone', 'https://github.com/pytorch/examples']
                    volumeMounts:
                      - name: <persistent_volume_claim_name>
                        mountPath: /git/checkpoint
    #...
  3. 以下のコマンドを実行して、JobSet の設定を適用してください。

    $ oc apply -f <jobset_yaml>

検証

  • PVC が <claim_name>-<jobset_name> という 命名規則を使用して作成されたことを確認してください。

    $ oc get pvc

    出力例

    NAME          STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
    pvc-1       Bound    pvc-385996a0-70af-4791-aa8e-9e6459e6b123   3Gi        RWO            file-storage   3d
    pvc-2       Bound    pvc-8aeddd4d-aad5-4039-8d04-640a71c9a72d   12Gi       RWO            file-storage   3d
    pvc-3       Bound    pvc-0050144d-940c-4c4e-a23a-2a660a5490eb   12Gi       RWO            file-storage   3d

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る