第6章 Dynamic Accelerator Slicer (DAS) Operator


重要

Dynamic Accelerator Slicer Operator はテクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

Dynamic Accelerator Slicer (DAS) Operator を使用すると、ノードの起動時に定義された静的にスライスされた GPU に依存するのではなく、OpenShift Container Platform で GPU アクセラレーターを動的にスライスできます。これにより、特定のワークロード需要に基づいて GPU を動的にスライスし、リソースを効率的に使用できるようになります。

動的スライスは、クラスター内のすべてのノードで事前に必要なすべてのアクセラレーターパーティションがわからない場合に役立ちます。

現在、DAS Operator には NVIDIA Multi-Instance GPU (MIG)の参照実装が含まれており、今後他のベンダーからの NVIDIA MPS や GPU などの追加のテクノロジーをサポートするように設計されています。

制限事項

Dynamic Accelerator Slicer Operator を使用する場合は、以下の制限が適用されます。

  • 潜在的な非互換性を特定し、システムがさまざまな GPU ドライバーおよびオペレーティングシステムでシームレスに動作することを確認する必要があります。
  • Operator は、H100 や A100 などの特定の MIG と互換性のある NVIDIA GPU およびドライバーでのみ動作します。
  • Operator は、ノードの GPU のサブセットのみを使用することはできません。
  • NVIDIA デバイスプラグインは、Dynamic Accelerator Slicer Operator と組み合わせて使用してクラスターの GPU リソースを管理することはできません。
注記

DAS Operator は、MIG 対応の GPU で動作するように設計されています。GPU 全体ではなく、MIG スライスを割り当てます。DAS Operator をインストールすると、GPU 全体の割り当てに nvidia.com/gpu: "1" などの NVIDIA デバイスプラグインを介した標準のリソース要求の使用が妨げられます。

6.1. Dynamic Accelerator Slicer Operator のインストール

クラスター管理者は、OpenShift Container Platform Web コンソールまたは OpenShift CLI を使用して Dynamic Accelerator Slicer (DAS) Operator をインストールできます。

6.1.1. Web コンソールでの Dynamic Accelerator Slicer Operator のインストール

クラスター管理者は、OpenShift Container Platform Web コンソールを使用して Dynamic Accelerator Slicer (DAS) Operator をインストールできます。

前提条件

  • cluster-admin パーミッションを持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできる。
  • 必要な前提条件がインストールされている。

    • cert-manager Operator for Red Hat OpenShift
    • Node Feature Discovery (NFD) Operator
    • NVIDIA GPU Operator
    • NodeFeatureDiscovery CR

