Ce contenu n'est pas disponible dans la langue sélectionnée.
Chapter 11. DPU Operator
11.1. About DPU and the DPU Operator Copier lienLien copié sur presse-papiers!
As a cluster administrator, you can add the DPU Operator to your cluster to manage DPU devices and network attachments.
The DPU Operator is a Technology Preview feature only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.
For more information about the support scope of Red Hat Technology Preview features, see Technology Preview Features Support Scope.
11.1.1. Orchestrating DPUs with the DPU Operator Copier lienLien copié sur presse-papiers!
A Data Processing Unit (DPU) is a type of programmable processor that is considered one of the three fundamental pillars of computing, alongside CPUs and GPUs. While CPUs handle general computing tasks and GPUs accelerate specific workloads, the primary role of the DPU is to offload and accelerate data-centric workloads, such as networking, storage, and security functions.
DPUs are typically used in data centers and cloud environments to improve performance, reduce latency, and enhance security by offloading these tasks from the CPU. DPUs can also be used to create a more efficient and flexible infrastructure by enabling the deployment of specialized workloads closer to the data source.
The DPU Operator is responsible for managing the DPU devices and network attachments. The DPU Operator deploys the DPU daemon onto OpenShift Container Platform compute nodes that interface through an API controlling the DPU daemon running on the DPU. The DPU Operator is responsible for the life-cycle management of the ovn-kube components and the necessary host network initialization on the DPU.
The currently supported DPU device is described in the following table.
| Vendor | Device | Firmware | Description |
|---|---|---|---|
| Intel | IPU E2100 | Version 2.0.0.11126 or later | A DPU designed to offload networking, storage, and security tasks from host CPUs in data centers, improving efficiency and performance. For instructions on deploying a full end-to-end solution, see the Red Hat Knowledgebase solution Accelerating Confidential AI on OpenShift with the Intel E2100 IPU, DPU Operator, and F5 NGINX. |
11.2. Installing the DPU Operator Copier lienLien copié sur presse-papiers!
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 OpenShift Container Platform CLI or the web console.
You need to install the DPU Operator on the host cluster and each of the DPU clusters.
11.2.1. Installing the DPU Operator by using the CLI Copier lienLien copié sur presse-papiers!
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-adminprivileges.
Procedure
Create the
openshift-dpu-operatornamespace 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 EOFCreate an
OperatorGroupcustom 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 EOFCreate a
SubscriptionCR 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
To verify that the Operator is installed, enter the following command and then check that output shows
Succeededfor the Operator:$ oc get csv -n openshift-dpu-operator \ -o custom-columns=Name:.metadata.name,Phase:.status.phaseChange to the
openshift-dpu-operatorproject:$ oc project openshift-dpu-operatorVerify the DPU Operator is running by entering the following command:
$ oc get pods -n openshift-dpu-operatorExample output
NAME READY STATUS RESTARTS AGE dpu-operator-controller-manager-6b7bbb5db8-7lvkj 2/2 Running 0 2m9s
11.2.2. Installing the DPU Operator using the web console Copier lienLien copié sur presse-papiers!
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-adminprivileges.
Procedure
-
In the OpenShift Container Platform web console, click Operators
OperatorHub. - Select DPU Operator from the list of available Operators, and then click Install.
On the Install Operator page, under Installed Namespace, the Operator recommended Namespace option is preselected by default. No action is required.
- Click Install.
Verification
-
Navigate to the Operators
Installed Operators page. Ensure that DPU Operator is listed in the openshift-dpu-operator project with a Status of InstallSucceeded.
NoteDuring 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 Workloads
Pods page and check the logs for pods in the openshift-dpu-operatorproject. Check the namespace of the YAML file. If the annotation is missing, you can add the annotation
workload.openshift.io/allowed=managementto the Operator namespace with the following command:$ oc annotate ns/openshift-dpu-operator workload.openshift.io/allowed=managementNoteFor single-node OpenShift clusters, the annotation
workload.openshift.io/allowed=managementis required for the namespace.
11.2.3. Next steps Copier lienLien copié sur presse-papiers!
11.3. Configuring the DPU Operator Copier lienLien copié sur presse-papiers!
You can configure the DPU Operator to manage the DPU devices and network attachments in your cluster.
11.3.1. Configuring the DPU Operator Copier lienLien copié sur presse-papiers!
To configure the DPU Operator follow these steps:
Procedure
-
Create a
DpuOperatorConfigcustom resource (CR) on both the host cluster and on each of the DPU clusters. The DPU Operator in each cluster is activated after this CR is created. Create a file named
dpu-operator-host-config.yamlby using the following YAML:apiVersion: config.openshift.io/v1 kind: DpuOperatorConfig metadata: name: dpu-operator-config1 spec: mode: host2 Create the resource by running the following command:
$ oc apply -f dpu-operator-host-config.yamlYou must label all nodes that either have an attached DPU or are functioning as a DPU. On the host cluster, this means labeling all compute nodes assuming each node has an attached DPU with
dpu=true. On the DPU, where each MicroShift cluster consists of a single node, label that single node in each cluster withdpu=true. You can apply this label by running the following command:$ oc label node <node_name> dpu=truewhere:
node_name-
Refers to the name of your node, such as
worker-1.
11.4. Running a workload on the DPU Copier lienLien copié sur presse-papiers!
Running workloads on a DPU enables offloading specialized infrastructure tasks such as networking, security, and storage to a dedicated processing unit. This improves performance, enforces a stronger security boundary between infrastructure and application workloads, and frees up host CPU resources.
11.4.1. Running a workload on the DPU Copier lienLien copié sur presse-papiers!
Follow these steps to deploy a workload on the DPU.
Prerequisites
-
The OpenShift CLI (
oc) is installed. -
An account with
cluster-adminprivileges is available. - The DPU Operator is installed.
Procedure
Create a sample workload on the host side by using the following YAML, save the file as
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-2371 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'- 1
- The name of the node where the workload is deployed.
Create the workload by running the following command:
$ oc apply -f workload-host.yaml
11.4.2. Creating a service function chain on the DPU Copier lienLien copié sur presse-papiers!
Network service chaining, also known as service function chaining (SFC) is a capability that uses software-defined networking (SDN) capabilities to create a chain of connected network services, such as L4-7 services like firewalls, network address translation (NAT), and intrusion protection.
Follow this procedure on the DPU to create the network function my-network-function in the service function chain.
Prerequisites
-
Install the OpenShift CLI (
oc). -
An account with
cluster-adminprivileges. - Install the DPU Operator.
Procedure
Save the following YAML file example as
sfc.yaml:apiVersion: config.openshift.io/v1 kind: ServiceFunctionChain metadata: name: sfc namespace: openshift-dpu-operator spec: networkFunctions: - name: my-network-function1 image: quay.io/example-org/my-network-function:latest2 Create the chain by running the following command on the DPU nodes:
$ oc apply -f sfc.yaml
11.5. Uninstalling the DPU Operator Copier lienLien copié sur presse-papiers!
To uninstall the DPU Operator, you must first delete any running DPU workloads. Follow this procedure to uninstall the DPU Operator.
11.5.1. Uninstalling the DPU Operator Copier lienLien copié sur presse-papiers!
As a cluster administrator, you can uninstall the DPU Operator.
Prerequisites
-
You have access to an OpenShift Container Platform cluster using an account with
cluster-adminpermissions. - You have the DPU Operator installed.
Procedure
Delete the
DpuOperatorConfigCR that was created by running the following command$ oc delete DpuOperatorConfig dpu-operator-configDelete the subscription that was used to install the DPU Operator by running the following command:
$ oc delete Subscription openshift-dpu-operator-subscription -n openshift-dpu-operatorRemove the
OperatorGroupresource that was created by running the following command:$ oc delete OperatorGroup dpu-operators -n openshift-dpu-operatorUninstall the DPU Operator as follows:
Check the installed Operators by running the following command:
$ oc get csv -n openshift-dpu-operatorExample output
NAME DISPLAY VERSION REPLACES PHASE dpu-operator.v4.19.0-202503130333 DPU Operator 4.19.0-202503130333 FailedDelete the DPU Operator by running the following command:
$ oc delete csv dpu-operator.v4.19.0-202503130333 -n openshift-dpu-operator
Delete the namespace that was created for the DPU Operator by running the following command:
$ oc delete namespace openshift-dpu-operator
Verification
Verify that the DPU Operator is uninstalled by running the following command. An example of succesful command output is
No resources found in openshift-dpu-operator namespace.$ oc get csv -n openshift-dpu-operator