KubeVirt
KubeVirt is a Kubernetes add-on that lets you define, schedule and manage virtual machines through the Kubernetes API alongside containers.
- GitHub stars
- 7.1k
- Last commit
- yesterday
- Latest release
- v1.9.0
- Licence
- Apache-2.0
- Self-hosted
- Yes

KubeVirt is an add-on that brings virtual machine management to Kubernetes. Its aim is to give virtualization solutions a shared foundation on top of Kubernetes, so that workloads that need a full virtual machine can run in the same cluster as containers.
KubeVirt extends Kubernetes by adding virtualization resource types, especially the VM type, through Custom Resource Definitions. This lets the Kubernetes API manage VMs alongside all other resources. That functionality does not go into Kubernetes itself; instead KubeVirt supplies extra controllers and agents that run on an existing cluster. Through these, a VM can be declaratively created from a predefined definition, scheduled onto the cluster, launched, stopped and deleted.
KubeVirt is written in Go and licensed under Apache-2.0. The project provides a quickstart, user documentation, a blog, a YouTube channel and developer documentation covering architecture, components and the API reference.
Key features
- VM resource types via Kubernetes CRDs
- Declarative VM creation and deletion
- VM scheduling on Kubernetes clusters
- Start and stop VMs through the API
- Controllers and agents added to existing clusters
Pricing: Free and open source under the Apache-2.0 licence.




