第11章 DPU Operator


11.1. DPU Operator

クラスター管理者は、DPU Operator をクラスターに追加して、DPU デバイスとネットワークアタッチメントを管理できます。

重要

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

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

11.1.1. DPU Operator による DPU のオーケストレーション

Data Processing Unit (DPU) Operator を使用すると、ネットワーキング、ストレージ、およびセキュリティーのワークロードをホスト CPU からオフロードする DPU を管理して、クラスターのパフォーマンスと効率を高めることができます。

DPU は、プログラム可能なプロセッサーの一種です。CPU や GPU と並んでコンピューティングを支える 3 つの基本的な柱の 1 つです。CPU が一般的なコンピューティングタスクを処理し、GPU が特定のワークロードを高速化するのに対し、DPU の主なロールは、ネットワーク、ストレージ、セキュリティー機能などのデータ中心のワークロードをオフロードして高速化することです。

DPU は通常、データセンターやクラウド環境で、CPU からこれらのタスクをオフロードすることでパフォーマンスを向上させ、レイテンシーを削減し、セキュリティーを強化するために使用されます。DPU を使用して、特化したワークロードをデータソースのより近くにデプロイすることを可能にし、それによって、より効率的で柔軟なインフラストラクチャーを構築することもできます。

DPU Operator は、DPU デバイスとネットワークアタッチメントを管理します。DPU Operator は、DPU 上で稼働する DPU デーモンを制御する API を介して通信する OpenShift Container Platform コンピュートノードに、DPU デーモンをデプロイします。DPU Operator は、ovn-kube コンポーネントのライフサイクル管理と、DPU における必須のホストネットワーク初期化という役割を担います。

次の表は、現在サポートされている DPU デバイスを示しています。

Expand
表11.1 サポートされるデバイス
ベンターデバイスファームウェア説明

Intel

IPU E2100

バージョン 2.0.0.11126 以降

データセンターのホスト CPU からネットワーク、ストレージ、およびセキュリティータスクをオフロードし、効率とパフォーマンスを向上させるように設計された DPU。完全なエンドツーエンドのソリューションをデプロイする手順は、Red Hat ナレッジベースソリューション Accelerating Confidential AI on OpenShift with the Intel E2100 IPU, DPU Operator, and F5 NGINX を参照してください。

Senao

SX904

35.23.47.0008 以降

データセンターやエッジコンピューティング環境のホスト CPU からコンピュートとネットワークサービスをオフロードし、ワークロードの効率と分離を向上させるように設計された SmartNIC。

Marvell

Marvell Octeon 10 CN106

SDK12.25.01 以降

データセンターやエッジコンピューティング環境のホスト CPU から高速データ処理を必要とするワークロードをオフロードし、パフォーマンスとエネルギー効率を高めるように設計された DPU。

注記

NVIDIA BlueField-3 はサポートされていません。

11.1.2. DPU Operator のインストール

ホストクラスターと DPU クラスターの両方に Data Processing Unit (DPU) Operator をインストールし、CLI または Web コンソールを使用してデバイスのライフサイクルとネットワークアタッチメントを管理できます。

クラスター管理者は、OpenShift Container Platform CLI または Web コンソールを使用して、ホストクラスターおよびすべての DPU クラスターに DPU Operator をインストールできます。DPU Operator は、サポートされているすべての DPU のライフサイクル、DPU デバイス、およびネットワークアタッチメントを管理します。

注記

ホストクラスターと各 DPU クラスターに DPU Operator をインストールする必要があります。

11.1.2.1. CLI を使用して DPU Operator をインストールする

CLI を使用して DPU Operator をインストールできます。DPU Operator を使用すると、ホストクラスターで DPU デバイス管理を設定するときにインストールプロセスを単純化できます。

クラスター管理者は、CLI を使用して DPU Operator をインストールできます。

注記

DPU クラスターに DPU Operator をインストールするには、CLI を使用する必要があります。

前提条件

  • OpenShift CLI (oc) がインストールされている。
  • cluster-admin 権限を持つアカウントがある。

