您的位置: 网界网 > 新闻 > 正文

三大容器之战

2015年08月05日 13:26:21 | 作者:范范编译 | 来源:网界网

摘要:容器像风暴一样席卷了整个网络世界,它们为传统的虚拟机提供了轻量化且更为灵活的替代方案。容器与虚拟机之间最大的不同之处在于容器可以共享公共文件,虚拟机进程为不连续的颗粒,即便存储和网络都被虚拟化和共享后情况仍然如...

标签
容器
Odin
openVZ
Docker

测试Rkt

我们利用openVZ和Virtuozzo使用的联想平台借助CentOS 6创建了一个测试平台,启动了一个迷你托管环境。我们制作了两个镜像,一个是由TurnKeyLinux制作的WordPress镜像,该镜像是为WordPress 4.2.2准备的,另一个是通用的Ubuntu 14.04服务器镜像。它们可以被升级或是创建迷你服务。

资源,如pod所需的内存分配、带宽等都可通过基于CLI的rkt命令Here,仪表正在消失,脚本语言成为了必须。我们还重新学习了JSON语法。

我们测试的版本也允许下载,其主要通过简单的http用户名/密码和来自Docker(或类似Docker)Registry的镜像。除非针对下载行为对日志进行严格监视,对错误进行强制修正,否则安全上的忽略将会突破权限链,并可能破坏所需要的审核和合规性。

我们忘记设置CPU共享,一旦启动了所有的实例,就会对主机内核产生巨大的启动需求。在这种情况下没有任何服务器会坚持下来。幸运的是,重新启动允许我们修正我们的错误(我们脚本中的错误)。

实际上,我们从Docker那里获得了两个以上的镜像,在经过大量欺骗后,它们都能够正确执行。我们还编写脚本让许多容器一起启动,在这种情况下,它们都能够试验性地执行扩展文件,不过这需要做大量的工作。第三方工具也可为rkt提供帮助。

评论

这三个应用都可以作为根运行。他们需要从内核提升速度。AppArmor和SELinux对于这三个应用来说比较温和,但是三个应用都可以使用这些沙盒将容器与DoSing系统资源隔离起来。

一个容器平台/主机硬件平台不会阻止一个拥有安全权限的被感染容器与同平台中的其它容器协同工作。由于容器天生是在内部运行的,因此它们是安全的。

在这个平台/ 托管层,控制后台程序的进程必须要受到特别保持,在一些机构中这已经成为了核心安全活动。尽管Virtuozzo做的相对较好,但是密钥控制并不全面。可正确管理SSH密钥,控制各个容器的通信平台的架构需要进一步完善。目前Virtuozzo已经开始了这项工作。其它的软件定义网络[注]内部构件需要与这三个产品进行协调。而这三个产品也需要进一步成熟。

从效率到密度方面都存在着许多发展潜力,但是它们在Type 1虚拟层中并没有真正实现并行,尤其是应当在这里对已存储文件和已执行文件进行删重。在某种程度上,容器是一种带有虚拟化技能的混合裸机实例。基于虚拟层的虚拟机是孤立的,通常都是独立的实例,有些实例未必是真正的容器。虚拟层保护实例免遭资源劫持或是防范恶意软件的能力非常弱。虽然安全上的失误会很轻松地突破每种实例的安全防护策略,但是由沙盒组成的防火墙理论上更适合虚拟机而非容器。

总结

容器非常方便,并且允许操作系统实例+可执行文件在一种简化的资源共享(在操作系统级)环境中进行交换。容器的开发商、他们修补和解决问题的水平都并非完全不透明,但是除非制定严格的规则进行审核和登记,这些厂商才会努力向着我们期望的目标前进。

我们承认实例可快速横向扩展和纵向扩展的能力具有魅力。OpenVZ是我们的评估中最为成熟的容器,它们的全虚拟化或容器化的混合模式使得它们对于目标市场、互联网服务提供商和托管服务提供商都具有重要意义。

Docker则是一个非常重要的架构,它们在发展中得到了大力支持。如果GitHub参与者数量是一个指标,那么Docker发展中的活跃程度则是压倒性的。我们也注意到目前Docker Registry源镜像存在一些问题,包括我们找出来作为案例的那些问题。让我们感到不安的是容器难以被探查,并且它们的组成和单个组件也都难以被进行简单地评估和审核。

我们希望在rkt中看到的与appc规范有关的东西能够继续发展。尽管除了测试和试点部署外,rkt并没有做好大规模部署的准备,但是rkt的规范和appc合规性均得到了认可。

123 4

参考资料

1.SDN:(Software Defined Network,软件定义网络)是一种新型的开放网络创新架构。最初是由美国斯坦福大学研究组提出,OpenFlow通过将网络设备控制面与数据面分离开来,从而实现...详情>>

[责任编辑:孙可 sun_ke@cnw.com.cn]

我也说几句