KubeVirt（https://github.com/kubevirt/kubevirt） is a virtual machine management add-on for Kubernetes. The aim is to provide a common ground for virtualization solutions on top of Kubernetes.
- Note: KubeVirt is a heavy work in progress.
Virtualization extension for Kubernetes
At its core, KubeVirt extends Kubernetes by adding additional virtualization resource types (especially the
VM type) through Kubernetes's Custom Resource Definitions API. By using this mechanism, the Kubernetes API can be used to manage these
VM resources alongside all other resources Kubernetes provides.
The resources themselves are not enough to launch virtual machines. For this to happen the functionality and business logic needs to be added to the cluster. The functionality is not added to Kubernetes itself, but rather added to a Kubernetes cluster by running additional controllers and agents on an existing cluster.
The necessary controllers and agents are provided by KubeVirt.
As of today KubeVirt can be used to declaratively
- Create a predefined VM
- Schedule a VM on a Kubernetes cluster
- Launch a VM
- Stop a VM
- Delete a VM
To start using KubeVirt
Try our quickstart at kubevirt.io.
See our user documentation at kubevirt.io/docs.
To start developing KubeVirt
You can learn more about how KubeVirt is designed (and why it is that way), and learn more about the major components by taking a look at our developer documentation:
- Architecture - High-level view on the architecture
- Components - Detailed look at all components
- API Reference
If you got enough of code and want to speak to people, then you got a couple of options:
- Follow us on Twitter
- Chat with us on IRC via #kubevirt @ irc.freenode.net
- Discuss with us on the kubevirt-dev Google Group
- Stay informed about designs and upcoming events by watching our community content
- Take a glance at future planning