为什么要从 Kubernetes 中移除 dockershim

​Kubernetes 的早期版本仅适用于特定的容器运行时:Docker Engine。 后来,Kubernetes 增加了对其他容器运行时的支持。创建 CRI 标准就是为了实现编排器(如 Kubernetes)和许多不同的容器运行时之间的交互操作。 Docker Engine 没有实现(CRI)接口,因此在 kubelet 组件中引入了dockershim,专门用于填补 Docker Engine 和 CRI 之间的空白, 并使 dockershim 代码成为 Kubernetes 的一部分。

dockershim 代码一直是一个临时解决方案(因此得名:shim)。事实上,维护 dockershim 已经成为 Kubernetes 维护者的沉重负担。

此外,在较新的 CRI 运行时中实现了与 dockershim 不兼容的功能,例如 cgroups v2 和用户命名空间。 从 Kubernetes 中移除 dockershim 允许在这些领域进行进一步的开发。

猜你喜欢

转载自blog.csdn.net/shanyaodou/article/details/130704538