Red Hat OpenShift, the industry’s leading enterprise Kubernetes platform, is used by enterprises across the globe that are looking to bring applications to market faster. The benefits of OpenShift can be extended to virtualized workloads through OpenShift Virtualization, OpenShift’s capability for Kubernetes-native virtualization, but first comes the hard part: How do you actually move your workloads to Kubernetes in the first place?
OpenShift Virtualization was released in April 2020, with the goal of having containers and virtual machines coexist in a converged Kubernetes environment. It provides:
The first steps towards GitOps with simplified and modernized administration and operations.
More workloads available for developers on their preferred platform.
Extended virtual machine (VM) capabilities with the addition of Kubernetes-native features.
Red Hat has years of experience running business critical workloads with the Kernel-based Virtual Machine (KVM) hypervisor. KVM is used extensively by OpenStack and major hyperscalers, and also serves as a component in Red Hat OpenShift.
To achieve that, Red Hat started KubeVirt, an open source project aimed at giving VMs parity with cloud-native applications in these environments. KubeVirt has matured a great deal since its inception and is used in OpenShift Virtualization, which reached production (GA) status in August of last year.
Benefits from Kubernetes for virtual machines
OpenShift Virtualization, put simply, enables organizations to use Kubernetes native capabilities on VMs. This means, among other things, these traditional workloads in VMs are connected to pod networks that are accessible using standard Kubernetes methods: service, route, pipelines, etc. Network policies apply to VM pods the same as application pods, with a more consistent model to manage VM-to-pod, and vice-versa, communication.
A real world example of OpenShift Virtualization in action is how one aeronautical company used old simulator software within OpenShift. It created a project to inject models using artificial intelligence and machine learning (AI/ML) to automatically deploy and test the models on the simulator in a VM to obtain test results and new telemetry training data. This was all in a fully automated way with Kubernetes, Kubeflow, KubeVirt and Tekton, all of which come in OpenShift.
Moving the workloads as first steps towards transformation
With our partners and customers, Red Hat helps conduct modernization and migration projects to enable cloud native capabilities. Part of this work is creating the necessary tools to reduce the complexities of migrating VMs to OpenShift. We’re doing this by taking our expertise in digital transformation and building these learnings into the tools themselves.
Part of this effort was the creation of the Konveyor community, which aims to help organizations transition existing workloads (development, test and production) to Kubernetes.
Building on the projects encompassed by Konveyor, Red Hat is delivering the tools to help move containers from one Kubernetes platform to another (Crane), to bring Cloud Foundry workloads to Kubernetes (Move2Kube) and even to analyze Java applications prior to modernization (Tackle).
Recently, Red Hat announced supported versions of these tools, packaged in migration toolkits and delivered alongside OpenShift:
Migration toolkit for containers.
Migration toolkit for applications.
Migration toolkit for virtualization.
These toolkits are available as Kubernetes Operators for installation and use in OpenShift deployments. These toolkits can also be combined with offerings from Red Hat Consulting and our robust partner ecosystem, further improving the experience and transition to a cloud-native world.
Red Hat’s migration toolkit for virtualization
The latest toolkit focuses on answering the question of not how to run VMs on OpenShift, but rather how to get your VMs to OpenShift. Migration toolkit for virtualization is built to migrate your virtualized workloads from different sources (initially VMware vSphere) to Kubernetes using KubeVirt. It is designed to simplify the task in a way that is more scalable, making it possible to migrate one or two test machines or hundreds for production.
The process includes three stages:
Review workloads and define which ones are strategic and are good to modernize (Rehost) and which ones are good to Retain or Retire.
Deploy OpenShift with bare metal nodes to handle virtual machines, extending networks from your VMware vSphere deployment.
Deploy migration toolkit for virtualization:
Select VMs to be migrated together.
Test the initial migration cases.
Do a production pilot.
Scale your migration.
How can we get started?
The requirements to run migration toolkit for virtualization and migrate VMs are:
You need to have a compatible source provider. In this initial version of MTV 2.0 GA we tested VMware vSphere 6.5 and 6.7. The tool will use VMware VDDK so it will behave like a backup tool that you might be using in your environment.
An OpenShift 4.7 environment with container-native virtualization 2.6.1 or newer and bare metal nodes (or, for testing, you can use nested virtualization). Check storage and network configuration to ensure they are equivalent to the source provider.
Finally install MTV on OpenShift using the provided Operator and access the UI to start running your first test migrations.
Watch demos here:
About the author
Miguel Pérez Colino is an experienced IT enthusiast, with a focus on open source software and open standards. As part of the Cloud Platforms Business Unit at Red Hat, he works to enable open source solutions by defining methodologies and building tools to ease modernization and migration for customers.