As you may already know, Red Hat has announced that it will be ending support of Red Hat Virtualization (RHV) in 2026. This move gives customers about four years to migrate their RHV workloads to another solution in a market that’s experiencing some major changes. In this article, we discuss one alternative to legacy virtualization: OpenShift Virtualization, a feature offered within Red Hat OpenShift.
One of the primary purposes of RHV, as with any traditional hypervisor like Xen, VMware or a KVM-based solution, has been to increase utilization of physical hardware by running multiple virtual machines (VMs) per physical compute node. This is a task that all of these products do very well, and with add-ins like Software-Defined Networking (SDN), traditional hypervisors seem almost as robust as the services provided by modern cloud platforms.
At the most fundamental level, both Red Hat Virtualization and Red Hat OpenStack Platform run virtual machines using the libvirt (KVM) functionality of Red Hat Enterprise Linux (RHEL). These products improve upon the management of KVM by providing easier-to-use interfaces and configuration options. But, in the end, all of those added bells and whistles are simply improved ways of creating and managing VMs.
And now, Red Hat is providing yet another way to create and manage KVM-based virtual machines: Red Hat OpenShift Virtualization. Now, I will admit that when I first heard of OpenShift Virtualization, I was incredulous. No, more than that, I thought it was a terrible idea! VMs just do not run the same way containers do, so why would we need an extra layer of complexity underneath the virtualized OS? However, now that I understand how OpenShift Virtualization works and how it leverages the same trusted KVM-based technology Red Hat has been providing and using for years, I understand how OpenShift Virtualization can help us manage VMs in OpenShift.
How Red Hat OpenShift Virtualization works
Just as RHV and OpenStack Platform both provide easy ways of creating and managing KVM-based virtual machines, OpenShift Virtualization offers much of the same functionality, only as an OpenShift Operator. This enables you to continue running virtualized workloads while you modernize and containerize your applications. OpenShift Virtualization is an add-on to OpenShift that provides the ability to run VMs alongside your regular containerized workloads. As such, it makes the most sense to use it if you are already running an on-premise OpenShift environment.
Installing the Openshift Virtualization Operator in an existing OpenShift cluster takes only minutes and, assuming your bare-metal compute nodes are already configured correctly, you can start spinning up VMs in OpenShift a few seconds later. All of this is possible because OpenShift Virtualization relies on the same fundamental technology you have been using successfully for years: QEmu, KVM and libvirt. The only difference is that the QEmu process is running inside a container and it leverages OpenShift’s already robust SDN. So, when you start up a VM in OpenShift Virtualization, it runs just like it does within RHV or OpenStack, but with the added benefit of being managed by an OpenShift cluster already running in your environment.
The figure below shows a side-by-side comparison of how QEmu, KVM and libvirt interact with each other and the VM in three of Red Hat’s products. With OpenShift Virtualization, these components run inside a container, but their relationships remain exactly the same. In terms of running VMs inside or outside of containers, the software that runs the guest OS is the same tried and true solution that you have been relying on for years.
For system administrators who are already familiar with running OpenShift on-premise, adding OpenShift Virtualization is relatively straightforward. Virtual machines run in pods and can be accessed, migrated or load-balanced just like microservices. This means that if a VM has a software issue and hangs or crashes, OpenShift Virtualization can be configured to notice and take corrective action, such as rebooting the VM or starting it on another node.
Upgrading the application running inside the VM can also be as simple as providing a new image and then updating the virtual machine configuration to use it—OpenShift Virtualization will take care of spinning up the new VM and shutting down the old ones. Alternatively, it is also possible to make a snapshot or clone of your VM disk prior to upgrading the application. This provides a smooth recovery procedure in the event of a failure during an upgrade.
Red Hat has also released the Migration Toolkit for Virtualization (MTV). Using these tools, you can connect OpenShift Virtualization directly to your existing hypervisor infrastructure and create migration plans for your virtual machines. The migration plan will run at the time of your choosing and will move your VM into OpenShift Virtualization with minimal downtime.
How to use OpenShift Virtualization
In order to relieve some of the fear, uncertainty and doubt that surrounds a different product to manage virtual machines, let's look at how to install and use OpenShift Virtualization. Here, we'll only focus on the broad concepts, so if you prefer detailed steps, please refer to our documentation or training on the subject, as well as this other blog post that discusses the benefits of OpenShift Virtualization.
Once you have an OpenShift cluster running on bare-metal worker nodes, install the OpenShift Virtualization Operator from the Operator Hub, just like you would any other Operator.
When the installation is complete, click the Create HyperConverged button, and when that process completes, you are ready to start your first virtual machine.
One of the first things you may notice is a new Virtualization area in the OpenShift console navigation bar.
From here, you can get an overview of the virtualization environment, browse the catalog of official templates, create virtual machines or view and create custom templates.
When you click on VirtualMachines, you will see that there are no VMs created.
Click on the Create virtual machine button to view the available templates in the catalog and start your first VM. For this example, we will create a new RHEL 8 instance by clicking on the appropriate template.
In the next screen, you can rename your VM and change certain aspects of the virtualized hardware. In this example, we will just give it a name and click Quick Create Virtual Machine
A few seconds after creating the VM in OpenShift Virtualization, your new virtual machine is ready to go.
By clicking on the VM name and then the Console
tab, you can see that it is up and running and ready to connect to the network.
Those of us who have been using traditional hypervisors for years may feel quite comfortable with the tools we have learned to manage virtualized workloads, such as Red Hat Virtualization. But as technology advances, the landscape evolves, and—as companies come to rely more heavily on platforms that utilize containers—virtualizing operating systems has become as easy as installing an Operator inside an existing OpenShift cluster.
Red Hat OpenShift Virtualization brings the stability, self-healing, scalability and resource management that we have come to expect from traditional hypervisors, while leveraging the tools that many of us are already using. The announcement that Red Hat Virtualization will sunset in a few years is no reason to panic and start searching for a different hypervisor that does the same old things—it is a time to be curious about the advances and innovation that containerized software has to offer us.
To learn more about the exciting things Red Hat is doing with OpenShift Virtualization, you can start with this list of videos, documents and presentations. Don’t be afraid—containerized virtual machines are just a few clicks away!