手順

  1. 次のコマンドを入力して、openshift-dpu-operator namespace を作成します。

    $ cat << EOF| oc create -f -
    apiVersion: v1
    kind: Namespace
    metadata:
      name: openshift-dpu-operator
      annotations:
        workload.openshift.io/allowed: management
    EOF
    Copy to Clipboard Toggle word wrap
  2. 次のコマンドを入力して、OperatorGroup カスタムリソース (CR) を作成します。

    $ cat << EOF| oc create -f -
    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: dpu-operators
      namespace: openshift-dpu-operator
    spec:
      targetNamespaces:
      - openshift-dpu-operator
    EOF
    Copy to Clipboard Toggle word wrap
  3. 次のコマンドを入力して、DPU Operator の Subscription CR を作成します。

    $ cat << EOF| oc create -f -
    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: openshift-dpu-operator-subscription
      namespace: openshift-dpu-operator
    spec:
      channel: stable
      name: dpu-operator
      source: redhat-operators
      sourceNamespace: openshift-marketplace
    EOF
    Copy to Clipboard Toggle word wrap

検証

  1. Operator がインストールされていることを確認するには、次のコマンドを入力し、Operator に対して出力に Succeeded と表示されていることを確認します。

    $ oc get csv -n openshift-dpu-operator \
      -o custom-columns=Name:.metadata.name,Phase:.status.phase
    Copy to Clipboard Toggle word wrap
  2. openshift-dpu-operator プロジェクトに変更します。

    $ oc project openshift-dpu-operator
    Copy to Clipboard Toggle word wrap
  3. 次のコマンドを入力して、DPU Operator が実行されていることを確認します。

    $ oc get pods -n openshift-dpu-operator
    Copy to Clipboard Toggle word wrap

    出力例

    NAME                                               READY   STATUS    RESTARTS   AGE
    dpu-operator-controller-manager-6b7bbb5db8-7lvkj   2/2     Running   0          2m9s
    Copy to Clipboard Toggle word wrap

11.1.2.2. Web コンソールを使用して DPU Operator をインストールする

Web コンソールを使用して DPU Operator をインストールできます。DPU Operator を使用すると、ホストクラスターで DPU デバイス管理を設定するときにインストールプロセスを単純化できます。

クラスター管理者は、Web コンソールを使用して DPU Operator をインストールできます。

前提条件

  • OpenShift CLI (oc) がインストールされている。
  • cluster-admin 権限を持つアカウントがある。

手順

  1. OpenShift Container Platform Web コンソールで、Ecosystem Software Catalog をクリックします。
  2. 利用可能な Operator のリストから DPU Operator を選択してから Install をクリックします。
  3. Install Operator ページの Installed Namespace で、Operator recommended Namespace オプションを選択します。アクションは不要です。

    1. Install をクリックします。

検証

  1. Ecosystem Installed Operators ページに移動します。
  2. openshift-dpu-operator プロジェクトに DPU Operator がリストされており、その StatusInstallSucceeded であることを確認します。

    注記

    インストール時に、Operator は Failed ステータスを表示する可能性があります。インストールが後に InstallSucceeded メッセージを出して正常に実行される場合は、Failed メッセージを無視できます。

トラブルシューティング

  • Operator Subscriptions および Install Plans タブで、Status の下の失敗またはエラーの有無を確認します。
  • Workloads Pods ページに移動し、openshift-dpu-operator プロジェクトで Pod のログを確認します。
  • YAML ファイルの namespace を確認してください。アノテーションが抜けている場合は、次のコマンドを使用して、アノテーション workload.openshift.io/allowed=management を Operator namespace に追加できます。

    $ oc annotate ns/openshift-dpu-operator workload.openshift.io/allowed=management
    Copy to Clipboard Toggle word wrap
    注記

    シングルノード OpenShift クラスターの場合は、namespace にアノテーション workload.openshift.io/allowed=management が必要です。

11.1.3. DPU Operator の設定

インストール後に DPU Operator を設定して、デュアルクラスターとシングルクラスターの両方のデプロイメントモードで DPU デバイスとネットワークアタッチメントの管理を有効にできます。

クラスター内の DPU デバイスとネットワークアタッチメントを管理するように DPU Operator を設定できます。

DPU Operator を設定するには、次の手順に従います。

