Run legacy software that requires a full virtual machine on a Kubernetes cluster without separate VM infrastructure.
Manage virtual machines using kubectl and standard Kubernetes YAML manifests alongside existing container workloads.
Consolidate VM and container workloads onto a single Kubernetes cluster to reduce infrastructure overhead.
Provide strong tenant isolation using hardware-level virtual machines on shared Kubernetes nodes.
Requires a Kubernetes cluster with hardware virtualization support on nodes, nested virtualization works for testing but is not production-grade.
KubeVirt is an add-on for Kubernetes that makes it possible to create and manage traditional virtual machines alongside the containers that Kubernetes normally runs. Without KubeVirt, Kubernetes only knows how to schedule containers. With KubeVirt installed, the cluster also understands virtual machines as a first-class resource type. Kubernetes is a system for running applications packaged in containers across a cluster of machines. It manages scheduling, restarts, and scaling automatically. Containers are lightweight and fast, but some workloads still need full virtual machines, either for compatibility with older software, specific hardware access, or stronger isolation between tenants. KubeVirt bridges that gap by teaching Kubernetes to handle both. Under the hood, KubeVirt adds new resource definitions to Kubernetes so that a virtual machine can be declared the same way any other Kubernetes object is declared, using a configuration file. Once declared, operators on the cluster can create, start, stop, schedule, and delete virtual machines using the same tools and workflows already used for containers. The actual machine virtualization relies on existing Linux virtualization infrastructure rather than reinventing it. The project provides documentation for both end users who want to run virtual machines on an existing Kubernetes cluster and for developers who want to contribute to or extend KubeVirt itself. Architecture and component breakdowns are available in the repository's docs folder. KubeVirt is an active open source project released under the Apache License 2.0. It has a community presence on Twitter, Slack, and a Google Group, and publishes a release schedule along with compatibility notes for different versions of Kubernetes.
← kubevirt on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.