当前位置:首页 > 虚拟机 > 正文

Kubernetes 虚拟机


一、Kubernetes管理虚拟机之KubeVirtKubevirt是Redhat的以容器模式运行虚拟机的开源项目,它使用k8sad-on方法,使用k8sCRD添加资源类型VirtualMachineInstance(VMI),并控制虚拟机的创建和维护以及VM生命周期。容器的ImageRegistry提供管理。CRD方式是KubeVirt对虚拟机的管理不限于Pod管理接口,但是不能使用RSDSDeployment等Pod的管理能力,这也意味着如果KubeVirt想要使用Pod管理能力,目前kubevirt已经实现了它具有类似RS的功能。Kubevirt目前支持的运行时有Docker和runv。
KubeVirt技术满足了已经采用或想要采用Kubernetes但现有基于VM的工作负载无法轻松容器化的开发团队的需求。更具体地说,该技术提供了一个集成开发平台,开发人员可以在该平台上创建、修改和部署驻留在公共共享环境中的应用程序容器和虚拟机中的应用程序。
其好处是广泛而显着的。依赖现有基于虚拟机的工作负载的团队能够快速容器化应用程序。通过将虚拟化工作负载直接放置在开发工作流程中,团队可以随着时间的推移将其分解,根据需要使用剩余的虚拟化组件。
了解如何使用Kubervirt架构创建虚拟机。Kubevirt架构如,由4个组件组成。从架构图中我们可以看到kubevirt创建虚拟机的核心是创建一个特殊的podvirt-launcher,其子进程包括libvirt和qemu。从事过OpenStackNova项目的朋友应该更习惯在主机上运行libvirtd后台进程;在kubevirt中,每个pod都有一个libvirt进程,这种去中心化的模式是为了防止所有虚拟机因为libvirtd服务异常而变得难以管理。