容器与虚拟机进一步交融

容器和虚拟机的优势和劣势,从容器技术诞生的那天起就一直在争论。容器轻量化,良好的封装能力和部署简便的特点,特别是在Kubernetes出现后,大有取代虚拟机的气势。但是在处理重应用(如关系型数据库,大数据等)的这点上,容器技术显得有些力不从心。另外容器技术在资源隔离和安全性上,还达不到虚拟机的水准,所以在很多场景,仍然是虚拟机的用武之地。

在这种情况下,如何实现容器技术和虚拟化技术的融合,发挥两者的长处,成为云计算的一个发展课题。目前的技术主要有三种,一种是容器虚拟机的混布;一种是轻量级虚拟机;最后是安全容器。

容器虚拟机的混布。通过修改容器或是虚拟机的编排引擎,使得可以通过一套API,支持容器和虚拟机的部署,同时打通虚拟化层和容器的网络,使之更高效率的进行互访。这是一些传统的虚拟化厂商目前的做法。目前比较成熟的实现有Redhad的Kubevirt。

轻量级虚拟机。解决虚拟机镜像过于庞大,启动慢,耗费资源大的问题,业界提出了轻量级虚拟机的解决方案。轻量级虚拟机使用精简专属的库操作系统(LibraryOS),它能够使用高级语言编译并直接运行在商用云平台虚拟机管理程序之上。相比于容器技术它们有很多的优点,不仅仅有着媲美虚拟机的隔离能力,而且有更快的启动时间和更小的攻击面。轻量级虚拟机的由于使用了专属的操作系统,在语言支持和兼容性上都不如其他解决方案。目前轻量级虚拟机的技术有很多,例如Unikernel,Drawbridge, MirageOS 和HaLVM等。

安全容器,或是叫沙箱容器。为了解决容器的隔离性上的弱点,安全容器为容器的运行提供了一层沙箱(Sandbox),容器在沙箱中运行的应用程序有自己的内核和虚拟设备,与主机和其它沙箱区分开来。安全容器的优点是可以兼容目前的容器镜像,不需要对容器编排Kubernetes做出大的修改就可以直接应用,缺点是牺牲了部分的性能和灵活度。目前安全容器的开源项目有Kata container,Google的gVisor等。

安全容器和轻量级虚拟机的实现上,可能会有一些重叠,但是不管哪一个方向,都是向着虚拟机和容器融合这个大的方向发展。目标都是在发挥容器的轻量级,快速交付和灵活调度能力的同时,提升业务应用的隔离性和安全性。

【声明】:芜湖站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章