本文发表于一年多前。旧文章可能包含过时内容。请检查页面中的信息自发布以来是否已变得不正确。

Dockershim 移除即将到来。你准备好了吗?

审阅者: Davanum Srinivas, Elana Hashman, Noah Kantrowitz, Rey Lejano。

去年,我们宣布 Kubernetes 的 dockershim 组件(为 Docker Engine 提供内置集成)已弃用。

更新:有一份Dockershim 弃用 FAQ 提供了更多信息,你也可以通过专门的 GitHub issue 讨论弃用事宜。

我们目前的计划是很快从 Kubernetes 代码库中移除 dockershim。我们正在征求你的反馈,了解你是否已准备好移除 dockershim,并确保你届时已做好准备。

请填写此调查问卷:https://forms.gle/svCJmhvTv78jGdSx8

将 Docker 作为 Kubernetes 容器运行时启用的 dockershim 组件正在被弃用,取而代之的是直接使用为 Kubernetes 创建的 容器运行时接口 的运行时。许多 Kubernetes 用户已经毫无问题地迁移到其他容器运行时。然而,我们看到 dockershim 仍然非常受欢迎。你可以在 DataDog 最近的 容器报告 中看到一些公开数据。一些 Kubernetes 托管供应商最近才启用其他运行时支持(特别是对于 Windows 节点)。我们知道许多第三方工具供应商仍未做好准备:迁移遥测和安全代理

目前,我们相信 Docker 和其他运行时之间具有功能对等性。许多最终用户已经使用了我们的迁移指南,并使用这些不同的运行时运行生产工作负载。目前记录在案的计划是,dockershim 将在 1.24 版本中移除,该版本计划于明年 4 月左右发布。对于正在开发或运行 Alpha 和 Beta 版本的用户,dockershim 将在 1.24 发布开发周期开始的 12 月份移除。

只剩下一个月的时间来给我们反馈了。我们希望你告诉我们你准备得怎么样了。

我们正在通过此调查问卷收集意见:https://forms.gle/svCJmhvTv78jGdSx8 为了更好地了解 dockershim 移除的准备情况,我们的调查问卷会询问你当前使用的 Kubernetes 版本,以及你预计何时会采用 Kubernetes 1.24。所有关于 dockershim 移除准备情况的汇总信息都将发布。自由格式的评论将由 SIG Node 领导层审阅。如果你想讨论从 dockershim 迁移的任何细节、报告错误或采用障碍,你可以随时使用 SIG Node 的联系方式之一:https://github.com/kubernetes/community/tree/master/sig-node#contact

Kubernetes 是一个成熟的项目。此次弃用是努力摆脱永久 Beta 功能、提供更多稳定性和兼容性保证的又一步。通过从 dockershim 迁移,你将获得更大的灵活性和容器运行时功能的选择,以及减少应用程序对特定底层技术的依赖。请花时间查阅 dockershim 迁移文档,并咨询你的 Kubernetes 托管供应商(如果有的话),了解可用的容器运行时选项。阅读 容器运行时文档,其中包含有关如何使用 containerd 和 CRI-O 的说明,以帮助你在准备升级到 1.24 时做好准备。CRI-O、containerd 和带 Mirantis cri-dockerd 的 Docker 并非唯一的容器运行时选项,我们鼓励你探索 CNCF 容器运行时概览,以防有更适合你的选项。

谢谢!