×

You can install the Data Processing Unit (DPU) Operator on your cluster to manage DPU devices and network attachments. Install the DPU Operator on both the host cluster and all the DPU clusters. The DPU Operator manages the lifecycle of all the supported DPUs.

As a cluster administrator, you can install the DPU Operator by using the OKD CLI or the web console.

You need to install the DPU Operator on the host cluster and each of the DPU clusters.

Installing the DPU Operator by using the CLI

As a cluster administrator, you can install the DPU Operator by using the CLI.

The CLI must be used to install the DPU Operator on the DPU cluster.

Prerequisites
  • Install the OpenShift CLI (oc).

  • An account with cluster-admin privileges.

Procedure
  1. Create the openshift-dpu-operator namespace by entering the following command:

    $ cat << EOF| oc create -f -
    apiVersion: v1
    kind: Namespace
    metadata:
      name: openshift-dpu-operator
      annotations:
        workload.openshift.io/allowed: management
    EOF
  2. Create an OperatorGroup custom resource (CR) by entering the following command:

    $ 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
  3. Create a Subscription CR for the DPU Operator by entering the following command:

    $ 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
Verification
  1. Check that the Operator is installed by entering the following command:

    $ oc get csv -n openshift-dpu-operator \
      -o custom-columns=Name:.metadata.name,Phase:.status.phase
    Example output
    Name                                             Phase
    dpu-operator.v4.4-202503130333   Succeeded
  2. Change to the openshift-dpu-operator project:

    $ oc project openshift-dpu-operator
  3. Verify the DPU Operator is running by entering the following command:

    $ oc get pods -n openshift-dpu-operator
    Example output
    NAME                                               READY   STATUS    RESTARTS   AGE
    dpu-operator-controller-manager-6b7bbb5db8-7lvkj   2/2     Running   0          2m9s

Installing the DPU Operator using the web console

As a cluster administrator, you can install the DPU Operator by using the web console.

Prerequisites
  • Install the OpenShift CLI (oc).

  • An account with cluster-admin privileges.

Procedure
  1. In the OKD web console, click OperatorsOperatorHub.

  2. Select DPU Operator from the list of available Operators, and then click Install.

  3. On the Install Operator page, under Installed Namespace, the Operator recommended Namespace option is preselected by default. No action is required.

    1. Click Install.

Verification
  1. Navigate to the OperatorsInstalled Operators page.

  2. Ensure that DPU Operator is listed in the openshift-dpu-operator project with a Status of InstallSucceeded.

    During installation an Operator might display a Failed status. If the installation later succeeds with an InstallSucceeded message, you can ignore the Failed message.

Troubleshooting
  • Inspect the Operator Subscriptions and Install Plans tabs for any failure or errors under Status.

  • Navigate to the WorkloadsPods page and check the logs for pods in the openshift-dpu-operator project.

  • Check the namespace of the YAML file. If the annotation is missing, you can add the annotation workload.openshift.io/allowed=management to the Operator namespace with the following command:

    $ oc annotate ns/openshift-dpu-operator workload.openshift.io/allowed=management

    For single-node OpenShift clusters, the annotation workload.openshift.io/allowed=management is required for the namespace.