作者:Bach(才云)、bot(才云)
技术校对:星空下的文仔(才云)
弃用 Docker
Kubernetes 最新版本 Kubernetes v1.20.0-rc.0 现已正式发布。Kubernetes 计划弃用 kubelet 中 Docker Engine 支持,对于 dockershim 的支持也将在下个版本中放弃。[1]
不过不必担心,在目前 Kubernetes v1.20 中,Kubernetes 管理员可以继续使用 Docker 命令与 kubectl 命令管理 Kubernetes 集群,而且镜像使用不会受到任何影响。在未来发布的 Kubernetes 版本中,包括接下来陆续推出的次要版本,对于 dockershim 的支持将最终被移除(最早会在 v1.23 把 Dockershim 从 Kubelet 中移除),届时将无法使用 Docker 命令检查集群。
Kubernetes 本次弃用的是 dockershim[2],即 Kubernetes kubelet 实现中的组件之一,它能够与 Docker Engine 进行通信。
其实 Docker 中已经包含 containerd,Kubernetes 为什么还需要 Dockershim?这是因为 Docker 与 CRI(即容器运行时接口)并不相容。简而言之,Docker 并不支持 CRI(容器运行时接口)这一 Kubernetes 运行时 API,而 Kubernetes 用户一直以来所使用的其实是名为“doc