dockershim是Kubernetes社区为了能让Docker成为其支持的容器运行时,所维护的一个兼容程序,kubernetes v1.24 起 kubernetes 官方不在维护。
docker 和 k8s 历史
- 2013/3 Docker 开源
- 2014/6 Google 开源 Kubernetes
- 2015/6 OCI 成立
- 2016/7 Docker Swarm 发布,同时 kubernetes 也支持 Docker,并且 Docker 的优势远大于其他容器引擎,如 RKT。同年 kubernetes 在容器编排中占主导地位
- 2016/12 kubernetes 发布 CRI
- 2017/3 rkt 和 containerd 捐献给 CNCF
- 2017/11 kubernetes 支持 containerd
- 2018/5 kubernetes 集成 containerd(cri-containerd)
- 2020/12 kubernetes 废弃 dockershim,开始由 Mirantis 和 Docker 共同维护
- 2022/8/24 Kubernetes v1.25 正式发布
kubernetes 调用 runtime 的变化
(kubernetes's kubelet docker client) -> docker
// dockershim 由 k8s 开发,k8s v1.20 之前内置
(kubernetes's kubelet <-CRI-> dockershim) -> docker -> containerd -> containerd-shim -> runc
// kubernetes v1.24之后,自行安装
kubernetes's kubelet <-CRI-> cri-dockerd(原dockershim,由 Mirantis 和 Docker 共同维护) -> docker -> containerd -> containerd-shim -> runc