-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Description
Feature request description
I recently noticed in cni/README.md that the CNI backend is officially marked for removal in Podman 5.0. In my opinion, this is a bad decision that could negatively impact many users and workflows.
CNI (Container Network Interface) is a presence to be reckoned with in the world of containerised technologies. It has become the standard choice for many container orchestration systems such as Kubernetes (K8s). So why can't we easily remove the CNI? Here are some key reasons.
Widespread compatibility to ensure ecosystem stability
CNI is a widely adopted standard that is not only adopted by mainstream container orchestration systems such as Kubernetes, but also plays an important role in other container platforms. If CNI is removed, users will have to shift to Netavark, a project developed and maintained primarily by Red Hat. Such a shift would reduce interoperability between different ecosystems, especially in non-Red Hat environments.
Avoid Vendor Lock-In, Keep It Open
Removing CNI may cause Podman to become too dependent on Red Hat's specific networking stack. In an open container ecosystem, we should prioritise open standards over proprietary solutions. Many organisations have built existing infrastructure and automated processes based on CNI, and removing CNI will force them to migrate unnecessarily, limiting user choice.
Podman's application scope extends far beyond the Red Hat ecosystem
Podman is not limited to OpenShift and Red Hat-based distributions. Many users are running Podman alongside Kubernetes, which requires CNI to handle networking. Abandoning CNI may leave users who rely on Podman for cross-platform container workflows feeling isolated.
Flexibility and the importance of user choice*
While Netavark may bring some advantages, users should not be forced to accept a single solution. Keeping CNI as an optional backend ensures that Podman can remain compatible with a wider range of infrastructure.
To summarise, the presence of CNI as a key component of the container network is essential to ensure compatibility between different container orchestration systems, avoid vendor lock-in, and maintain flexible options for users. As such, it should not be removed lightly.
Suggest potential solution
Please reconsider the decision to remove CNI and keep it as an optional networking backend. While Netavark can be the default, CNI should remain available to support users who rely on it for broader container orchestration compatibility.
Would the maintainers be open to discussing a way to retain CNI support in Podman?
Have you considered any alternatives?
I've used docker, but docker's bootstrapping, needing root privileges to run, and having a central daemon is something I don't like, so that said I use podman
Additional context
Add any other context or screenshots about the feature request here.