KubeVirt

Kubernetes 虚拟化 API 和运行时,以便定义和管理虚拟机。「Kubernetes Virtualization API and runtime in order to define and manage virtual machines.」

Github星跟蹤圖

KubeVirt

Build Status
Go Report Card
Licensed under Apache License version 2.0
Coverage Status
CII Best Practices
Visit our Slack channel
FOSSA Status

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.

Introduction

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

Example:

asciicast

To start using KubeVirt

Try our quickstart at kubevirt.io.

See our user documentation at kubevirt.io/docs.

Once you have the basics, you can learn more about how to run KubeVirt and its newest features by taking a look at:

To start developing KubeVirt

To set up a development environment please read our
Getting Started Guide. To learn how to contribute, please read our contribution 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 developer documentation:

Community

If you got enough of code and want to speak to people, then you got a couple
of options:

Submitting patches

When sending patches to the project, the submitter is required to certify that
they have the legal right to submit the code. This is achieved by adding a line

Signed-off-by: Real Name <email@address.com>

to the bottom of every commit message. Existence of such a line certifies
that the submitter has complied with the Developer's Certificate of Origin 1.1,
(as defined in the file docs/developer-certificate-of-origin).

This line can be automatically added to a commit in the correct format, by
using the '-s' option to 'git commit'.

License

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.

FOSSA Status

主要指標

概覽
名稱與所有者kubevirt/kubevirt
主編程語言Go
編程語言Makefile (語言數: 7)
平台
許可證Apache License 2.0
所有者活动
創建於2016-12-16 21:24:26
推送於2025-04-25 20:35:07
最后一次提交
發布數301
最新版本名稱v1.5.0 (發布於 2025-03-13 18:01:18)
第一版名稱v0.0.1-alpha.0 (發布於 )
用户参与
星數6k
關注者數110
派生數1.4k
提交數24.2k
已啟用問題?
問題數3482
打開的問題數256
拉請求數8549
打開的拉請求數210
關閉的拉請求數2335
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?