vm 和 容器对比
史蒂夫·戈登(Steve Gordon)撰写了这篇文章。
容器和Kubernetes已被广泛推广为“破坏性”技术,它将取代它们之前的所有内容,最著名的是虚拟机(VM)管理平台,例如vSphere和OpenStack。 相反,与大多数平台创新一样,Kubernetes更常用于为VM添加层(或补充VM)。 在本文中,以及在SCALE16x上的演示中 ,我们将探索两个相对较新的项目: KubeVirt和Kata Containers ,这些项目旨在帮助用户将Kubernetes与虚拟化相结合。
大多数组织仍然对在虚拟主机上运行的应用程序,运行它们的基础结构以及用于管理它们的工具进行大量的现有投资。 我们可以预见,这将在很长的一段时间内成为现实,就像上一代技术的残余现在仍然存在一样。 另外,VM技术仍然提供了容器启用功能(如用户名称空间)尚未达到的隔离级别。 但是,这些组织都希望Kubernetes的易用性,可伸缩性和开发者吸引力,以及一种逐渐从虚拟化工作负载过渡到容器化工作负载的方式。
Kubernetes最近添加的服务目录功能在一定程度上解决了集成问题。 该功能允许Kubernetes创建“端点”,以便容器化的应用程序可以将请求路由到其他地方(例如在OpenStack集群上)运行的应用程序。 但是,这种方法没有提供统一管理虚拟化和容器化应用程序的方法,也没有提供任何方式使Kubernetes应用程序成为VM平台环境和名称空间的一部分。
为了满足这些集成要求,开发人员在去年启动了几个项目。 尽管技术细节上有许多差异,但从较高的层次上讲,这些项目可以分为两个不同的使用目标:
- 将传统的VM工作负载与应用程序容器一起运行,作为复杂应用程序的一部分
- 通过硬件辅助的VM级别隔离来运行应用程序容器工作负载,以实现安全性和/或资源管理
这些用例暗示了在工作流,启动速度和内