手順

  1. デプロイメントモードに基づき、DpuOperatorConfig カスタムリソース (CR) を作成します。

    • デュアルクラスターデプロイメント: ホスト OpenShift Container Platform クラスターと、各 Red Hat build of MicroShift (MicroShift) DPU クラスターの両方に、DpuOperatorConfig CR を作成する必要があります。
    • シングルクラスターデプロイメント: このデプロイメントでは、標準の OpenShift Container Platform クラスターを使用します。このクラスターでは、DpuOperatorConfig CR を 1 回だけ作成する必要があります。

      CR の内容はすべてのクラスターで同じです。

  2. 次の YAML を使用して、dpu-operator-config.yaml という名前のファイルを作成します。

    apiVersion: config.openshift.io/v1
    kind: DpuOperatorConfig
    metadata:
     name: dpu-operator-config
    spec:
     logLevel: 0
    Copy to Clipboard Toggle word wrap
    • metadata.name: カスタムリソースの名前を指定します。これは dpu-operator-config である必要があります。
    • spec.logLevel: Operator コンテナーログに任意のログ詳細レベルを設定します。値のデフォルト設定は 0 です。
  3. 次のコマンドを実行して、リソースを作成します。

    $ oc apply -f dpu-operator-config.yaml
    Copy to Clipboard Toggle word wrap
  4. DPU が接続されている、あるいは DPU として機能している、そのいずれかに該当するすべてのノードにラベルを付けます。次のコマンドを実行してこのラベルを適用できます。

    $ oc label node <node_name> dpu=true
    Copy to Clipboard Toggle word wrap

    ここでは、以下のようになります。

    node_name

    ノードの名前を参照します (例: worker-1)。

    注記

    DPU と互換性のあるクラスターは、次の 2 つの方法でデプロイできます。

    • デュアルクラスターデプロイメント: ホスト上で実行される OpenShift Container Platform と、DPU 上で実行される Red Hat build of MicroShift (MicroShift) で構成されます。このモードでは、Red Hat build of MicroShift (MicroShift) インスタンスも DPU Operator をデプロイする必要があり、ノードに dpu=true のラベルを設定する必要があります。
    • シングルクラスターデプロイメント: DPU がメインクラスターに統合されているホスト上で実行される OpenShift Container Platform のみで構成されます。DPU では、DPU がインストールされているホストノードと DPU ノード自体の両方に dpu=true のラベルが必要です。DPU Operator は、ノードが DPU として実行されているか、DPU が割り当てられたホストとして実行されているかを自動的に検出します。

11.1.4. DPU を搭載したホスト上でワークロードを実行する

DPU を搭載したホストにワークロードをデプロイすると、特殊なインフラストラクチャータスクをオフロードし、ホストの CPU リソースを解放しながらパフォーマンスを高めることができます。

DPU でワークロードを実行すると、ネットワーク、セキュリティー、ストレージなどの特殊なインフラストラクチャータスクを専用の処理ユニットにオフロードできるようになります。これにより、パフォーマンスが向上し、インフラストラクチャーとアプリケーションのワークロード間のセキュリティー境界が強化され、ホストの CPU リソースが解放されます。

DPU を搭載したホストにワークロードをデプロイするには、次の手順に従います。これは標準的なデプロイメントモデルで、アプリケーションはホストの x86 CPU 上で実行されますが、ネットワークの高速化とオフロードのために DPU が使用されます。

前提条件

  • OpenShift CLI (oc) がインストールされている。
  • cluster-admin 権限を持つアカウントが利用可能である。
  • DPU Operator がインストールされている。

手順

  1. 次の YAML を使用して、ホスト側のワーカーノードで実行するように設計されたサンプルワークロードを作成します。ファイルを workload-host.yaml として保存します。

    apiVersion: v1
    kind: Pod
    metadata:
      name: my-pod
      namespace: default
      annotations:
        k8s.v1.cni.cncf.io/networks: default-sriov-net
    spec:
      nodeSelector:
        kubernetes.io/hostname: worker-237
      containers:
      - name: appcntr1
        image: registry.access.redhat.com/ubi9/ubi:latest
        command: ['/bin/sh', '-c', 'sleep infinity']
        imagePullPolicy: Always
        securityContext:
          priviledged: true
          runAsNonRoot: false
          runAsUser: 0
          seccompProfile:
            type: RuntimeDefault
        resources:
          requests:
            openshift.io/dpu: '1'
          limits:
            openshift.io/dpu: '1'
    Copy to Clipboard Toggle word wrap

    spec.nodeSelector: ノードセレクターは、DPU リソースを持つノード上の Pod をスケジュールします。kubernetes.io/hostname などの標準の Kubernetes セレクターを使用して、サンプル YAML に示すように、特定のノードをターゲットにすることができます。

    注記

    柔軟なスケジューリングのために、DPU Operator はラベル dpu.config.openshift.io/dpuside: "dpu-host" を作成します。このラベルにより、デフォルトのスケジューラーは、DPU を同さいした任意のホストにワークロードを配置できます。ワークロードは自動的にその DPU セカンダリーネットワークに参加します。ノードのラベルが dpu.config.openshift.io/dpuside: "dpu" の場合、そのノードが DPU であることを示しています。DPU Operator は、dpu.config.openshift.io/dpuside ラベルの作成と管理を行います。

  2. 次のコマンドを実行して、ワークロードを作成します。

    $ oc apply -f workload-host.yaml
    Copy to Clipboard Toggle word wrap

