Hi everyone,
Discussed with some maintainers of the K8S Network Plumbing WG, of sig-Network and with the CNI community during its weekly meeting on 14th October, the idea is to propose a new repository for a CNI DRA Driver under kubernetes-sigs (
https://github.com/kubernetes-sigs/cni-dra-driver).
This repository will propose a modern evolution to
Multus that leverages the Device Resource Allocation (DRA) API together with the CNI API to offer the ability to attach multiple network interfaces to pods.
This project will also showcase a reference implementation for network DRA Drivers which should be compliant to the future
Multi-Network Specs.
Additionally, this work will allow us to identify the missing pieces in DRA to allow full multi-network implementations. For example, Multi-Network implementations would require the ability to request resources (network interfaces) at the pod level, or more
recently (with the
KEP-4817), the ability to report the status of the devices that have been configured in the pods (network: IPs, Interface Name...). It will also help us to explore gaps in the underlying APIs (e.g. NRI) and identify scheduling challenges with virtual devices
such as VLANs, VxLANs and others.
This initiative will also give us an opportunity to understand better how to integrate with existing Kubernetes networking concepts such as Service/Gateway API, Network Policies and more.
Looking ahead, this driver could be extended with support for future CNI 2.0 and additional use-cases including SR-IOV and other networking technologies.
Several PoCs already have been developed around this area during the past few months:
I would love to hear your thoughts and any feedback you might have. If there is enough interest and support, I will open an issue on
https://github.com/kubernetes/org requesting this repository.
Thank you,
Lionel