Description
Description
Provide a way to use the NVIDIA Network Operator through the CLI and API of the Kubernetes scheduler.
Motivation/Background
The NVIDIA Network Operator enables RDMA devices and other fast networking components to be used in containerized environments. Fast networking is critical for the performance of workloads that span multiple nodes.
The network operator could provide access to RDMA devices by using either a MacvlanNetwork or a HostDeviceNetwork. This example shows how a pod can be attached to a MacVlanNetwork, and this example shows how a pod can be attached to a HostDeviceNetwork. In either case, the critical parts are:
- the resource being requested (e.g.,
rdma/rdma_shared_device_a: 1
ornvidia.com/hostdev: '1'
) - the
IPC_LOCK
security context capability - the annotation that specifies the particular network to attach to (e.g.,
k8s.v1.cni.cncf.io/networks: rdma-net-ipam
)
Detailed Proposal
Before detailing a specific proposal, I'd like to hear from the team about how feasible this sounds so far and whether any existing facilities might already help with some of this.