Podman 团队祝您新年快乐!今年将从一个变化开始。自从 Podman 诞生以来,它一直使用 容器网络接口 (CNI) 插件 作为其核心网络栈。我们的用户开始推动我们扩展我们的网络栈功能,以实现更高级的网络和域名解析。这些功能与上游 CNI 不一致,事实上也偏离了他们的一些未来考虑。这促使我们设计并发布了我们自己的网络栈,该网络栈基于内部项目 netavark 和 aardvark-dns。
新的网络栈的两个部分都已有一年多历史,并且自 2022 年 1 月起一直得到支持。我们对用户的反馈感到高兴,并且一直在努力消除 CNI 和 netavark 之间的任何功能差距。唯一尚未完成的场景是具有 DHCP 支持的 MACVLAN。您可以在其 github 项目 页面上跟踪其进度。在不久的将来,Podman 中将添加一个 **弃用公告**。
我们将在发布弃用公告和实际弃用之间留出较长的时间。在此情况下,弃用意味着实际删除代码(或使用构建标签来不编译它)。因此,Linux 发行版对实际弃用何时开始有最终决定权。例如,Fedora 要求我们在活跃的发布过程中不进行实际删除;因此,弃用将在新的 Fedora 发布版本旁边进行。RHEL 也是如此。
如何知道我使用的是 CNI 还是 Netavark?
如果您使用的是 Podman 3.X,则您使用的是 CNI,因为对 Netavark 的支持已添加到 Podman 4 中。如果您使用的是 Podman 4,则可以运行 podman info
来检查。
$ sudo podman info
host:
arch: amd64
buildahVersion: 1.29.0-dev
...
memFree: 16088698880
memTotal: 33380950016
networkBackend: netavark
ociRuntime:
name: crun
package: crun-1.7.2-3.fc37.x86_64
...
如何切换到 Netavark?
如果您发现您仍在使用 CNI 栈,则切换它相对容易,但对容器、镜像和网络都是破坏性的;所有这些都将被删除。切换的第一步是确保您已安装 netavark 和 aardvark-dns。这两个软件包的发行版支持有所不同。要从 CNI 切换到 netavark,您可以使用 podman system reset
命令。
podman system reset
命令 podman system reset
是一个破坏性命令。它会重置所有容器、容器镜像和网络。在运行此命令之前,请确保您能够容忍这些内容的丢失。
完成后,Podman 将自动开始使用 netavark。
留下回复