开源容器项目是现代云原生景观的基础元素,提供每天数百万个应用程序使用的容器运行时。2月28日,集装箱项目达到了一个重要的里程碑,正式从云原生计算基金会(CNCF)毕业,突出了该项目的整体成熟度和稳定性。毕业是CNCF中项目的最高级别,它包含40多个云原生项目,包括Kubernetes容器编排系统。
“对于很多外部用户来说,特别是在企业层面,毕业展示了项目的成熟度,”容器维护人员和Docker工程师Michael Crosby告诉eWEEK。“我们已经检查了基金会的所有标准,包括治理和公平性,以及如何为项目提供代码和管理代码。
Crosby是帮助创建容器的核心开发人员之一。早在2016年12月,Docker 宣布将重构其容器运行时的工作方式和结构。当时,Docker Engine在单个项目中包含了运行时和容器应用程序交付的所有相关组件。使用containerd,这项工作被分解为仅为容器运行时组件创建一个更开放,更敏捷的方法。
该集装箱项目于2017年3月正式加入 CNCF .CNCF有多个级别的项目,从沙箱级别开始,然后进入孵化阶段,最后进入毕业级别。
安全审计
达到CNCF毕业地位的核心要素是对项目进行严格的安全审核。Crosby说,审计人员研究了不同的领域,包括API内存利用,通用代码质量和维护。
“无论是containerd容器运行时和Kubernetes CRI插件是很好的从安全角度写的,”审计指出。“Go语言的选择使得在这个任务期间很难找到任何类型的内存损坏或类似的错误,最终导致没有发现这样的问题。大多数代码都以干净的方式编写,从而简化了代码审核。“
稳定性
containerd的核心元素是项目的稳定性,这一点尤其重要,因为它是数千万个云原生计算部署的基石。
“Containerd是无聊的运行时,因此我们的优先事项始终是性能,稳定性和可靠性,”Crosby说。
稳定的一部分是能够以可靠的方式处理错误和安全修复程序的修补程序,而不会破坏用户部署。Crosby解释说,从containerd 1.0到1.2分支,项目可以回传补丁,因为有一个维护良好的发布过程。
“我们有一个非常好的过程,随着时间的推移稳定性发生,我们已经构建了项目,以便毫不费力地处理后退,”他说。
当containerd开始时,这是Docker的努力,但作为CNCF的一部分,它受益于来自多个组织的各种贡献,包括IBM,谷歌,阿里巴巴和华为。克罗斯比说,该项目有很多贡献者可以很好地协同工作。
“这是一个充满活力的多供应商项目,现在已经在Docker的背景下使用了数百万次,对我们而言,它是我们技术的基础,”Docker战略联盟执行副总裁Dave Messina告诉eWEEK。“在这里进行协作的能力使我们能够专注于我们的堆栈中更高层次的事情,并推动我们的桌面技术,引擎和整个企业平台的广泛采用。”
容器1.3
现在容器已经毕业了,Crosby实际上并不期望随着项目的继续向前发展,项目的日常工作会有所改变。开发人员现在正在开发containerd的1.3版本,它将提供支持Microsoft Windows操作系统的新功能。
克罗斯比说:“对于这个项目,我们只想做一些非常好的东西,每个人都在使用容器。” “我们会继续让它变得更快更好,我们会看到最终的结果。