Kubevirt的主要目标是允许基于Kubernetes运行虚拟机。它专注于虚拟化。一般的虚拟化管理系统(例如OpenStack或Ovirt)通常包括一些其他服务,这些服务要照顾网络管理,主机提供,数据仓库,仅举几例。这些服务超出了Kubevirt的范围。话虽如此,Kubevirt旨在成为虚拟化管理系统的一部分。Kubevirt可以看作是VM群集运行时,并且Kubernetes的组件提供了其他功能,以提供一个不错的连贯的用户体验。
虽然是完全不一样的技术路线,实现方案,但是有个强关联的地方,就是 Kubevirt 是用来代替 Openstack 和 oVirt 的。
ClearContainers 是关于使用 VM 情形, 在容器运行时级别 不同于 pod 或容器。另一方面,KubeVirt 是关于允许在集群级别管理虚拟机。
除此之外,暴露虚拟机的方式也不同。ClearContainers 隐藏了使用虚拟机的事实,但 KubeVirt 对外提供一整套完整的 API 来配置虚拟机。
ClearContainers 和 Kata Containers 是同一维度的东西。
这两个东西是采用的技术路线有一定的共通的地方,有较强的可比性。
virtlet 是一个 CRI 实现,用于运行虚拟机而不是容器。与 KubeVirt 的主要区别在于:
因为上述种种原因Kubevirt终结了virtlet,ClearContainers倒不是被Kubevirt终结的,而是被Kata Containers取而代之了。就差Openstack还残喘着,但被完全取代或部分使用场景被取代是大势所趋。
容器工作负载是未来。因此,要在容器管理系统之上添加 VM 支持,而不是将容器支持构建到 VM 管理系统中。