手順

  1. MIG をサポートするように NVIDIA GPU Operator を設定します。

    1. OpenShift Container Platform Web コンソールで、Operators Installed Operators に移動します。
    2. インストールされている Operator の一覧から NVIDIA GPU Operator を選択します。
    3. ClusterPolicy タブをクリックし、Create ClusterPolicy をクリックします。
    4. YAML エディターで、デフォルトのコンテンツを以下のクラスターポリシー設定に置き換えて、デフォルトの NVIDIA デバイスプラグインを無効にし、MIG サポートを有効にします。

      apiVersion: nvidia.com/v1
      kind: ClusterPolicy
      metadata:
        name: gpu-cluster-policy
      spec:
        daemonsets:
          rollingUpdate:
            maxUnavailable: "1"
          updateStrategy: RollingUpdate
        dcgm:
          enabled: true
        dcgmExporter:
          config:
            name: ""
          enabled: true
          serviceMonitor:
            enabled: true
        devicePlugin:
          config:
            default: ""
            name: ""
          enabled: false
          mps:
            root: /run/nvidia/mps
        driver:
          certConfig:
            name: ""
          enabled: true
          kernelModuleConfig:
            name: ""
          licensingConfig:
            configMapName: ""
            nlsEnabled: true
          repoConfig:
            configMapName: ""
          upgradePolicy:
            autoUpgrade: true
            drain:
              deleteEmptyDir: false
              enable: false
              force: false
              timeoutSeconds: 300
            maxParallelUpgrades: 1
            maxUnavailable: 25%
            podDeletion:
              deleteEmptyDir: false
              force: false
              timeoutSeconds: 300
            waitForCompletion:
              timeoutSeconds: 0
          useNvidiaDriverCRD: false
          useOpenKernelModules: false
          virtualTopology:
            config: ""
        gdrcopy:
          enabled: false
        gds:
          enabled: false
        gfd:
          enabled: true
        mig:
          strategy: mixed
        migManager:
          config:
            default: ""
            name: default-mig-parted-config
          enabled: true
          env:
            - name: WITH_REBOOT
              value: 'true'
            - name: MIG_PARTED_MODE_CHANGE_ONLY
              value: 'true'
        nodeStatusExporter:
          enabled: true
        operator:
          defaultRuntime: crio
          initContainer: {}
          runtimeClass: nvidia
          use_ocp_driver_toolkit: true
        sandboxDevicePlugin:
          enabled: true
        sandboxWorkloads:
          defaultWorkload: container
          enabled: false
        toolkit:
          enabled: true
          installDir: /usr/local/nvidia
        validator:
          plugin:
            env:
            - name: WITH_WORKLOAD
              value: "false"
          cuda:
            env:
            - name: WITH_WORKLOAD
              value: "false"
        vfioManager:
          enabled: true
        vgpuDeviceManager:
          enabled: true
        vgpuManager:
          enabled: false
      Copy to Clipboard Toggle word wrap
    5. Create をクリックして、クラスターポリシーを適用します。
    6. Workloads Pods に移動し、nvidia-gpu-operator namespace を選択して、クラスターポリシーのデプロイを監視します。
    7. NVIDIA GPU Operator クラスターポリシーが Ready 状態になるまで待ちます。これは、以下の方法でモニターできます。

      1. Operators Installed Operators NVIDIA GPU Operator に移動します。
      2. ClusterPolicy タブをクリックし、ステータスに ready が表示されていることを確認します。
    8. nvidia-gpu-operator namespace を選択し、Workloads Pods に移動して、NVIDIA GPU Operator namespace のすべての Pod が実行されていることを確認します。
    9. MIG モードを有効にするために MIG 対応 GPU でノードにラベルを付けます。

      1. Compute Nodes に移動します。
      2. MIG 対応 GPU を持つノードを選択します。
      3. Actions Edit Labels をクリックします。
      4. ラベル nvidia.com/mig.config=all-enabled を追加します。
      5. Save をクリックします。
      6. MIG 対応の GPU が設定された各ノードで繰り返します。

        重要

        MIG ラベルを適用すると、ラベルが付けられたノードが再起動し、MIG モードが有効になります。ノードがオンラインに戻るのを待ってから続行します。

    10. nvidia.com/mig.config=all-enabled ラベルが Labels セクションに表示されることを確認して、GPU ノードで MIG モードが正常に有効になっていることを確認します。ラベルを見つけるには、Compute Nodes に移動し、GPU ノードを選択して、Details タブをクリックします。
  2. OpenShift Container Platform Web コンソールで、Operators OperatorHub をクリックします。
  3. フィルターボックスで Dynamic Accelerator Slicer または DAS を検索し、DAS Operator を見つけます。
  4. Dynamic Accelerator Slicer を選択し、Install をクリックします。
  5. Install Operator ページで以下を行います。

    1. インストールモードの場合は、All namespaces on the cluster (default) を選択します。
    2. Installed Namespace Operator recommended Namespace: Project das-operator を選択します。
    3. 新規 namespace を作成する場合、名前空間名として das-operator を入力します。
    4. 更新チャネルを選択します。
    5. 承認ストラテジーの場合は、Automatic または Manual を選択します。
  6. Install をクリックします。
  7. OpenShift Container Platform Web コンソールで、Operators Installed Operators をクリックします。
  8. リストから DAS Operator を選択します。
  9. Provided APIs テーブルの列で、DASOperator をクリックします。これにより、Operator details ページの DASOperator タブに移動します。
  10. Create DASOperator をクリックします。これにより、Create DASOperator YAML ビューに移動します。
  11. YAML エディターで、以下の例を貼り付けます。

    DASOperator CR の例

    apiVersion: inference.redhat.com/v1alpha1
    kind: DASOperator
    metadata:
      name: cluster 
    1
    
      namespace: das-operator
    spec:
      logLevel: Normal
      operatorLogLevel: Normal
      managementState: Managed
    Copy to Clipboard Toggle word wrap

    1
    DASOperator CR の名前は cluster でなければなりません。
  12. Create をクリックします。

