KubeVirt review: the open-source CNCF project for running VMs on Kubernetes, its architecture, live migration, and how it compares to alternatives.
KubeVirt is an open-source project that lets Kubernetes clusters run and manage traditional virtual machines using the same declarative API and command-line tooling used for containers. It began at Red Hat at the end of 2016 and formally launched in January 2017, aimed at letting organizations run VM-based workloads on Kubernetes without first rewriting them as containers.
The project joined the CNCF as a Sandbox project in September 2019 and reached Incubating maturity in April 2022, with version 1.0 shipping in 2023. It now has contributors from companies including Red Hat, Apple, NVIDIA, SUSE, IBM, and SAP, and underpins commercial products such as Red Hat OpenShift Virtualization.
KubeVirt extends the Kubernetes API with VirtualMachine and VirtualMachineInstance custom resources, letting a VM be created, updated, and deleted with the same kubectl-based workflow used for any other Kubernetes object. Under the hood, each VM runs inside a pod containing a containerized QEMU process managed by libvirt on top of the Linux kernel's KVM hypervisor, while a companion CLI called virtctl adds VM-specific commands like start, stop, pause, console access, and image management alongside standard kubectl.
Because VMs are ordinary Kubernetes resources, they integrate directly with existing storage classes, CSI drivers, and CNI networking plugins. Live migration lets a running VM move between nodes with no or minimal downtime using pre-copy memory migration, useful for planned maintenance, load balancing, or responding to node failures.
KubeVirt is free and open source under the Apache 2.0 license, with no cost to download and run on any Kubernetes cluster whose nodes support hardware virtualization (KVM). Community support is available through the CNCF Slack and GitHub.
Organizations that want commercial support generally adopt KubeVirt through a vendor distribution, most notably Red Hat OpenShift Virtualization, which bundles KubeVirt with enterprise support, a management UI, and additional operational tooling.
KubeVirt lets Kubernetes clusters run and manage traditional virtual machines alongside containers, which is useful for migrating legacy VM-based applications to a cloud-native platform.
KubeVirt was started at Red Hat around the end of 2016 and formally launched in January 2017.
Yes, KubeVirt is a free, open-source CNCF project; commercial support is available through vendors like Red Hat via products such as OpenShift Virtualization.
Yes, KubeVirt supports live migration of running VMs between cluster nodes with minimal to no downtime.
KubeVirt runs QEMU and libvirt inside containers, using the Linux kernel's KVM module as the underlying hypervisor.
Yes, KubeVirt joined the CNCF as a Sandbox project in September 2019 and reached Incubating status in April 2022.