kubevirt/kubevirt
DevOps & Self-hostingRun and manage virtual machines on Kubernetes with KubeVirt's CRDs, controllers and runtime.
What KubeVirt does
KubeVirt is a virtualization add-on for Kubernetes. It registers extra resource types, most importantly VM, through Kubernetes Custom Resource Definitions, so virtual machines can be declared and managed with the same API and tooling used for Pods and other cluster resources.
The API types alone do not boot anything. KubeVirt adds controllers and agents to an existing cluster; these components schedule, launch, stop and delete VMs, using libvirt underneath. The project targets platform and infrastructure teams that already operate Kubernetes and want VM workloads to share the cluster control plane rather than run in a separate virtualization stack.
Quick start
Kubernetes is only the API layer, but you still need a cluster where KubeVirt is installed. Start from the official quickstart at kubevirt.io, then follow the user guide for VM definitions and day-to-day operations. The README does not list an installation command in the repository itself, so use the quickstart as the authoritative procedure; avoid inventing kubectl steps before confirming the supported install method for your Kubernetes version.
Once installed, VMs are declarative objects: create a predefined VM manifest, let KubeVirt schedule it, then launch, stop or delete it through the Kubernetes API. The recorded terminal demo at asciinema shows the basic VM lifecycle in practice.
For source development, the getting started guide covers setting up a development environment, and the contribution guide explains patch submission, including the required Signed-off-by line added via git commit -s.
Compatibility and development constraints
KubeVirt and Kubernetes versions are not freely interchangeable: consult the support matrix to confirm which KubeVirt releases are built and supported for your Kubernetes version. The project publishes upcoming changes and release schedules through the sig-release repository.
KubeVirt is written in Go and licensed under Apache-2.0 (source:44), so modifications and redistribution are permitted under that license. Running it changes cluster-level resources and requires the appropriate cluster permissions; this is an infrastructure component, not a desktop VM manager.
HotRepo's take
KubeVirt is an established infrastructure project rather than a new arrival: it has 7,166 stars and 1,863 forks, and on 2026-11-06 it ranked 6th on the Go daily list with a net gain of 2 stars that day. That single snapshot is enough to place it among actively watched Go projects, but the small daily gain also indicates steady maintenance interest rather than a surge. The repository's core value is the Kubernetes-native API and controller design, which matters more to platform teams than star velocity.
Written by AI from the project's README, updated . The project's own docs are the source of truth.