検証

DAS Operator が正常にインストールされていることを確認します。

  1. Operators Installed Operators ページに移動します。
  2. StatusSucceeded で、Dynamic Accelerator Slicerdas-operator namespace に一覧表示されていることを確認します。

DASOperator CR が正常にインストールされていることを確認するには、以下を実行します。

  • DASOperator CR を作成すると、Web コンソールで DASOperator リストビュー が表示されます。すべてのコンポーネントが実行されている場合、CR の Status フィールドが Available に変わります。
  • オプション: OpenShift CLI で次のコマンドを実行して、DASOperator CR が正常にインストールされていることを確認できます。

    $ oc get dasoperator -n das-operator
    Copy to Clipboard Toggle word wrap

    出力例

    NAME     	STATUS    	AGE
    cluster  	Available	3m
    Copy to Clipboard Toggle word wrap

注記

インストール時に、Operator は Failed ステータスを表示する可能性があります。その後インストールが成功し、Succeeded メッセージが表示された場合は、Failed メッセージを無視できます。

Pod を確認してインストールを検証することもできます。

  1. Workloads Pods ページに移動し、das-operator namespace を選択します。
  2. すべての DAS Operator コンポーネント Pod が実行されていることを確認します。

    • das-operator Pod (main Operator コントローラー)
    • das-operator-webhook Pod (webhook サーバー)
    • das-scheduler Pod (scheduler プラグイン)
    • Das-daemonset Pod (MIG 互換の GPU を持つノードのみ)
注記

das-daemonset Pod は、MIG 互換の GPU ハードウェアを持つノードにのみ表示されます。daemonset Pod が表示されない場合は、クラスターにサポート対象の GPU ハードウェアを持つノードがあり、NVIDIA GPU Operator が適切に設定されていることを確認します。

トラブルシューティング

Operator がインストールされていないと思われる場合は、次の手順を使用します。

  1. Operators Installed Operators ページに移動し、Operator Subscriptions および Install Plans タブで Status にエラーがあるかどうかを検査します。
  2. Workloads Pods ページに移動し、das-operator namespace で Pod のログを確認します。

6.1.2. CLI を使用した Dynamic Accelerator Slicer Operator のインストール

クラスター管理者は、OpenShift CLI を使用して Dynamic Accelerator Slicer (DAS) Operator をインストールできます。

前提条件

  • cluster-admin パーミッションを持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできる。
  • OpenShift CLI (oc) がインストールされている。
  • 必要な前提条件がインストールされている。

    • cert-manager Operator for Red Hat OpenShift
    • Node Feature Discovery (NFD) Operator
    • NVIDIA GPU Operator
    • NodeFeatureDiscovery CR

