KubeVirt Awesome¶
藏云阁 KubeVirt Awesome,全国内资源,您的一站式 KubeVirt 知识库。
KubeVirt 是什么?¶
KubeVirt 是一个由 CNCF(云原生计算基金会)托管的开源孵化项目,旨在将虚拟机(VM)工作负载无缝集成到 Kubernetes 生态系统中,实现容器与虚拟机的统一管理。
基于 KVM 虚拟化技术,通过自定义资源(CRD)将虚拟机作为 Kubernetes 原生资源管理。用户可通过 Kubernetes API 创建、调度和管理虚拟机,使其与容器共享同一集群基础设施,无需独立虚拟化平台。
核心用途:解决混合工作负载管理难题¶
KubeVirt 主要服务于以下场景:
- 遗留应用现代化:迁移无法容器化的传统应用(如 Windows/.NET 应用、依赖特定硬件的 GPU 应用)至 Kubernetes 平台,避免重构成本。
- 统一基础设施管理:在单一控制平面下同时运行容器和虚拟机,减少运维复杂度与工具链冗余。
- 边缘计算支持: 结合 OpenYurt 等边缘框架,在边缘节点部署虚拟机,满足低延迟或离线运行需求。
- 混合云与多云部署:通过 Kubernetes 的跨集群能力,实现虚拟机工作负载在异构环境中的一致管理。
关键技术特点¶
- 原生 Kubernetes 集成
- 使用 VirtualMachine CRD 定义虚拟机配置(CPU、内存、存储),通过 kubectl 或 YAML 文件管理生命周期(启停、迁移、删除)。
- 虚拟机以 Pod 形式运行,复用 Kubernetes 网络(CNI)、存储(CSI)及安全策略(RBAC)。
- 高级虚拟化功能支持
- 实时迁移:节点维护时自动迁移虚拟机,保障业务连续性。
- 硬件直通:支持 GPU 透传、SR-IOV 高性能网络、NUMA 拓扑优化,满足计算密集型需求。
- 数据保护:在线/离线磁盘快照、备份恢复(集成 Velero)。
- 生态无缝集成
- 与 Prometheus(监控)、Argo CD(GitOps)、Istio(服务网格)等 CNCF 项目协同工作。
- 提供 Cluster Network Add-on Operator (CNAO) 管理网络,Hyperconverged Cluster Operator 简化部署。
- 跨平台兼容性
- 支持多种虚拟化后端(KVM、Xen、VMware)及存储方案(NFS、iSCSI、本地存储)
核心优势¶
- 统一运维,降低成本
- 通过 Kubernetes 统一管理容器与虚拟机,减少学习成本和工具链投入,提升运维效率。
- 性能无损与资源高效
- 直接调用宿主机的 KVM 虚拟化层,避免嵌套虚拟化性能损耗。
- 利用 Kubernetes 调度器优化资源分配,提高集群利用率。
- 敏捷交付与 DevOps 集成
- 虚拟机可通过 CI/CD 工具(如 Tekton)自动化构建、测试和部署,实现“虚拟机即代码”。
- 平滑迁移路径
- 提供迁移工具将 VMware 等平台的虚拟机直接导入 Kubernetes,保留原有配置(如固定 IP),支持渐进式重构。
- 企业级扩展能力
- 已验证支持 40,000 节点 规模集群,适用于金融、制造等大规模场景。
KubeVirt 的定位价值¶
KubeVirt 是 连接传统虚拟化与云原生生态的桥梁,它解决了企业遗留应用上云的痛点,同时赋予虚拟机容器级的敏捷性。
其核心价值在于通过技术融合实现“稳敏兼得”——稳态应用(VM)与敏态应用(容器)在统一平台共存,降低转型风险的同时加速云原生落地358。
KubeVirt 与传统虚拟化管理工具对比¶
能力 | KubeVirt | 传统虚拟化平台 (如 vSphere) |
---|---|---|
管理平面 | Kubernetes 原生 API | 独立控制台 |
资源调度 | Kubernetes 调度器 | 专属调度引擎 |
运维集成 | Prometheus/Argo CD 等生态 | 封闭或定制化插件 |
基础设施依赖 | 无(复用 K8s 集群) | 需独立部署虚拟化层 |
跨云/边缘扩展 | 天然支持 | 需额外解决方案 |
为什么选择KubeVirt?¶
KubeVirt 技术满足了已经采用或想要采用 Kubernetes,但拥有不易容器化的现有基于虚拟机的工作负载的开发团队的需求。
更具体地说,该技术提供了一个统一的开发平台,开发人员可以在一个共同的共享环境中构建、修改和部署驻留在应用程序容器和虚拟机中的应用程序。
好处广泛而显著。依赖现有基于虚拟机的工作负载的团队有能力快速容器化应用程序。通过将虚拟化工作负载直接放置在开发工作流程中,团队可以随着时间的推移对其进行分解,同时仍然可以轻松地利用剩余的虚拟化组件。
可以用 KubeVirt 做些什么?¶
利用 KubeVirt 和 Kubernetes 来管理无法容器化的应用程序的虚拟机。
在同一平台上结合现有的虚拟化工作负载和新的容器工作负载。
支持在容器中开发新的微服务应用程序,这些应用程序可以与现有的虚拟化应用程序进行交互。
所属组织情况¶
KubeVirt 属于 CNCF 基金会
处于 CNCF 基金会的 孵化中 阶段