容器该不该放到VM中?

「容器该不该放进VM中执行?」这是前几天,我遇到SUSE 的Thomas Di Giacomo时,碰面寒暄后的第一个问题。

Thomas回答:「这是一个最好的折衷作法。因为容器不够安全,而且VM的便携性又太差。」

Thomas可是全球开源技术和网络界的大人物,凭着电信产业多年技术长经历,成为Linux基金会网络部门主席,后来更成为Cloud Foundry基金会董事和力推Kubernetes的CNCF董事会成员至今,是开源和云端原生产业的意见领袖之一。2016年进入SUSE担任CEO,在SUSE独立后,他更进一步接下现在的职位。

站在全球开源云端技术的第一线,Thomas并不认为,容器足以成为取代VM的万灵丹,尤其,从企业角度来看,容器不够安全。而且Thomas强调,这不只是他的个人看法,Google也是如此。Google早在去年5月开源推出的沙盒容器gVisor,就是最好的证据。

沙盒容器gVisor其实就是一种「虚拟化的容器」(Virtualized Container),同样是将容器放进了虚拟机器中,只是gVisor不是采用传统笨重的虚拟机器,而是经过优化、定制,专门为容器而瘦身的特殊VM。Google的理由也是为了安全问题。

Thomas告诉我,虚拟化技术已经有成熟的网络管理、储存支持与安全政策管理机制,这些都是目前容器技术还不够成熟之处。可是微服务世界已经来了,云端原生应用到处都是,这些都非得靠容器技术,才能更轻巧、快速扩张和移动。安全怎么办,最快的方法就是「容器放进VM,两者结合就走出了基础架构的第三条路。」。

这也不是新的点子,VMware早在2015年,就开始研究一个VM搭配一个容器的部署方式,甚至还研发出了一个超轻量的操作系统Photon OS,不过这款产品在VMware原有虚拟化平台上的布局要等到今年8月底才会揭晓。

而从VM技术起家的OpenStack也在Kubernetes竞赛上慢了一步,为了追上容器技术竞争的脚步,选择从VM优势来切入容器,在2年前发起一个Kata容器计划,同样要打造出一款类似gVisor的虚拟化容器产品。

如今,Kata越来越成熟,上个月SUSE正式将Kata纳入SUSE Linux滚动升级版本中。Thomas表示「这将会是Linux操作系统的重要能力之一。」

但是,将容器放进VM,虽然兼具了两家之长,但也丧失了不少容器轻量化的优势,更大的挑战是「基础架构运维的复杂度增加了,试想在K8s平台上一群虚拟化的容器组成了K8s的POD集群时,监控机制能否同时搜集到容器和VM的状态和变化,将比过去的难度更高上好几倍,「甚至,如何协调彼此互相搭配时的效率,将会是更大的挑战!目前,我还没有看到这方面的技术或产品。容器和VM将会共同存活很长、很长一段时间,就像30年前的大型主机,至今仍在一样。」Thomas这样告诉我。

作者:王宏仁

原文:https://www.ithome.com.tw/voice/132591

K8S中文社区微信公众号

评论 抢沙发

登录后评论

立即登录