手順

  1. MIG をサポートするように NVIDIA GPU Operator を設定します。

    1. 以下のクラスターポリシーを適用して、デフォルトの NVIDIA デバイスプラグインを無効にし、MIG サポートを有効にします。以下の内容で gpu-cluster-policy.yaml という名前のファイルを作成します。

      apiVersion: nvidia.com/v1
      kind: ClusterPolicy
      metadata:
        name: gpu-cluster-policy
      spec:
        daemonsets:
          rollingUpdate:
            maxUnavailable: "1"
          updateStrategy: RollingUpdate
        dcgm:
          enabled: true
        dcgmExporter:
          config:
            name: ""
          enabled: true
          serviceMonitor:
            enabled: true
        devicePlugin:
          config:
            default: ""
            name: ""
          enabled: false
          mps:
            root: /run/nvidia/mps
        driver:
          certConfig:
            name: ""
          enabled: true
          kernelModuleConfig:
            name: ""
          licensingConfig:
            configMapName: ""
            nlsEnabled: true
          repoConfig:
            configMapName: ""
          upgradePolicy:
            autoUpgrade: true
            drain:
              deleteEmptyDir: false
              enable: false
              force: false
              timeoutSeconds: 300
            maxParallelUpgrades: 1
            maxUnavailable: 25%
            podDeletion:
              deleteEmptyDir: false
              force: false
              timeoutSeconds: 300
            waitForCompletion:
              timeoutSeconds: 0
          useNvidiaDriverCRD: false
          useOpenKernelModules: false
          virtualTopology:
            config: ""
        gdrcopy:
          enabled: false
        gds:
          enabled: false
        gfd:
          enabled: true
        mig:
          strategy: mixed
        migManager:
          config:
            default: ""
            name: default-mig-parted-config
          enabled: true
          env:
            - name: WITH_REBOOT
              value: 'true'
            - name: MIG_PARTED_MODE_CHANGE_ONLY
              value: 'true'
        nodeStatusExporter:
          enabled: true
        operator:
          defaultRuntime: crio
          initContainer: {}
          runtimeClass: nvidia
          use_ocp_driver_toolkit: true
        sandboxDevicePlugin:
          enabled: true
        sandboxWorkloads:
          defaultWorkload: container
          enabled: false
        toolkit:
          enabled: true
          installDir: /usr/local/nvidia
        validator:
          plugin:
            env:
            - name: WITH_WORKLOAD
              value: "false"
          cuda:
            env:
            - name: WITH_WORKLOAD
              value: "false"
        vfioManager:
          enabled: true
        vgpuDeviceManager:
          enabled: true
        vgpuManager:
          enabled: false
      Copy to Clipboard Toggle word wrap
    2. 以下のコマンドを実行してクラスターポリシーを適用します。

      $ oc apply -f gpu-cluster-policy.yaml
      Copy to Clipboard Toggle word wrap
    3. 次のコマンドを実行して、NVIDIA GPU Operator クラスターポリシーが Ready 状態になったことを確認します。

      $ oc get clusterpolicies.nvidia.com gpu-cluster-policy -w
      Copy to Clipboard Toggle word wrap

      STATUS 列の 準備完了 が表示されるまで待ちます。

      出力例

      NAME                 STATUS   AGE
      gpu-cluster-policy   ready    2025-08-14T08:56:45Z
      Copy to Clipboard Toggle word wrap

    4. 次のコマンドを実行して、NVIDIA GPU Operator namespace のすべての Pod が実行されていることを確認します。

      $ oc get pods -n nvidia-gpu-operator
      Copy to Clipboard Toggle word wrap

      すべての Pod に Running または Completed のステータスが表示されます。

    5. 以下のコマンドを実行して MIG 対応 GPU でノードにラベルを付け、MIG モードを有効にします。

      $ oc label node $NODE_NAME nvidia.com/mig.config=all-enabled --overwrite
      Copy to Clipboard Toggle word wrap

      $NODE_NAME を、MIG 対応の GPU を搭載した各ノードの名前に置き換えます。

      重要

      MIG ラベルを適用すると、ラベルが付けられたノードが再起動し、MIG モードが有効になります。ノードがオンラインに戻るのを待ってから続行します。

    6. 以下のコマンドを実行して、ノードが MIG モードを正常に有効化していることを確認します。

      $ oc get nodes -l nvidia.com/mig.config=all-enabled
      Copy to Clipboard Toggle word wrap
  2. DAS Operator の namespace を作成します。

    1. das-operator namespace を定義する以下の Namespace カスタムリソース(CR)を作成し、YAML を das-namespace.yaml ファイルに保存します。

      apiVersion: v1
      kind: Namespace
      metadata:
        name: das-operator
        labels:
          name: das-operator
          openshift.io/cluster-monitoring: "true"
      Copy to Clipboard Toggle word wrap
    2. 以下のコマンドを実行して namespace を作成します。

      $ oc create -f das-namespace.yaml
      Copy to Clipboard Toggle word wrap
  3. 以下のオブジェクトを作成して、直前の手順で作成した namespace に DAS Operator をインストールします。

    1. 以下の OperatorGroup CR を作成し、YAML を das-operatorgroup.yaml ファイルに保存します。

      apiVersion: operators.coreos.com/v1
      kind: OperatorGroup
      metadata:
        generateName: das-operator-
        name: das-operator
        namespace: das-operator
      Copy to Clipboard Toggle word wrap
    2. 以下のコマンドを実行して OperatorGroup CR を作成します。

      $ oc create -f das-operatorgroup.yaml
      Copy to Clipboard Toggle word wrap
    3. 以下の Subscription CR を作成し、YAML を das-sub.yaml ファイルに保存します。

      Subscription の例

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: das-operator
        namespace: das-operator
      spec:
        channel: "stable"
        installPlanApproval: Automatic
        name: das-operator
        source: redhat-operators
        sourceNamespace: openshift-marketplace
      Copy to Clipboard Toggle word wrap

    4. 以下のコマンドを実行して Subscription オブジェクトを作成します。

      $ oc create -f das-sub.yaml
      Copy to Clipboard Toggle word wrap
    5. das-operator プロジェクトに切り替えます。

      $ oc project das-operator
      Copy to Clipboard Toggle word wrap
    6. 以下の DASOperator CR を作成し、YAML を das-dasoperator.yaml ファイルに保存します。

      DASOperator CR の例

      apiVersion: inference.redhat.com/v1alpha1
      kind: DASOperator
      metadata:
        name: cluster 
      1
      
        namespace: das-operator
      spec:
        managementState: Managed
        logLevel: Normal
        operatorLogLevel: Normal
      Copy to Clipboard Toggle word wrap

      1
      DASOperator CR の名前は cluster でなければなりません。
    7. 次のコマンドを実行して、dasoperator CR を作成します。

      oc create -f das-dasoperator.yaml
      Copy to Clipboard Toggle word wrap

