天天看点

容器趣闻:分租规模

本文讲的是<b>容器趣闻:分租规模</b>【编者的话】本文介绍了容器在资源隔离和多租户方面的优势和细粒度需求,还有如何实现多租户伸缩的一些问题的讨论,内容言简意赅。

我们并不认为容器应当摆脱虚拟机运行,容器可以和虚拟机结合使用,大致有三种常见方式:

容器运行在虚拟机之内。

容器和虚拟机分别运行在主机上。

虚拟机运行在容器之内(这种方式的确可行)。

容器趣闻:分租规模

我们可以任意使用以上列出的三种技术来运行我们的业务。所以对比他们之间的安全性是“不自然”的。我认为一种更“自然”的方式是比较业务负载的租赁需求和隔离性。

容器趣闻:分租规模

不知大家现在是否还记得,在我大学时代(1997年),多用户Unix系统非常流行。每个用户可以远程登录(没错,使用telnet)到Unix服务器来运行他们自己的进程。一些用户用来运行批处理任务来进行研究,一些用户运行独立的网站服务器,或者使用系统共享的网站服务器。当你登录系统时,你可以列出所有人正在运行的进程。事实上,如果有人错误的设置了自己家目录的权限,那么任何人都可以访问他们的私人文件,这真是疯狂的一段时光。

在2016年,很少会有系统管理员会认为Linux进程间隔离足以应付不同用户登录到系统中,特别是对于多租户环境下不同组织及个人用户隔离的场景中。

然而假设我是一个大学的系统管理员,不同的研究团队想要运行他们自己的任务,比如一个研究组运行生物学计算,一个研究组运行地理学计算,那么容器的隔离性对他们来讲是否足够呢?我的答案是肯定的。

在另一种假设场景中,我是一个公有云提供商的系统管理员。用户来自于不同的公司、政府组织、研究机构来共享物理资源,则容器本身可能无法提供足够的隔离性。所以我认为虚拟机规模的隔离性才足以应付。

根据上面两个假设的场景,那么一个关心安全性的用户还会有哪些疑问呢?

如何添加反亲和规则(anti-affinity rules)来确保我的作业运行在不同的虚拟机、不同的物理机上?

如何确保不同的物理机运行在不同的机柜中,来使用不同的电源分配单元(Power distribution Units, PDUs)和不同的机柜交换机?

如何确保两个作业实例分散在不同的数据中心,来防备气象或地震灾害?(我在数据中心工作时,客户确实问到过这个问题。)

你可以让其中一个作业实例运行在月球上以防地球爆炸么?(手动滑稽)

好的,除了最后一个是开玩笑,相信你已经理解了我的意思。

隔离和分租是颗粒化的需求,通常作业会要求“足够的”隔离性,但是什么隔离性是足够的呢?当然是,不同的应用有不同级别的要求。

所以我认为,不要一直在比较虚拟机和容器技术,想想看如何让两者联合起来,以满足你的作业的需求才是正道。

===========================================

译者介绍

刘思贤 ,爱油科技架构师,PMP,喜欢关注互联网相关技术与软件项目管理,是一名DevOps实践者,乐于整理和分享一些实践经验。

<b>原文发布时间为:</b>2016-10-09

<b>本文作者:</b>刘思贤

<b>本文来自云栖社区合作伙伴Dockerone.io,了解相关信息可以关注Dockerone.io。</b>

<b>原文标题:</b><b>容器趣闻:分租规模</b>

继续阅读