The CNCF Technical Oversight Committee (TOC) has voted to accept KubeVirt as a CNCF incubating project.
KubeVirt enables users to run virtual machine workloads on top of Kubernetes in a Kubernetes-native way. It allows the migration of legacy applications and supports building new applications with virtualization requirements, ultimately strengthening Kubernetes as the tool of choice for running compute workloads.
The KubeVirt project was founded in January 2017 at Red Hat. Since joining CNCF as a Sandbox project in September 2019, the project has added contributors from Amadeus, Apple, CloudFlare, Containership, Giant Swarm, Gitpod, IBM, Kubermatic, Lacoda, NEC, NVIDIA, SAP, Solidfire, SUSE, and independent developers. KubeVirt-based solutions have gone into production at multiple companies, including Arm, CIVO, CoreWeave, H3C, and Kubermatic. The project is now the leading open source tool for running VMs in Kubernetes.
“I’m really excited to see KubeVirt joining CNCF Incubator,” said Fabian Deutsch, KubeVirt maintainer and senior engineering manager at Red Hat. “Virtualization workloads remain a common form factor in 2022 to host legacy workloads or even act as an infrastructure layer in greenfield deployments. The increased number of adopters and offerings around KubeVirt validate that it solves problems for users when moving to a cloud native world. While there has been huge progress, I’m also looking forward to seeing improvements around KubeVirt’s security, usability, scalability, and Cluster API Provider (CAPK).”
KubeVirt has also maintained a consistent release cadence with over 30 releases since joining Sandbox that continuously improve the project across its components. In just over two years, KubeVirt has increased usability and functionality, performance and runtimes, and migration sources while refining processes, documentation, and security practices. Recent feature additions include:
- Live migration capabilities to maintain virtual workloads when their underlying compute nodes are put into maintenance or otherwise unavailable
- Accelerated compute-intensive workloads through single VM GPU access
- CPU pinning support and NUMA Topology passthrough
- Data protection with offline and online disk snapshots
- SR-IOV support for high-performance networking
- Multus support for multiple network interfaces attached to Virtual Machines
- Declarative host network configuration
- Improved operations with runbooks and enhanced observability
- Nondisruptive updates of the KubeVirt control plane and workloads
“I’m very excited by the tremendous progress the community has made on performance and scale,” said Ryan Hallisey, KubeVirt maintainer and senior software engineer technical lead at NVIDIA. “The improved metrics provide far more visibility, the new tooling helps validate code changes, and the new features and bug fixes are very impactful. The changes in performance and scale are one example of why KubeVirt reaching incubation is well deserved. The project has a great community, a strong technical solution, and wide adoption. I’m looking forward to KubeVirt’s continued growth alongside Kubernetes in the CNCF ecosystem.”
Kubevirt has also added several projects to the ecosystem like Cluster Network Add-on Operator (CNAO) to manage the lifecycle of the host network and Node Health Check for providing virtual machine high availability.
KubeVirt’s core is well known, but the project has been extended to include smaller projects to address some classical virtualization problems (disk import) and challenges that arise from running on bare metal, which is a requirement for running KubeVirt in production. Key components include:
- KubeVirt Virtualization API and runtime to define and manage virtual machines in a Kubernetes cluster.
- Containerized Data Importer for importing existing disks
- Cluster Network Add-on Operator for configuring host networking
- Host Path Provisioner for exposing local storage
- Hyperconverged Cluster Operator as an opinionated way of deploying KubeVirt
KubeVirt collaborates and integrates with many other Cloud Native projects. Foremost with building on top of and aligning with Kubernetes and its principles to provide a consistent user experience. KubeVirt is built to be complemented by other projects to extend its feature set: Storage (Rook), Observability & Alerting (Prometheus), L2 Networking (Multus, Kube-OVN), Service Meshes (Istio), Automation (Tekton, ArgoCD), and workload migration (Konveyor).
“As more organizations adopt cloud native modernization practices, Kubernetes is being stretched to run additional types of workloads outside of pure containers. KubeVirt fills a gap in the cloud native ecosystem for teams with VM based workloads side by side with containers and other workload types,” said Chris Aniszczyk, CTO of CNCF. “This means organizations can take advantage of the modern flexibility of Kubernetes without having to refactor VM-based applications. We’re excited to have Kubevirt in the Incubator and look forward to seeing its community grow further.”
- 30 releases since joining Sandbox
- 3,800+ GitHub Stars
- 5,400+ pull requests
- 2,000+ GitHub issues
- 337 contributors
- 133 contributing companies
The KubeVirt community is also working towards more robust networking, security, scalability, workload, and data protection features such as:
- Backup / Recovery & DR with Velero
- Higher-level VM API
- Cluster API Provider for KubeVirt
- Additional support for very large VMs – e.g. 6TB+ memory
- Further scale-out testing of KubeVirt API
- Advanced security enhancements – e.g., increased workload isolation with non-root VMI Pods
- VM import/export file format and API
“It’s great to see KubeVirt evolving,” said Vasiliy Ulyanov, KubeVirt maintainer and senior software engineer at SUSE. “Storage, networking, security, performance – all those areas are being actively worked on, following the existing demands and improving the user experience. The new features like non-root VMs, ARM64 support, and Confidential Computing (on its way) have the potential to attract even more attention and interest to the project.”
As a CNCF-hosted project, KubeVirt is part of a neutral foundation aligned with its technical interests, as well as the larger Linux Foundation, which provides governance, marketing support, and community outreach. Volcano joins incubating technologies Argo, Backstage, Buildpacks, ChaosMesh, Cilium, CloudEvents, CNI, Contour, Cortex, CRI-O, Crossplane, Dapr, Dragonfly, emissary-ingress, Falco, Flagger, Flux, gRPC, in-toto, KEDA, Knative, KubeEdge, Litmus, Longhorn, NATS, Notary, OpenMetrics, OpenTelemetry, Operator Framework, SPIFFE, SPIRE, Thanos, and Volcano. For more information on maturity requirements for each level, please visit the CNCF Graduation Criteria.