検証

  • 次のコマンドを実行して、Operator のデプロイメントが正常に行われていることを確認します。

    $ oc get pods
    Copy to Clipboard Toggle word wrap

    出力例

    NAME                                    READY   STATUS    RESTARTS   AGE
    das-daemonset-6rsfd                     1/1     Running   0          5m16s
    das-daemonset-8qzgf                     1/1     Running   0          5m16s
    das-operator-5946478b47-cjfcp           1/1     Running   0          5m18s
    das-operator-5946478b47-npwmn           1/1     Running   0          5m18s
    das-operator-webhook-59949d4f85-5n9qt   1/1     Running   0          68s
    das-operator-webhook-59949d4f85-nbtdl   1/1     Running   0          68s
    das-scheduler-6cc59dbf96-4r85f          1/1     Running   0          68s
    das-scheduler-6cc59dbf96-bf6ml          1/1     Running   0          68s
    Copy to Clipboard Toggle word wrap

    正常にデプロイされると、Running ステータスを持つすべての Pod が表示されます。デプロイメントには以下が含まれます。

    das-operator
    メイン Operator コントローラー Pod
    das-operator-webhook
    変更用 Pod 要求の Webhook サーバー Pod
    das-scheduler
    MIG スライス割り当て用の Scheduler プラグイン Pod
    Das-daemonset

    MIG 互換の GPU を持つノードでのみ実行される DaemonSet Pod

    注記

    das-daemonset Pod は、MIG 互換の GPU ハードウェアを持つノードにのみ表示されます。daemonset Pod が表示されない場合は、クラスターにサポート対象の GPU ハードウェアを持つノードがあり、NVIDIA GPU Operator が適切に設定されていることを確認します。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat