DOCA Platform Framework (DPF) streamlines the provisioning and orchestration of NVIDIA BlueField DPUs in Kubernetes environments. It supports scalable deployment and management of DPUs and the services running on them.
Provisioning system
Manage the lifecycle of the DPU hardware and its Kubernetes orchestration system.
-
User creates a
DPUSetandBFBobject representing a set of DPUs they want to run services on. -
DPUSet controller creates a
DPUobject based on the DPUSet NodeSelector. -
DPU controller deploys DMS and communicates the BFB and other configuration to it.
-
DMS installs BFB to the DPU over rshim.
-
The DPU node joins the DPU control plane.
DPUService system
Orchestrate DOCA Services to run on DPUs.
-
User creates a
DPUServicereferencing a helm chart. -
DPUService controller creates an ArgoCD Application representing the DPUService.
-
ArgoCD system syncs the Application to the DPU Cluster.
-
A Pod for the
DPUServiceruns on the DPU Node.
DPUServiceChain system
Orchestrate Service Chains for advanced network flows through DPUs.
-
User creates
DPUServiceInterface,DPUServiceChain,DPUServiceIPAMrepresenting ovs ports, ovs flows and CNI IPAM. -
Service Function Chain controllers sync these objects to the DPUCluster.
-
ServiceInterface controller creates OVS ports for the Service Function Chain
-
ServiceChain controller creates OVS flows for the Service Function Chain
-
NVIPAM allocates an IP Pool for the Service Function Chain
-
User creates a DPUService for the ServiceFunctionChain
OVN Kubernetes DPUService
Offload primary and secondary network to the DPU
-
User deploys OVN Kubernetes as the primary CNI
-
User creates OVN Kubernetes
DPUService -
DPUService controller and ArgoCD sync the OVNKubernetes DPUService to the DPUNode
-
OVN is the primary network which links workload pods with the ServiceFunctionChains operating on the DPU node
-
All pods get a VF from the Bluefield which is used for the primary network
-
OVN processing offloaded to DPU
-
Other network functions - like an BGP router and L3 firewall using HBN - can be added to the service chain for a pod.
Last updated: