KubeVirt migration workflow
The KubeVirt workflow provides a detailed view of the process of migrating virtual machines (VMs).
The KubeVirt workflow comprises the following steps:
-
When you run a migration plan, the Migration Controller creates a
VirtualMachineImport
CR for each source VM. -
The Virtual Machine Import Controller validates the
VirtualMachineImport
CR and generates aVirtualMachine
CR -
The Virtual Machine Import Controller retrieves the VM configuration, including network, storage, and metadata, linked in the
VirtualMachineImport
CR.For each VM disk:
-
The Virtual Machine Import Controller creates a
DataVolume
CR as a wrapper for a Persistent Volume Claim (PVC) and annotations. -
The Containerized Data Importer (CDI) Controller creates a PVC. The Persistent Volume (PV) is dynamically provisioned by the
StorageClass
provisioner. -
The CDI Controller creates an
Importer
pod. -
The
Importer
pod connects to the source VM disk, using the VDDK SDK, and streams the disk to the PV. -
After the VM disks are transferred, the Virtual Machine Import Controller creates a
Conversion
pod with the PVCs attached to it. TheConversion
pod runsvirt-v2v
, which installs and configures device drivers on the PVCs of the target VM. -
The Virtual Machine Import Controller creates a
VirtualMachineInstance
CR. -
When the target VM is powered on, the KubeVirt Controller creates a VM pod. The VM pod runs
QEMU-KVM
with the PVCs attached as VM disks.