11.1.5. DPU でワークロードを実行する

ネットワークワークロードを DPU に直接デプロイすることで、パフォーマンスの向上、セキュリティー分離の強化、ホスト CPU 使用率の削減を実現できます。

DPU は、セキュリティー機能や仮想化アプライアンスなどのネットワークワークロードをオフロードして、パフォーマンスの向上、セキュリティー分離の強化、ホスト CPU リソースの解放を行います。

シンプルな Pod を DPU に直接デプロイするには、次の手順に従います。

前提条件

  • OpenShift CLI (oc) がインストールされている。
  • cluster-admin 権限を持つアカウントがある。
  • DPU Operator をインストールします。

手順

  1. 次のサンプル YAML ファイルを dpu-pod.yaml として保存します。これは、Kubernetes のデフォルトスケジューラーによって DPU ノードに直接スケジュールされる単純な Pod の例です。

    apiVersion: v1
    kind: Pod
    metadata:
      name: "my-network-function"
      namespace: openshift-dpu-operator
      annotations:
        k8s.v1.cni.cncf.io/networks: dpunfcni-conf, dpunfcni-conf
    spec:
      nodeSelector:
        dpu.config.openshift.io/dpuside: "dpu"
      containers:
        - name: "my-network-function"
          image: "quay.io/example-org/my-network-function:latest"
          resources:
            requests:
              openshift.io/dpu: "2"
            limits:
              openshift.io/dpu: "2"
          securityContext:
            privileged: true
            capabilities:
              drop:
                - ALL
              add:
                - NET_RAW
                - NET_ADMIN
    Copy to Clipboard Toggle word wrap
    • metadata.name.annotations.k8s.v1.cni.cncf.io/networks: dpunfcni-conf の値は、NetworkAttachmentDefinition リソースの名前を指定します。DPU Operator は、インストール中にこのリソースを作成して、DPU ネットワーキングを設定します。
    • spec.nodeSelector: nodeSelector は、このワークロードをスケジュールするためのプライマリーメカニズムです。DPU Operator は、dpu.config.openshift.io/dpuside: "dpu" ラベルを作成して管理します。このラベルにより、Pod は確実に DPU の処理ユニットに直接スケジュールされます。
    • spec.containers.name: コンテナーの名前。
    • spec.containers.image: プルして実行するコンテナーイメージ。
  2. 以下のコマンドを実行して Pod を作成します。

    $ oc apply -f dpu-pod.yaml
    Copy to Clipboard Toggle word wrap
  3. 次のコマンドを実行して Pod のステータスを確認します。

    $ oc get pods -n openshift-dpu-operator
    Copy to Clipboard Toggle word wrap

    Pod のステータスが Running であることを確認します。

11.1.6. DPU ステータスの監視

DPU インフラストラクチャーのステータスを監視して、クラスター全体の DPU デバイスの現在の状態と健全性を確認できます。

DPU ステータスを監視して、DPU インフラストラクチャーの現在の状態を確認できます。

oc get dpu コマンドは、DPU インフラストラクチャーの現在の状態を示します。さまざまなカードのステータスを監視するには、次の手順に従ってください。

前提条件

  • OpenShift CLI (oc) がインストールされている。
  • cluster-admin 権限を持つアカウントが利用可能である。
  • DPU Operator がインストールされている。

