黄雅静 分布式实验室
DockerCon上,Docker、CoreOS等公司宣布成立OCI,共同致力于推动容器标准的统一。这个消息也许一时让大家兴奋,但静下来想想,在商言商,CoreOS和Docker绝对不是能共枕眠的主。本文主要介绍CoreOS的Rkt最近的一些动态,以及它在隔离方面的取得的一些进展。
众所周知,开放容器项目(OCI)的目的其实就是为了统一容器标准。OCI发布有近一个月的时间了,那现在是不是除了Docker以外的其它容器技术都进入停滞状态了?我直接了当的来回答你,没有。在CoreOS这,他们却是加快了自有容器的研发速度。
做为一家基于容器的操作系统,CoreOS一直在研发自己的容器项目Rocket。Rocket(现在改名叫Rkt)目前的最新版本是0.8,并宣传已经和Intel合作,采用了另外的独一无二的方式来解决容器在安全性和易用性方面的问题。
Rocket 0.8使用了Intel的Clear Container项目的部分研究成果,它在Intel芯片中使用VT-X指令集来进行硬件级别的容器隔离。确切地说,Intel打算使用Rkt来为它的项目建立一个概念模型,目前投入到Rkt上的一些工作可以说是CoreOS和Intel强强合作。Rkt 0.8版本中的容器在KVM进程中有它完整的进程级封装,也就是说容器的内容是与主机绝对独立的。
在隔离上做了这么多事情,听起来有点小题大做,但不可否认的是,隔离方面的问题正在成为容器的重中之重。很多容器生态圈的项目(比如OpenStack)就表示他们可以提供更高级别的隔离,而不只是简单的使用cgroup和namespace。在多租户环境中,这种级别的隔离非常重要。
事情进展到现在,最大的问题是Rkt的新特性是否会被OCI认可。CoreOS的CTO Brandon Philips表示,CoreOS提出的AppC容器规范包括四个不同的元素:打包(packaging)、签名(signing)、命名(naming)和运行时(runtime)。而目前OCI的重心是在运行时方面。
CoreOS想成为榜样,做的更好。但Docker也提供了一些Philips没有提到的思路,比如说最近Docker发布了『可信镜像』的特性,用户可以通过签名来校验镜像的发布者。目前,在Docker的官方Registry中,用户可以选择性地使用该功能进行内容校对,从种种迹象可以看出,Docker公司希望『可信镜像』特性能成为开源标准。呵呵,当然,Docker公司也期待自己可以成为容器时代的领头羊。