由于Kubernetes已成为当前云原生基础设施的事实标准,Kubernetes在1.20版本后弃用Docker作为容器运行时引发了开发人员的关注。针对此事,网易数帆资深架构师、网易轻舟容器编排技术负责人王新勇给出了自己的见解。他认为,Kubernetes移除dockershim的代码确实有其合理之处,同时此事对绝大多数开发者没有多大的影响。
- 从Kubernetes运行时提供统一的接口抽象这个角度来说,移除dockershim的代码确实有其合理之处,毕竟之前dockershim是由于历史原因,属于特例的。
- Kubernetes编排是事实标准,容器的镜像格式遵守OCI,所有之前的交付的构件,无论容器运行时怎样变化,都不会有影响。
- 容器平台提供商需要做一些适配、整合、测试等,需要提供kubernetes支持的容器运行时。也可以通过额外维护和引入一个新的不属于kubernetes项目的“dockershim”中间层来继续支持docker作为运行时。不过无论怎么做,绝大部分开发人员都是感知不到的。
插播:12月16-17日,2020 Cloud Native Day,网易PingCAP阿里VMware大咖云集,详见文末,欢迎报名
Kubernetes和Docker的关系
-
Docker最初只是一个容器引擎,应该是很多人进入容器领域时最早接触的东西,Docker为普及Linux的容器技术做出了很大的贡献(虽然Linux容器上,LXC更早,而且早期版本的Docker就是基于LXC实现的,但是Docker的最大创新就是提出了镜像的概念)。
-
在2015年,我们探索容器技术做蜂巢产品的时候,那时候很多人的理解里面,容器基本就是Docker,Docker就是容器。直到现在应该好多开发者还是这个认知。

Kubernetes宣布弃用Docker运行时,转向containerd和CRI-O。这一变动对开发者和企业的影响主要体现在容器平台提供商需要进行适配工作,但对于大部分应用开发者而言,影响较小。Docker作为容器技术的先驱,其API与CRI不兼容,移除dockershim有助于Kubernetes的解耦和演进。尽管如此,Docker作为开发者的常用工具,其使用习惯和技术惯性将使其继续保持生命力。对于云原生技术而言,这是一个技术演进的小插曲。
最低0.47元/天 解锁文章
2784

被折叠的 条评论
为什么被折叠?



