DPF makes a number of assumptions about the hardware, software and networking of the machines it runs on. Some of the specific user guides add their own requirements.
Hardware Setup
There is a high availability control plane machines serving many worker nodes in a cluster running DPF.
# Verify control plane nodes have the label
kubectl get nodes -L node-role.kubernetes.io/control-plane
# Verify DPUNodes inherited the label
kubectl get dpunode -n dpf-operator-system -L node-role.kubernetes.io/control-plane
# Verify no DPUs are created on control plane nodes
kubectl get dpu -n dpf-operator-system -o custom-columns=NAME:.metadata.name,NODE:.spec.nodeName
Control plane nodes have the labels "node-role.kubernetes.io/control-plane" : ""
Only multi-master (high-availability) Kubernetes control planes are supported for production DPF deployments. Single-master clusters may be used only as a lab shortcut.
Network Setup
All nodes have full internet access - both from the host out-of-band and DPU high speed interfaces
DPU high-speed ports (p0, p1) must be connected to the network. In host-trusted mode, the DPU communication channel (br-comm-ch) is established through a VF on the high-speed interface. If the high-speed ports are not connected, the DPU will fail to join the DPUCluster
Virtual IP from the management subnet reserved for internal DPF usage
The out-of-band management and high-speed networks are routable to each other
The control plane nodes hosting the DPU control plane pods must be located on the same L2 broadcast domain
The out-of-band management fabric on which control plane nodes are connected should allow MultiCast traffic (used for VRRP)