kubevirt/kubevirt
GitHub: kubevirt/kubevirt
在 Kubernetes 集群中通过 CRD 扩展实现虚拟机管理,让虚拟机与容器能够在同一平台统一调度与运维。
Stars: 6696 | Forks: 1622
# KubeVirt
](https://asciinema.org/a/497168)
## 开始使用 KubeVirt
请访问 [kubevirt.io](https://kubevirt.io/get_kubevirt/) 尝试我们的快速入门指南。
请访问 [kubevirt.io/docs](https://kubevirt.io/user-guide) 查看我们的用户文档。
掌握了基础知识后,您可以通过以下内容了解更多关于如何运行 KubeVirt 及其最新功能:
* [KubeVirt 博客](https://kubevirt.io/blogs/)
* [KubeVirt Youtube 频道](https://www.youtube.com/channel/UC2FH36TbZizw25pVT1P3C3g)
## 开始开发 KubeVirt
要设置开发环境,请阅读我们的[入门指南](docs/getting-started.md)。要了解如何贡献,请阅读我们的[贡献指南](https://github.com/kubevirt/kubevirt/blob/main/CONTRIBUTING.md)。
您可以通过查看[我们的开发者文档](docs/),了解更多关于 KubeVirt 的设计(以及为什么要这样设计)和主要组件的信息:
* [架构](docs/architecture.md) - 架构的高层视角
* [组件](docs/components.md) - 所有组件的详细概览
* [API 参考](https://kubevirt.io/api-reference/)
## 实用链接
KubeVirt SIG-release 仓库负责提供有关即将发布和先前发布版本的信息。
* [KubeVirt 对 Kubernetes 的版本支持矩阵](https://github.com/kubevirt/sig-release/blob/main/releases/k8s-support-matrix.md) - 验证为您的 Kubernetes 版本构建和支持的 KubeVirt 版本
* [下一个 KubeVirt 版本的值得注意的更改](https://github.com/kubevirt/sig-release/blob/main/upcoming-changes.md) - 即将发布版本的预发布说明
* [发布时间表](https://github.com/kubevirt/sig-release/blob/main/releases/) - 针对我们当前和以前的版本
## 社区
如果您已经受够了代码并想与人交流,那么您有几个选择:
* 在 [Twitter](https://twitter.com/kubevirt) 上关注我们
* 通过 [#virtualization @ kubernetes.slack.com](https://kubernetes.slack.com/?redir=%2Farchives%2FC8ED7RKFE) 在 Slack 上与我们聊天
* 在 [kubevirt-dev Google Group](https://groups.google.com/forum/#!forum/kubevirt-dev) 上与我们讨论
* 通过观看我们的[社区内容](https://github.com/kubevirt/community/)了解设计和即将发生的事件
### 相关资源
* [Kubernetes][k8s]
* [Libvirt][libvirt]
* [Cockpit][cockpit]
* [kubevirt.core][kubevirt.core] Ansible collection
### 提交补丁
向项目发送补丁时,要求提交者证明其拥有提交代码的合法权利。这通过在每条提交消息的底部添加一行来实现
```
Signed-off-by: Real Name
```
存在这样一行即证明提交者已遵守开发者原创证书 1.1(如 docs/developer-certificate-of-origin 文件中所定义)。
通过使用 'git commit' 的 '-s' 选项,可以自动以正确的格式将此行添加到提交中。
## 许可证
KubeVirt 根据 [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) 分发。
```
This file is part of the KubeVirt project
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.
Copyright The KubeVirt Authors.
```
## FOSSA 状态
[](https://app.fossa.com/projects/custom%2B13072%2Fgit%40github.com%3Akubevirt%2Fkubevirt.git?ref=badge_large)
[](https://prow.ci.kubevirt.io/?job=push-kubevirt-main)
[](https://goreportcard.com/report/github.com/kubevirt/kubevirt)
[](https://www.apache.org/licenses/LICENSE-2.0)
[](https://coveralls.io/github/kubevirt/kubevirt?branch=main)
[](https://bestpractices.coreinfrastructure.org/projects/3203)
[](https://kubernetes.slack.com/?redir=%2Farchives%2FC0163DT0R8X)
[](https://app.fossa.com/projects/custom%2B13072%2Fgit%40github.com%3Akubevirt%2Fkubevirt.git?ref=badge_shield)
**KubeVirt** 是一个用于 Kubernetes 的虚拟机管理附加组件。
其目标是在 Kubernetes 之上为虚拟化解决方案提供一个通用的基础。
## 介绍
### Kubernetes 的虚拟化扩展
KubeVirt 的核心是通过 [Kubernetes 的 Custom Resource Definitions API][crd] 添加额外的虚拟化资源类型(特别是 `VM` 类型),从而扩展 [Kubernetes][k8s]。
通过使用这种机制,可以使用 Kubernetes API 来管理这些 `VM` 资源以及 Kubernetes 提供的所有其他资源。
仅有资源本身并不足以启动虚拟机。
为了实现这一点,需要向集群添加*功能和业务逻辑*。该功能不是添加到 Kubernetes 本身,而是通过在现有集群上*运行*额外的控制器和代理添加到 Kubernetes 集群中。
KubeVirt 提供了必要的控制器和代理。
截至目前,KubeVirt 可用于声明式地
* 创建预定义 VM
* 在 Kubernetes 集群上调度 VM
* 启动 VM
* 停止 VM
* 删除 VM
[标签:API, CNCF, DNS解析, EVTX分析, EVTX分析, Go语言, K8s扩展, KubeVirt, KVM, Libvirt, QEMU, Runtime, web渗透, 内联执行, 基础设施, 子域名突变, 容器化虚拟机, 开源项目, 日志审计, 混合云, 程序破解, 虚拟化, 虚拟机管理, 虚机编排