Kubernetes v1.24及更高版本在 2020 年 12 月的 v1.20 版本中弃用后,没有 Dockershim 。Dockershim 不再可用作内置容器运行时。您需要使用不同的受支持运行时,例如containerd、 CRI-O 或Docker Engine与cri-dockerd适配器。
在本文中,我们将展示如何检查您是否受到影响,然后解释如何迁移到不同的运行时。在升级到 Kubernetes v1.24 或更高版本之前,您应该采取这些步骤,以免集群的工作负载受到影响。
什么是 Dockershim?
Dockershim 是作为必要组件开发的,因此 Kubernetes 可以支持更多的容器运行时。在项目开始时,Kubernetes 只使用 Docker Engine。CRI 标准的引入消除了这一限制。现在,任何与 CRI 兼容的运行时都可以与 Kubernetes 一起使用,包括 containerd 和CRI-O,这是该标准的OCI实现。
虽然 CRI 为 Kubernetes 带来了新的灵活性,但它给现有集群带来了问题。Docker 缺乏对 CRI 标准的支持,因此构建 Dockershim 是为了让 Kubern