Run VMs on Kubernetes

The high level goal of the project is to build a Kubernetes add-on to enable management of virtual machines (KVM), via libvirt.

The intent is that over the long term this would enable application container workloads, and virtual machines, to be managed from a single place via the Kubernetes native API and objects. This will

Read more about the motivation for KubeVirt and our use-cases.

Getting started

You can get started in several areas - Do you want to start using KubeVirt? Or rather start coding? Take a look below to see where you can get started.

As a user

If you have minikube setup already, then you can start right away by calling:

curl | bash

Once it is deployed, take a look at the user documentation to learn how to use KubeVirt.

Otherwise you can read about how to setup minikube and deploy KubeVirt at


Don’t hesitate to reach out if you are getting stuck, or are looking for a feature, do so by using one of our communication channels:

Contribute, source, and developers

There are several ways how you can contribute, you can learn about them at our contributing guide and a detailed contribution workflow guide.

As a developer you can get started with the developer setup.