成熟的容器运行时:容器化成为CNCF毕业生

我们从一开始就关注这个容器化项目。 因此,我们不能忽略一个重大事件:昨晚,Kubernetes和其他针对云原生世界的杰出开源解决方案背后的CNCF组织宣布将其“毕业生”打包。 这个项目已经是第五个具有这一地位的项目,并跻身K8,Prometheus,Envoy和CoreDNS的行列。



CNCF标准


CNCF目前支持数十个开源项目,其分类采用了三种类别:

  1. 沙盒 (“沙盒”)- 最早 (实验性但有希望的发展)(在将来)“增加CNCF任务的价值”,即 将为围绕现代云本机应用程序的基础架构周围形成的开源生态系统和社区的发展做出贡献。 有12个此类项目。
  2. 孵化 (“孵化器”)-生产中至少有三个(有文件证明和独立的)用户的项目,在其中提供了足够的(根据技术委员会)质量水平和规模,以及具有足够数量的贡献者(具有提交位和代码库稳定发展。 有15个。
  3. 毕业 -对于具有至少两个组织的提交者的项目,应遵循CNCF行为准则通过的CII (核心基础设施计划) 最佳实践徽章,明确定义的管理和接受方案,公开的用户列表,当然, CNCF技术委员会的相应投票结果。 现在有5个。



简而言之,该项目准备在CNCF进行“发布”是因为其“迅速增长的适应性,独创性,正式的管理流程以及对可持续性和包容性社区的坚定承诺”。 大约2年前由Docker转移到CNCF的容器现在被认为符合这些条件。

装箱:起源和现在


容器项目可以追溯到Docker 很大的时候。 2015年,其开发人员宣布是时候使Docker Engine更紧凑(快速,可靠,可移植...)了,因此开始将其组件纳入单独的项目中

一切始于发布runc容器启动工具(2015),然后出现了容器的容器化运行时(2016),一年后,这一计划变得更加全球化,并为我们带来了Moby


Docker 1.11版本发布说明(2016年4月):Docker Engine及其组件已删除

回到集装箱。 简而言之,它的功能作用减少了(至今仍未改变) ,因为它作为主机系统上的守护程序,管理着容器的整个生命周期:从接收和存储映像到启动容器(通过已经提到的runc)并控制他的工作。 在容器分离一年后的2017年3月, Docker 转移到CNCF ,这与CoreOS的一项类似举措rkt同时发生 (我们将返回到它)

进一步的发展包括面向Kubernetes的竞争对手CRI-O * ...的出现和发展 (由Red Hat领导),以及Docker Inc以cri-containerd形式的镜像“响应”。

在cri-containerd中使用了一个特殊的(自命名的)守护程序与K8进行交互,并且在1.1版之前,该解决方案变成了Kubernetes新容器运行时环境的插件-容器运行时接口(CRI)-在这里,该插件直接与containerd(调用必要的功能)。



2018年6月, 宣布容器式CRI插件已准备好生产。 当前的项目存储库为containerd / cri

*有趣的是,该组织尚未批准2018年11月提交的将容器化竞争产品和rkt(CRI-O)包括在CNCF项目中的申请。

如今,containered轻描淡写地称自己为“可执行的容器环境,这是一种行业标准,并且注重简单性,可靠性和可移植性”:



使用容器化的容器解决方案的实际体系结构(当然,大多数情况下,它们专注于Kubernetes,但形式上它们并不局限于此平台) ,它看起来如下:



该解决方案本身以适用于Linux( 建议使用 4.x内核版本,但可以使用较早版本的选项)的守护程序的形式出现。 源代码用Go编写(1.9.x版及更高版本)。

containerd的最新版本是1.2.4 (日期为2019年2月14日) ,其中修复了runc中的漏洞CVE-2019-5736 。 下一个里程碑是1.3版 ,其中有望进行创新,例如容器组 ,图像拉动操作的性能优化 ,使用快照程序的各种改进

该项目在GitHub上拥有3500颗星,来自阿里巴巴 ,Facebook,谷歌, 华为 ,IBM,Microsoft,NTT,Tesla等公司(当然,Docker除外)的14个提交者和166个贡献者。 在DevStats上可以看到更多的代码库统计信息。

在著名的容器化用户中,足以提及Moby本身和相关项目(LinuxKit,BuildKit),Google云服务(GKE),Microsoft(Azure中的acs引擎,以及未来的AKS),IBM(IKS,ICP)和阿里巴巴,容器解决方案/引擎(Rancher的Rio,Kata Containers和Balena),甚至是最近的爆竹

关于竞争对手


最后,值得一提的是,rkt的发展速度要低得多。 足以表明它的最新版本-v1.30.0-大约在一年前(2018年4月)发布。

从业务角度来看,有一些合乎逻辑的结论:大约一年前,rkt的原始开发人员CoreOS被Red Hat 收购 。 如材料中所述,后者(或者更正确地说现在 IBM 已经 ...)有自己的创见-cri-o-其活动更加活跃

但是,尽管Linux巨头尚未设法将其项目“放入” CNCF,但关于将容器作为行业标准的说法听起来还是很可信的。

聚苯乙烯


另请参阅我们的博客:

Source: https://habr.com/ru/post/zh-CN442036/


All Articles