DRANET is a Kubernetes Network Driver that uses Dynamic Resource Allocation (DRA) to deliver high-performance networking for demanding applications in Kubernetes.
- DRA Integration: Leverages the power of Kubernetes' Dynamic Resource Allocation.
- High-Performance Networking: Designed for demanding workloads like AI/ML applications.
- Simplified Management: Easy to deploy and manage.
- Enhanced Efficiency: Optimizes resource utilization for improved overall performance.
- Cluster-Wide Scalability: Effectively manages network resources across a large number of nodes for seamless operation in Kubernetes deployments.
The networking DRA driver uses GRPC to communicate with the Kubelet via the DRA API and the Container Runtime via NRI. This architecture facilitates the supportability and reduces the complexity of the solution, it also makes it fully compatible and agnostic of the existing CNI plugins in the cluster.
The DRA driver, once the Pod network namespaces has been created, will receive a GRPC call from the Container Runtime via NRI to execute the corresponding configuration. A more detailed diagram can be found in:
- KEP 3063 - Dynamic Resource Allocation #306
- KEP 3695 - DRA: structured parameters #438
- Extend PodResources to include resources from Dynamic Resource Allocation (DRA)
- Working Group Device Management
- Kubernetes Network Drivers, Antonio Ojea, Presentation
- The Future of Kubernetes Networking - Antonio Ojea, Googe & Dan Winship, Red Hat - Kubernetes Contributor Summit EU 2024
- Better Together! GPU, TPU and NIC Topological Alignment with DRA - John Belamaric, Google & Patrick Ohly, Intel - Kubecon US 2024
This is not an officially supported Google product. This project is not eligible for the Google Open Source Software Vulnerability Rewards Program.