盘点:这多半年容器市场发生的变化
随着容器市场高速增长,每个业界供应商都在这一领域快速迭代,提供新功能。实际上,因为发展太快,本文的观点很可能在两个月后就过时了。两个月前我在旧金山参加2015 DockerCon,从那以后,每个厂商都有了重要新功能发布或者新的合作关系。此文是在最热的容器领域,对主要供应商的重要发布进行回顾,包括 Docker、CoreOS、Kubernetes和Mesos。
Docker
在DockerCon上Docker公司宣布他们接下来将着重关注Docker在生产环境中的应用,并提出了『可编程互联网』的概念,致力于打造下一代互联网平台;最近Docker又发布了新的1.8版本,具有如下特性:
Docker Toolbox。Toolbox 是一个运行在Windows、Mac和Linux上的工具集,大幅度简化了Docker的安装。在此之前,Docker提供了一个叫 Boot2Docker的工具,经常需要调错才能成功运行。我个人从来没有在我自己的笔记本上运行成功过Docker,而我一般都是在Google Cloud Platform上的VM中安装Docker,但是现在使用Toolbox在PC上工作非常爽。当然在初始阶段迁移旧Virtual Box时碰到不少问题,但是我卸载了旧系统,重装Toolbox,一切都正常了。这对于想在自己电脑上安装配置Docker的开发者来说无疑是个好消息。
Docker Content Trust。 Docker在DockerCon上承诺将会专注于改进安全性,这样企业可以将Docker用于生产环境,内容可信是朝这个方向迈进的重要一步。内容可信在Docker镜像中加入公有、私有秘钥对,用户可以验证Docker镜像的发行者,保护镜像不会被伪造、重放攻击和密钥泄露伪装攻击。内容可信采用了Notary和TUF框架,以期能够建立一套分布式应用的最佳实践。
Docker Engine 1.8。网络和存储抽象会是下一个整合进容器的主要功能增强。Docker Engine 1.8是走向存储抽象的第一步,在这一版中,Docker还发布了许多存储和日志驱动的插件,另外还发布了很多CLI和运行时的增强。
Docker Registry和Compose改进。Docker还发布了很多Registry和编排的增强功能,这些增强大多专注于提高性能和可用性。
最新的Docker发行版在两个月内一下子发布了这么多令人印象深刻的功能增强,不禁令人赞叹不已。
Kubernetes
谷歌的Kubernetes非常迅速的占据了容器市场。不管客户在用Docker还是 Rkt,Kubernetes都是事实上管理运行大规模容器集群的标准。尽管Docker有Swarm和Compose也是做这个用的,但是如果碰到容器扩展性问题时,甚至Docker也会告诉你Kubernetes是正确的选择。谷歌目前也在快速迭代各种功能,下面列出的是Kubernetes中一些重要的发布信息:
支持OpenStack。谷歌宣布正式加入OpenStack基金会。这对私有云和混合云领域的公司来说无疑是个好消息。另外,Kubernetes现在可以运行在OpenStack上,而且一些私有云方案也跟Kubernetes整合在一起。期望很快能看到这一领域的更多进展。
Kubernetes 1.0 发布。1.0 是一个里程碑。Kubernetes现在可以用于生产环境,并推出了很多引人注目的新功能,例如,集群管理、高性能和扩展性、计算、网络和存储层的抽象服务,一些重要客户,例如Box和Redhat,都开始应用这些新功能。同时,Kubernetes也公布了和CloudBees、CoreOS的合作关系。借助于Kubernetes,客户可以在Google云平台上运行一个可管理的容器服务,或者在任何共有、私有云上运行Kubernetes。
CoreOS
Docker并不是唯一一个容器技术公司,CoreOS也是另外一个重要的参与者。CoreOS有一套容器相关的生态系统。Rkt(发音为“Rocket”),是与Docker容器直接竞争的产品。Alex Polvi,CoreOS CEO,之所以开发了Rkt,是因为他不喜欢Docker的安全机制。Docker使用了一个集中式的daemon,造成所有命令都需要特权级访问(“root access”)。而Rkt则允许用户在Docker中创建容器,而在生产环境中运行Rkt。
今天Docker吸引了太多人的眼球,同时CoreOS也表现近乎疯狂。以下是关于CoreOS的一些发布功能:
etcd 2.1。etcd是一个开源的、分布式的、键值一致性的数据库,用于分发配置、发现服务和调度同步。在这一版中,CoreOS发布了很多更新,例如认证、授权API、传输稳定性,etcd服务器之间性能提高、增强集群稳定性等。
Tectonic。 CoreOS发布了一个新服务,用于运行容器平台的商业发布。包括运行容器(Docker、Rkt和Kubernetes)所需模块的所有支持和服务。有了这个新服务,可以用容器运行可扩展分布式应用并且有7x24支持服务。他们也给客户提供最佳实践培训。这个新服务现在是试运行,但很快会正式发布。
与Mirantis(OpenStack)的整合。紧跟Kubernetes和OpenStack的发布,Mirantis宣布与Tectonic整合。 这是容器与私有云结合重要一步。如我前述,容器是实现混合云的关键技术。Mirantis的整合使得高效设计公有云、私有云和混合云成为可能。推荐重点关注。
Apache Mesos
Mesos是容器领域另外一个主要参与者。Mesos用于管理和调度大规模应用(例如Hadoop、Spark,ElasticSearch和其他大数据技术)的部署。Mesos整合了Docker、Rkt和Kubernetes。以下列出Mesos的一些重要特性:
Mesos 0.23发布。最新的版本有很多引人注目的功能改进和新特性。Mesos现在提供创建持久化卷的能力,这个功能对基于状态的服务来说是个利好消息,例如HDFS、Cassandra等。资源利用率的优化,可以避免服务的过度调用。其它关于安全、性能和监控的增强特性也随之发布。
Mesosphere 0.9.0发布。有很多增强和新特性,包括与Docker整合,存储方面和ZooKeeper整合等等。
Mesos将登陆Windows平台。 MesosCon上,Mesosphere公开了在Windows Server 2016预览版本上运行Mesos的Demo。Mesosphere联合创始人表示,现实中许多企业在数据中心是同时使用Linux和Windows。所以,Mesos用户希望能使用一个既能在Linux机器又能在Windows Servers上运行的容器管理工具来执行任务。
总结