正如 Brent 在之前的一篇 博客 中写到的那样,我们将替换旧的 CNI 堆栈 Netavark 和 Aardvark-dns。随着 Podman 5.0 的发布,我们决定在 5.0 版本中从上游构建中删除 CNI 支持。正如之前博客文章中提到的,我们很可能会提供一个构建选项,以便一些“稳定”的发布版仍然可以选择 CNI,即使是在 5.0 版本中。但是,我们上游维护者将不再直接支持 CNI 后端,因此如果需要任何关键修复,则需要来自用户和/或发行版的贡献。需要明确的是,这只是删除了 Podman 对 CNI 的集成,CNI 项目本身仍在维护,并且被 Kubernetes 使用。
我们计划在 3 月份某个时间发布 Podman 5.0,赶在 Fedora 40 发布之前。因此,Fedora 40 很可能不会随附具有 CNI 支持的 Podman。
为什么移除 CNI 支持?
Netavark 和 Aardvark-dns 由我们直接维护,我们所有的功能开发都发生在那里。虽然 CNI 在其插件架构中非常灵活,但在 Podman 中,我们追求更紧密的集成,netavark 使这变得容易得多。保留 CNI 代码需要我们维护者做额外的工作,需要更新/测试,用户会报告与之相关的错误,需要进行分类和修复。对两个不同的网络后端执行此操作是额外的努力,我们希望不再有这种负担。记录这两个实现之间的不同行为很困难,并且会让那些可能不了解此类细节的用户感到困惑。因此,只支持 netavark 应该有助于我们在未来开发更多网络功能。
Netavark 不起作用或不支持我需要的功能
如果您在迁移到 netavark 时遇到错误、问题或缺少功能,请告诉我们,我们可以考虑实现缺少的功能。您可以通过 Podman 或 Netavark GitHub 仓库或我们的 沟通渠道 联系我们。
发表评论