BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

容器集群结构危机亟待破局

| 作者 张天雷 关注 4 他的粉丝 发布于 2014年10月17日. 估计阅读时间: 6 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

所谓容器集群结构是一种虚拟化技术,由Docker/Container实践定义。Docker容器集群是一个开源项目,是专为开发者和系统管理员设计,用来发布和运行分布式应用程序的一个开放性平台,其特点就在于可以自动化的将应用变得容易移植和部署。容器即Container,是一种轻量虚拟化技术,运行有单实例、精简化Linux以及在其上运用统一资源策略的独立应用程序,Docker则在容器上提供应用程序分发。问世以来,虽然Docker团队一度声称其版本仍然是“不可用于产品级开发”,但是仍然在业界造成非常大的技术变革,截止目前可以用于产品的1.0版本发布,下载量已超百万。

即便从易用性上的到了业界的一致认可,Docker的安全性却令用户颇为担心,不完善的用户命名空间等技术,使得大规模部署容器集群存在一定的安全隐患。微软公司正致力于容器集群结构的虚拟化技术,将其产品与Docker相连、参与Google的Kubernetes计划,并推出自己的Drawbridge。但是这家云计算巨头显然也有自己的顾虑,进而转向自行设计容器集群结构。微软首席技术官Mark Russinovich表示,这种顾虑主要来自于现有结构的安全性风险。虽然意识到容器集群结构是PaaS的未来,但他也敏锐的意识到这种结构的安全性短板。

今年六月的DockerCon大会上,微软就展示了部署在Azure的Linux虚拟机上的容器集群示例。展示中,微软将创建和管理Docker宿主机的步骤进行了很大的简化,形成了工作流。具体来讲,通过升级Azure的跨平台命令行接口以及使用虚拟机扩展技术,微软将快速在Azure云中创建管理和使用Docker容器技术变得触手可得,而且这种升级并不会影响到Docker本身提供的标准化客户端的使用。这么一来,Azure云的用户就无需频繁登录每个Docker镜像来对其进行必要的控制,而是通过台式机甚至笔记本就可以轻松管理集群。随后,微软表示要为Google的Kubernetes容器集群管理器贡献代码。微软从大部分开发者的需求中看到,对Auzre上运行Linux的需求已经带来Linux容器集群的需求,并成为推动Linux容器集群技术的主要动力。微软已经与RedHat实现互联,并预留其他Linux发行版的互联能力,使得现在Azure上已经能够与CentOS、openSUSE和Ubuntu等发行版连接,但是该公司并为表示为此提供正式的技术支持。在微软开源技术的网站上,Ross Gardler发布了文章阐述Azure和Kubernetes Visualizer上运行Docker的情况,给出系统架构图如下:

此外,在微软广为传播的ASP.NET框架的下一个版本中,和可能会带有Docker .Net开发接口,使得ASP开发者能够在Docker中更流畅的运行应用。

另一方面,微软已经开始内部使用微软研究院研发的Drawbridge项目提供的容器集群了。微软已经认定,对于PaaS和普适计算等高密度、高负载计算环境来说,容器集群从技术验证平台转化为生产力环境已经是大势所趋。但是现在容器提供的可移植性,显然使其功能比安全更显眼,现在的容器并不安全。虚拟机与宿主之间共享数据过多又不能有效隔离,影响了容器安全性,至少在云计算容器用户间还达不到安全性要求。容器的价值在于,实验环境中的程序在测试中可以与服务器的软件等其他部分隔离,所以可以以相同的方式部署到其他相同环境中不会影响这些环境。

据微软公司介绍,Drawbridge由两部分构成,分别是一个安全隔离容器picoprocess和一个运行于安全容器之内的系统Library OS,可以参考下图:

微软准备在Windows上公布Docker与Drawbridge容器集群,两者领域不同但同等重要。Docker是在Linux技术之上的,而Drawbridge则基于Windows容器集群技术,不开源但安全性更高。Drawbridge支持所谓“不相容工作负载”,比如在虚拟机中可以在微软机器学习服务下安全地运行客户的机器学习算法。但是显然这种技术不能在开源的容器集群项目中使用,机器学习服务也不行。

资源隔离也是Drawbridge容器集群的主要优势,所谓资源隔离指运行中既不被其他程序也不被其设置影响。通过资源隔离,用户可以以虚拟机作为安全边界,作为轻量容器整体打包并大量使用。这样一台虚拟机中可以运行几百个容器,非活动容器就释放资源给活动容器使用。资源隔离给予容器最基本的服务,是Drawbridge比Docker具有的重要属性。

更多关于Drawbridge细节可以参考微软MSDN网站给出的幻灯片


感谢郭蕾对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT