I am running podman 4.4.1 on RHEL 8.6 Real-time. I have been having latency issues with the default CNI network in rootless containers and am trying to evaluate netavark as a backend.
What I have tried:
podman system reset --force
network-backend:"cni"
parameter in /usr/share/containers/containers.conf to network-backend:"netavark"
podman system reset --force
podman info --debug
shows networkBackend: netavark
podman network create newnet
--network=newnet
The problem is that running a container still starts the slirp4netns
process. This leads me to believe that it is not using the netavark backend. Is slirp4netns still required when using netavark on a rootless container?
Firstly, do not modify /usr/share/containers/containers.conf
. Instead, copy it to /etc/containers/containers.conf
if you plan to modify the libpod
configuration.
Secondly, both CNI and Netavark require root privileges and cannot be used by Podman in rootless mode. That is why Podman ignores whatever you have specified in the network-backend
. This section of the configuration does not concern rootless networking at all.
In rootless mode, for now, you are required to use slirp4netns unless you are willing to handle networking yourself.
There have been some presentations about the evolution of rootless networking in Podman from the recent DevConf.cz: