12.5. 将网络堆栈从 CNI 切换到 Netavark
在以前的版本中,只有连接到单个 Container Network Interface(CNI)插件时,容器才可以使用 DNS。Netavark 是容器的网络堆栈。您可以将 Netavark 与 Podman 和其他开放容器项目(OCI)容器管理应用程序一起使用。Podman 的高级网络堆栈与高级 Docker 功能兼容。现在,多个网络中的容器访问这些网络上的容器。
Netavark 能够执行以下操作:
- 创建、管理和移除网络接口,包括网桥和 MACVLAN 接口。
- 配置防火墙设置,如网络地址转换(NAT)和端口映射规则。
- 支持 IPv4 和 IPv6。
- 改进对多个网络中容器的支持。
CNI 网络堆栈已弃用,并将在以后的 RHEL 发行版本中删除。使用 Netavark 网络堆栈替代。
先决条件
-
container-tools
元数据包已安装。
流程
如果
/etc/containers/containers.conf
文件不存在,请将/usr/share/containers/containers.conf
文件复制到/etc/containers/
目录中:# cp /usr/share/containers/containers.conf /etc/containers/
编辑
/etc/containers/containers.conf
文件,并在[network]
部分中添加以下内容:network_backend="netavark"
如果您有任何容器或 pod,请将存储重置回初始状态:
# podman system reset
重启系统:
# reboot
验证
验证网络堆栈是否已更改为 Netavark:
# cat /etc/containers/containers.conf ... [network] network_backend="netavark" ...
如果使用 Podman 4.0.0 或更高版本,请使用 podman info
命令检查网络堆栈设置。
其他资源
- podman 4.0 的新网络堆栈:您需要了解的内容
-
您系统上的
podman-system-reset
手册页