手順

  1. 次のコマンドを実行して、ノードの全体的な健全性を確認します。

    $ oc get nodes
    Copy to Clipboard Toggle word wrap

    出力例では、クラスター内のすべてのノードとそのステータスのリストが提供されます。すべてのノードが Ready 状態であることを確認してから続行してください。

    NAME                           STATUS   ROLES    AGE    VERSION
    ocpcluster-master-1            Ready    master   10d    v1.32.9
    ocpcluster-master-2            Ready    master   10d    v1.32.9
    ocpcluster-master-3            Ready    master   10d    v1.32.9
    ocpcluster-dpu-ipu-219         Ready    worker   42h    v1.32.9
    ocpcluster-dpu-marvell-41      Ready    worker   3d23h  v1.32.9
    ocpcluster-dpu-ptl-243         Ready    worker   3d23h  v1.32.9
    worker-host-ipu-219            Ready    worker   3d19h  v1.32.9
    worker-host-marvell-41         Ready    worker   4d     v1.32.9
    worker-host-ptl-243            Ready    worker   3d23h  v1.32.9
    Copy to Clipboard Toggle word wrap

    この出力には、3 つのマスターノードと、worker-host の接頭辞 (例: worker-host-ipu-219) で識別される 3 つのワーカーノードが表示されます。各ワーカーノードには、ocpcluster-dpu の接頭辞で識別される DPU (例: ocpcluster-dpu-ipu-219) が含まれます。

  2. 次のコマンドを実行して、DPU のステータスを報告します。

    $ oc get dpu
    Copy to Clipboard Toggle word wrap

    出力例では、検出された DPU のリストが提供されます。

    NAME                                 DPU PRODUCT                    DPU SIDE        MODE NAME               STATUS
    030001163eec00ff-host                Intel Netsec Accelerator       false           worker-host-ptl-243     True
    d4-e5-c9-00-ec-3v-dpu                Intel Netsec Accelerator       true            worker-dpu-ptl-243      True
    intel-ipu-0000-06-00.0-host          Intel IPU E2100                false           worker-host-ipu-219     False
    intel-ipu-dpu                        Intel IPU E2100                true            worker-dpu-ipu-219      False
    marvell-dpu-0000-87-00.0-host        Marvell DPU                    false           worker-host-marvell-41  True
    marvell-dpu-ipu                      Marvell DPU                    true            worker-dpu-marvell-41   True
    Copy to Clipboard Toggle word wrap
    • DPU PRODUCT: DPU のベンダーまたはタイプ (Intel や Marvell など) が表示されます。
    • DPU SIDE: DPU がホスト側 (false) と DPU 側 (true) のどちらで動作しているか示します。物理 DPU はそれぞれ 2 回表示されます。
    • MODE NAME: DPU が配置されているノードの名前。これは、false エントリーの場合はホストワーカーノード、true エントリーの場合は DPU ノードです。
    • STATUS: DPU が正しく機能しているか (True)、問題があるか (False) を示します。

      注記

      ステータスの詳細を取得するには、oc get dpu -o yaml を実行します。

11.1.7. DPU Operator のアンインストール

DPU デバイスの管理が不要になった場合は、まずすべてのワークロードが削除されたことを確認してから、クラスターから DPU Operator をアンインストールできます。

DPU Operator をアンインストールするには、まず実行中の DPU ワークロードを削除する必要があります。DPU Operator をアンインストールするには、次の手順に従います。

前提条件

  • cluster-admin 権限を持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできる。
  • DPU Operator がインストールされている。

手順

  1. 次のコマンドを実行して作成された DpuOperatorConfig CR を削除します。

    $ oc delete DpuOperatorConfig dpu-operator-config
    Copy to Clipboard Toggle word wrap
  2. 次のコマンドを実行して、DPU Operator のインストールに使用されたサブスクリプションを削除します。

    $ oc delete Subscription openshift-dpu-operator-subscription -n openshift-dpu-operator
    Copy to Clipboard Toggle word wrap
  3. 次のコマンドを実行して、作成された OperatorGroup リソースを削除します。

    $ oc delete OperatorGroup dpu-operators -n openshift-dpu-operator
    Copy to Clipboard Toggle word wrap
  4. 次のように DPU Operator をアンインストールします。

    1. 次のコマンドを実行して、インストールされている Operator を確認します。

      $ oc get csv -n openshift-dpu-operator
      Copy to Clipboard Toggle word wrap

      出力例

      NAME                                DISPLAY        VERSION               REPLACES   PHASE
      dpu-operator.v4.20.0-202503130333   DPU Operator   4.20.0-202503130333              Failed
      Copy to Clipboard Toggle word wrap

    2. 次のコマンドを実行して DPU Operator を削除します。

      $ oc delete csv dpu-operator.v4.20.0-202503130333 -n openshift-dpu-operator
      Copy to Clipboard Toggle word wrap
  5. 次のコマンドを実行して、DPU Operator 用に作成された namespace を削除します。

    $ oc delete namespace openshift-dpu-operator
    Copy to Clipboard Toggle word wrap

検証

  1. 次のコマンドを実行して、DPU Operator がアンインストールされていることを確認します。コマンドが成功した場合は、たとえば No resources found in openshift-dpu-operator namespace が出力されます。

    $ oc get csv -n openshift-dpu-operator
    Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat