* [Topics](/en/topics "Topics")
* [Virtualization](/en/topics/virtualization "Virtualization")
* What is KubeVirt?
What is KubeVirt?
=================
Published  October 25, 2024•*5*-minute read
Copy URL
Jump to section
---------------
What is KubeVirt?How does KubeVirt work?What can you do with Kubevirt?Kubevirt benefitsWhy choose Red Hat?
What is KubeVirt?
-----------------
KubeVirt is an open source project that makes it possible to run, deploy, and manage [virtual machines](/en/topics/virtualization/what-is-a-virtual-machine) (VMs) with [Kubernetes](/en/topics/containers/what-is-kubernetes) as the underlying orchestration platform. The process of running virtual machines within [containers](/en/topics/containers) is known as [container-native virtualization](/en/topics/containers/what-is-container-native-virtualization). KubeVirt enables container-native virtualization by packaging those virtual machines inside containers and managing both workloads from a single console.
With KubeVirt, virtual machines behave the same way they would in a traditional virtualization environment, but they can run on the same platform as containerized [microservices](/en/topics/microservices/what-are-microservices) and [cloud-native applications](/en/topics/cloud-native-apps). All workloads in the environment, including VMs, benefit from the same Kubernetes infrastructure, tools, and management.
KubeVirt is sponsored by the [Cloud Native Computing Foundation](https://www.cncf.io/projects/kubevirt/) (CNCF), and it is the open source foundation for [Red Hat® OpenShift® Virtualization](/en/technologies/cloud-computing/openshift/virtualization), a feature of [Red Hat OpenShift](/en/technologies/cloud-computing/openshift) that supports the migration and management of traditional virtual machines on a trusted hybrid cloud application platform.
[Explore Red Hat’s virtualization solution](/en/products/virtualization "Migrate VMs with Red Hat")
How does KubeVirt work?
-----------------------
KubeVirt works by extending the Kubernetes [application programming interface](/en/topics/api/what-are-application-programming-interfaces) (API) so it can interact with virtual machines in the same way as other Kubernetes resources and tools. This makes it possible for containers and virtual machines to share the same cluster, nodes, and networks.
KubeVirt’s added functionality is composed of 3 main components:
* Custom resource definitions (CRDs): A custom resource is an object that extends the Kubernetes API or allows you to introduce your own API into a project or a cluster. A custom resource definition file defines your object kind and lets the API Server handle the entire lifecycle. KubeVirt brings a CRD to the Kubernetes API that enables it to handle virtual machines like other Kubernetes objects (such as pods).
* Controllers: A controller is a set of deployments running on the cluster that provide an API endpoint for managing the new KubeVirt CRDs.
* Agents: Agents run on a cluster’s worker nodes to manage node tasks related to virtualization.
Another way to think of KubeVirt is as a pod running with a KVM-based virtual machine inside of it. In Kubernetes, a [pod](/en/topics/containers/what-is-podman#what-are-pods) is a group of containers that run together and share the same resources, and [KVM](/en/topics/virtualization/what-is-KVM) (Kernel-based Virtual Machine) is an open source technology that extends the [Linux® kernel](/en/topics/linux/what-is-the-linux-kernel) to function as a [hypervisor](/en/topics/virtualization/what-is-a-hypervisor). With KubeVirt, virtual machine instances run just like pods. This allows KubeVirt to manage VM states like "stopped," "paused," and "running," as well as perform operations like the provisioning, scheduling, and migration of virtual machines.
Recommended for you
TAM your tech hour | Next-level Red Hat OpenShift Virtualization automation and configuration
---------------------------------------------------------------------------------------------
[Watch the webinar](https://www.redhat.com/en/events/webinar/tam-your-tech/next-level-red-hat-openshift-virtualization-automation-configuration-2024?percmp=RHCTG0250000455235)
What can you do with Kubevirt?
------------------------------
### Create virtual machines
From the virtctl command line with the subcommand "create vm", you can create virtual machines within a Kubernetes environment. You can also control [instance types](/en/topics/virtualization/how-create-virtual-machine-instance-type) and preferences to manage configurations across many virtual machines at once, including setting performance profiles and customizing runtime characteristics.
[Learn how to create and scale virtual machines with Red Hat OpenShift Virtualization](https://cloud.redhat.com/learn/how-create-and-scale-6000-virtual-machines-7-hours-red-hat-openshift-virtualization)
### Manage virtual machines
The virtctl command line interface (CLI) works alongside kubectl, the standard Kubernetes command line tool, to provide virtualization-specific actions for managing virtual machines in a Kubernetes cluster. With virtctl, a virtual machine admin can:
* Stop, start, restart, and pause virtual machines.
* Manage disk images.
* Access the virtual machine’s serial, graphical, and ssh consoles.
* Migrate between nodes.
Kubernetes orchestration and scheduling provides multiple layers of management to help keep your VMs up and running smoothly. If you are also running container workloads, KubeVirt helps you manage and monitor your containers and VMs from a single control plane.
[Manage virtual machines with Red Hat OpenShift Virtualization](https://docs.redhat.com/en/documentation/openshift_container_platform/4.15/html/virtualization/virtual-machines#virt-manage-vmis)
### Migrate virtual machines
KubeVirt supports multiple virtual machine migration methods, including live migration. Live migration is the process of moving a virtual machine and remapping its storage from one host to another without interrupting access to the VM. This is a good option for VMs that require constant uptime, and you can avoid disruptions to your operations as you migrate between nodes or platforms.
[Learn more about live migration](/en/topics/virtualization/what-is-live-migration)
### Experiment and scale
Running virtual machines on Kubernetes lets you experiment with additional functionality. For example, the Containerized Data Importer (CDI) is a compatible technology that enables disk storage for KubeVirt VMs and can manage storage resources.
Kubernetes is also built to scale. As you experiment with new features, add functionality to your workloads, and modernize legacy applications, you can scale up and down automatically based on central processing unit (CPU) usage.
[Explore KubeVirt.io](https://kubevirt.io/ "KubeVirt homepage")
Kubevirt benefits
-----------------
### Cloud-native integration
KubeVirt makes it possible to run workloads that aren’t easily containerized alongside cloud-native apps and microservices. Virtualized application components become a part of a unified development platform where developers can build, manage, deploy, and scale applications regardless of whether components are containerized, virtualized, or a mix of the two.
With KubeVirt, virtual machines can also benefit from integration with various Kubernetes-native features, such as [role-based access control](/en/topics/security/what-is-role-based-access-control) (RBAC), integrated monitoring and logging, [service mesh](/en/topics/microservices/what-is-a-service-mesh), and more.
### Modernization
Virtualization makes it possible to quickly start and stop different operating system environments on a single piece of hardware. This approach offers a host of benefits to an IT ecosystem, including flexibility, speed, and stability. But as virtualization platforms evolve and become more costly, some enterprises are looking for new solutions. KubeVirt is an appealing option because it’s not just a replacement hypervisor—it offers a path and platform for modernization.
With KubeVirt, you can create and run containers and VMs side by side, but you also receive a unified platform on which to develop new applications and [modernize](/en/topics/application-modernization) legacy workloads. As you modernize, you’ll unlock the resources and technology needed to explore advancements in cloud-native development, artificial intelligence, and machine learning.
### Advanced features and parity
As a [CNCF Incubating project](https://www.cncf.io/projects/), KubeVirt not only launches with the advanced features and functionality native to Kubernetes—it is consistently [improved and expanded](https://kubevirt.io/tag/release-notes) by open source community contributors.
KubeVirt also offers feature parity with other enterprise virtualization platforms, including VMware vSphere and HyperV, so you can perform the same tasks you’re used to in a traditional virtualization environment.
### Performance
KubeVirt can address changing CPU requirements and memory allocation, resulting in lower latency when compared to traditional virtualization solutions. KubeVirt also streamlines the abstraction layer between bare metal hardware and runtime environments for more efficient use of resources and better performance.
The KubeVirt community special interest scale (SIG-scale) group identified a need to evaluate the performance and scalability of KubeVirt across releases, so they developed techniques to monitor how KubeVirt scales in datacenter environments. KubeVirt now shares this [performance and scalability data](https://github.com/kubevirt/kubevirt/blob/main/docs/perf-scale-benchmarks.md) after each release.
[Learn how KubeVirt improves performance with CI-driven benchmarking](https://youtu.be/pCgLYXevN3Y?si=adjoZHFflR1XDb1k)
### Built-in security
KubeVirt takes advantage of [Kubernetes-native security](/en/topics/containers/advantages-of-kubernetes-native-security), which ensures that policies are applied consistently, across all environments—including virtual machines. It lets users specify a single configuration, such as a network policy, that should apply to all pods in a deployment, rather than having to configure system-level controls on every host in a cluster. This functionality makes it easier to manage the security of your virtual machines consistently and at scale.
By tying policies into [CI/CD](/en/topics/devops/what-is-ci-cd) systems and the Kubernetes admission controller framework, organizations can more easily apply control policies early in the software development lifecycle, preventing exposures at runtime.
Why choose Red Hat for virtualization?
--------------------------------------
This video can't play due to privacy settings
To change your settings, select the "Cookie Preferences" link in the footer and opt in to "Advertising Cookies or try disabling adblockers."
Is OpenShift Virtualization right for your VMs? Video duration: 1:57
### Migrate your VMs and maintain your momentum
Red Hat’s trusted products and [partner ecosystem](/en/technologies/cloud-computing/openshift/virtualization/partners) deliver comprehensive [virtualization solutions](/en/products/virtualization). Migrate your virtual machines now to [Red Hat® OpenShift® Virtualization](/en/technologies/cloud-computing/openshift/virtualization), a modern app platform–based on [KVM](/en/topics/virtualization/what-is-KVM) and [KubeVirt](/en/topics/virtualization/what-is-kubevirt)–that integrates virtual and containerized workloads to provide flexibility without added complexity. Or, for a dedicated virtualization solution, explore [Red Hat OpenShift Virtualization Engine](/en/technologies/cloud-computing/openshift/virtualization-engine), a streamlined, cost-effective offering to deploy, manage, and scale VMs exclusively. The included [migration toolkit for virtualization](https://access.redhat.com/products/migration-toolkits-virtualization) provides the tools you need to start your migration in a few simple steps.
### Automate your migration
Use automation to accelerate delivery with [Red Hat Ansible® Automation Platform](/en/technologies/management/ansible/virtual-infrastructure-management)–from migration at scale to Day 2 operations and remediation. With this flexible approach, you can automate tasks to improve speed and efficiency of IT operations.
### Manage and modernize at your own pace
Monitor the security and performance of your VMs from a single console with [Red Hat Advanced Cluster Management](/en/technologies/management/advanced-cluster-management). With additional support options and partner integrations, you can rely on Red Hat to keep your virtual infrastructure running smoothly throughout the hybrid cloud–and help you modernize when you’re ready.
[Explore our virtualization solution](/en/products/virtualization)
Recommended for you
E-book
15 reasons to adopt Red Hat OpenShift Virtualization
----------------------------------------------------
Discover how Red Hat OpenShift Virtualization can unify and simplify your IT operations, using one platform for both virtual machines and containers.
[Read the e-book](https://www.redhat.com/en/resources/15-reasons-adopt-openshift-virtualization-ebook?percmp=RHCTG0250000455234)
Recommended for you
Managing Virtual Machines with Red Hat OpenShift Virtualization with Exam
-------------------------------------------------------------------------
Managing Virtual Machines with OpenShift Virtualization with exam teaches the essential skills required to create and manage virtual machines (VM) on OpenShift using the Red Hat OpenShift Virtualization operator.
[View course with exam](https://www.redhat.com/en/services/training/managing-virtual-machines-red-hat-openshift-virtualization-exam?percmp=RHCTG0250000455236)
Keep reading
------------
### How to create a virtual machine with an instance type
Find out how to create a virtual machine with an instance type in Red Hat OpenShift Virtualization using the Red Hat OpenShift console graphical user interface.
[Read the article](/en/topics/virtualization/how-create-virtual-machine-instance-type "How to create a virtual machine with an instance type")
### What is a virtual machine (VM)?
A virtual machine (VM) is an isolated computing environment created from a pool of hardware resources.
[Read the article](/en/topics/virtualization/what-is-a-virtual-machine "article | what is a virtual machine (VM)?")
### What is virtualization?
Virtualization is a technology that allows you to create virtual, simulated environments from a single, physical machine.
[Read the article](/en/topics/virtualization/what-is-virtualization "article | what is virtualization?")
Virtualization resources
------------------------
### Featured product
* #### [Red Hat OpenShift Virtualization](/en/technologies/cloud-computing/openshift/virtualization)
  A feature of Red Hat® OpenShift® that seamlessly integrates virtual machines into a modern hybrid cloud infrastructure platform.
[See all products](/en/technologies/all-products "See all products")
### Related content
* Blog post
  [Red Hat OpenShift Virtualization: The strategic platform for virtualization customers](/en/blog/red-hat-openshift-virtualization-strategic-platform-virtualization-customers)
* Analyst material
  [Virtualization at a Crossroads: Building a Modern Virtualization Platform](/en/resources/idc-spotlight-virtualization-platform-analyst-material)
* Blog post
  [What's new in the migration toolkit for virtualization 2.10](/en/blog/whats-new-migration-toolkit-virtualization-210)
* Blog post
  [Red Hat OpenShift Virtualization 4.20: Hybrid cloud-flexibility and enhanced VM management](/en/blog/whats-new-in-red-hat-openshift-virtualization-4.20)
### Related articles
* [Edge computing with Red Hat OpenShift](/en/technologies/cloud-computing/openshift/edge-computing)
* [How to create a virtual machine with an instance type](/en/topics/virtualization/how-create-virtual-machine-instance-type)
* [What is a virtual machine (VM)?](/en/topics/virtualization/what-is-a-virtual-machine)
* [What is a Linux container?](/en/topics/containers/whats-a-linux-container)
* [What is container orchestration?](/en/topics/containers/what-is-container-orchestration)
* [Stateful vs stateless applications](/en/topics/cloud-native-apps/stateful-vs-stateless)
* [What is Kubernetes?](/en/topics/containers/what-is-kubernetes)
* [What's the difference between cloud and virtualization?](/en/topics/cloud-computing/cloud-vs-virtualization)
* [What is virtualization?](/en/topics/virtualization/what-is-virtualization)
* [Red Hat OpenShift on VMware](/en/technologies/cloud-computing/openshift/vmware)
* [What is virtualization management?](/en/topics/virtualization/what-is-virtualization-management)
* [How to migrate VMs from VMware to Red Hat OpenShift Virtualization](/en/technologies/cloud-computing/openshift/migrate-vmware-to-openshift-virtualization)
* [KVM vs. VMware](/en/topics/virtualization/kvm-vs-vmware-comparison)
* [What is virtual infrastructure management? And how can automation help?](/en/topics/automation/virtual-infrastructure-management)
* [How to choose a virtualization platform](/en/topics/virtualization/how-to-choose-a-virtualization-platform)
* [What is KVM?](/en/topics/virtualization/what-is-KVM)
* [What is live migration?](/en/topics/virtualization/what-is-live-migration)
* [Why use Red Hat Ansible Automation Platform with Red Hat OpenShift?](/en/technologies/cloud-computing/openshift/ansible-on-openshift)
* [Why choose Red Hat for virtualization?](/en/topics/virtualization/why-choose-red-hat-for-virtualization)
* [What is Podman Desktop?](/en/topics/containers/what-is-podman-desktop)
* [Why migrate virtual machines to Red Hat?](/en/topics/virtualization/why-migrate-your-virtual-machines-to-red-hat)
* [What is Podman?](/en/topics/containers/what-is-podman)
* [What are hosted control planes?](/en/topics/containers/what-are-hosted-control-planes)
* [What is the Kubernetes Java client?](/en/topics/cloud-computing/what-is-kubernetes-java-client)
* [What is kubernetes security?](/en/topics/containers/kubernetes-security)
* [Red Hat OpenShift for developers](/en/technologies/cloud-computing/openshift/developers)
* [Containers vs VMs](/en/topics/containers/containers-vs-vms)
* [How Kubernetes can help AI/ML](/en/topics/cloud-computing/how-kubernetes-can-help-ai)
* [What is Kubeflow?](/en/topics/cloud-computing/what-is-kubeflow)
* [What are microservices?](/en/topics/microservices/what-are-microservices)
* [What is container security?](/en/topics/security/container-security)
* [OpenShift vs. OpenStack: What are the differences?](/en/technologies/cloud-computing/openshift/openshift-vs-openstack)
* [What are sandboxed containers](/en/topics/containers/sandboxed-containers)
* [What is Buildah?](/en/topics/containers/what-is-buildah)
* [Kubernetes vs OpenStack](/en/topics/openstack/kubernetes-vs-openstack)
* [What are validated patterns?](/en/topics/cloud-computing/what-are-validated-patterns)
* [Kubernetes on AWS: Self-Managed vs. Managed Applications Platforms](/en/topics/containers/kubernetes-on-aws)
* [What is a hypervisor?](/en/topics/virtualization/what-is-a-hypervisor)
* [What is an image builder?](/en/topics/linux/what-is-an-image-builder)
* [Learn everything you need to know about Open RAN](/en/topics/5g-networks/what-is-open-ran)
* [Red Hat OpenShift vs. OKD](/en/topics/containers/red-hat-openshift-okd)
* [Red Hat OpenShift vs. Kubernetes: What's the difference?](/en/technologies/cloud-computing/openshift/red-hat-openshift-kubernetes)
* [Spring on Kubernetes with Red Hat OpenShift](/en/technologies/cloud-computing/openshift/spring)
* [Why run Apache Kafka on Kubernetes?](/en/topics/integration/why-run-apache-kafka-on-kubernetes)
* [What is high availability and disaster recovery for containers?](/en/topics/containers/high-availability-containers)
* [What is a golden image?](/en/topics/linux/what-is-a-golden-image)
* [What are Red Hat OpenShift cloud services?](/en/technologies/cloud-computing/openshift/what-are-red-hat-openshift-cloud-services)
* [VNF and CNF, what’s the difference?](/en/topics/cloud-native-apps/vnf-and-cnf-whats-the-difference)
* [What is a container registry?](/en/topics/cloud-native-apps/what-is-a-container-registry)
* [What is Skopeo?](/en/topics/containers/what-is-skopeo)
* [What are Red Hat OpenShift Operators?](/en/technologies/cloud-computing/openshift/what-are-openshift-operators)
* [Using Helm with Red Hat OpenShift](/en/technologies/cloud-computing/openshift/helm)
* [Kubernetes security best practices](/en/topics/containers/kubernetes-security-best-practices)
* [Orchestrating Windows containers on Red Hat OpenShift](/en/technologies/cloud-computing/openshift/windows-containers-on-red-hat-openshift)
* [What is a Kubernetes operator?](/en/topics/containers/what-is-a-kubernetes-operator)
* [High performance computing with Red Hat OpenShift](/en/technologies/cloud-computing/openshift/high-performance-computing)
* [What is SD-WAN?](/en/topics/edge-computing/what-is-sd-wan)
* [Advantages of Kubernetes-native security](/en/topics/containers/advantages-of-kubernetes-native-security)
* [What is KubeLinter?](/en/topics/containers/what-is-kubelinter)
* [Intro to Kubernetes security](/en/topics/containers/intro-kubernetes-security)
* [Container and Kubernetes compliance considerations](/en/topics/containers/compliance)
* [How microservices support IT integration in healthcare](/en/topics/microservices/microservices-in-healthcare)
* [Kubernetes cluster management](/en/technologies/cloud-computing/openshift/kubernetes-cluster-management)
* [Red Hat OpenShift on IBM IT infrastructure](/en/technologies/cloud-computing/openshift/what-is-red-hat-openshift-on-IBM-IT-infrastructure)
* [Red Hat OpenShift for business leaders](/en/technologies/cloud-computing/openshift/business-leaders)
* [How to deploy Red Hat OpenShift](/en/technologies/cloud-computing/openshift/deploy-red-hat-openshift)
* [Cost management for Kubernetes on Red Hat OpenShift](/en/technologies/cloud-computing/openshift/cost-management)
* [What is enterprise Kubernetes?](/en/topics/containers/what-is-enterprise-kubernetes)
* [What makes Red Hat OpenShift the right choice for IT operations?](/en/technologies/cloud-computing/openshift/it-operations)
* [What makes Red Hat OpenShift the right choice for SAP?](/en/technologies/cloud-computing/openshift/sap)
* [Why choose Red Hat for Kubernetes?](/en/topics/containers/why-choose-red-hat-kubernetes)
* [Kubernetes-native Java development with Quarkus](/en/technologies/cloud-computing/openshift/quarkus)
* [What is Kubernetes role-based access control (RBAC)](/en/topics/containers/what-kubernetes-role-based-access-control-rbac)
* [What is containerization?](/en/topics/cloud-native-apps/what-is-containerization)
* [What was CoreOS and CoreOS container Linux](/en/technologies/cloud-computing/openshift/what-was-coreos)
* [What is network virtualization?](/en/topics/virtualization/what-is-network-virtualization)
* [What is a radio access network?](/en/topics/5g-networks/what-is-radio-access-network)
* [Learning Kubernetes basics](/en/topics/containers/learning-kubernetes-tutorial)
* [What is service-oriented architecture?](/en/topics/cloud-native-apps/what-is-service-oriented-architecture)
* [What is the Kubernetes API?](/en/topics/containers/what-is-the-kubernetes-api)
* [What is Kubernetes cluster management?](/en/topics/containers/what-is-kubernetes-cluster-management)
* [What is a Kubernetes deployment?](/en/topics/containers/what-is-kubernetes-deployment)
* [Why choose the Red Hat build of Quarkus?](/en/topics/cloud-native-apps/why-choose-red-hat-quarkus)
* [What is hyperconverged infrastructure?](/en/topics/hyperconverged-infrastructure/what-is-hyperconverged-infrastructure)
* [What is software-defined networking?](/en/topics/hyperconverged-infrastructure/what-is-software-defined-networking)
* [Introduction to Kubernetes architecture](/en/topics/containers/kubernetes-architecture)
* [What is CaaS?](/en/topics/cloud-computing/what-is-caas)
* [Introduction to Kubernetes patterns](/en/topics/cloud-native-apps/introduction-to-kubernetes-patterns)
* [What is a Kubernetes cluster?](/en/topics/containers/what-is-a-kubernetes-cluster)
* [What is Quarkus?](/en/topics/cloud-native-apps/what-is-quarkus)
* [What is Jaeger?](/en/topics/microservices/what-is-jaeger)
* [What is NFV?](/en/topics/virtualization/what-is-nfv)
* [What is Clair?](/en/topics/containers/what-is-clair)
* [What is etcd?](/en/topics/containers/what-is-etcd)
* [What is container-native virtualization?](/en/topics/containers/what-is-container-native-virtualization)
* [What is Knative?](/en/topics/microservices/what-is-knative)
* [Why choose Red Hat for microservices?](/en/topics/microservices/why-choose-red-hat-microservices)
* [What is vRAN?](/en/topics/virtualization/what-is-vran)
* [Why choose Red Hat for containers?](/en/topics/containers/why-choose-red-hat-containers)
* [What is Docker?](/en/topics/containers/what-is-docker)
* [What is a Kubernetes pod?](/en/topics/containers/what-is-kubernetes-pod)
[More about this topic](/en/topics/virtualization "More about this topic")