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.
At it's core KubeVirt extends Kubernetes by adding
additional virtualization resource types (especially the VM
type) through
Kubernetes's third party resource concept.
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 declarative
- Create a predefined VM
- Schedule a VM on a Kubernetes cluster
- Launch a VM
- Stop a VM
- Delete a VM
Example:
To get started right away please read our Getting Started Guide.
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 documentation:
- Glossary - Explaining the most important terms
- Architecture - High-level view on the architetcure
- Components - Detailed look at all components
KubeVirt is distributed under the Apache License, Version 2.0.
Copyright 2016
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.