Configuring a dedicated network for live migration
You can configure a dedicated Multus network for live migration. A dedicated network minimizes the effects of network saturation on tenant workloads during live migration.
Configuring a dedicated secondary network for live migration
To configure a dedicated secondary network for live migration, you must first create a bridge network attachment definition (NAD) by using the CLI. You can then add the name of the NetworkAttachmentDefinition object to the HyperConverged custom resource (CR).
-
You installed the OpenShift CLI (
oc). -
You logged in to the cluster as a user with the
cluster-adminrole. -
Each node has at least two Network Interface Cards (NICs).
-
The NICs for live migration are connected to the same VLAN.
-
Create a
NetworkAttachmentDefinitionmanifest according to the following example:apiVersion: "k8s.cni.cncf.io/v1" kind: NetworkAttachmentDefinition metadata: name: my-secondary-network namespace: openshift-cnv spec: config: '{ "cniVersion": "0.3.1", "name": "migration-bridge", "type": "macvlan", "master": "eth1", "mode": "bridge", "ipam": { "type": "whereabouts", "range": "10.200.5.0/24" } }'where:
metadata.name-
Specify the name of the
NetworkAttachmentDefinitionobject. config.master-
Specify the name of the NIC to use for live migration.
config.type-
Specify the name of the CNI plugin that provides the network for the NAD.
config.range-
Specify an IP address range for the secondary network. This range must not overlap the IP addresses of the main network.
-
Open the
HyperConvergedCR in your default editor by running the following command:$ oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv -
Add the name of the
NetworkAttachmentDefinitionobject to thespec.liveMigrationConfigstanza of theHyperConvergedCR.Example
HyperConvergedmanifest:apiVersion: hco.kubevirt.io/v1beta1 kind: HyperConverged metadata: name: kubevirt-hyperconverged namespace: openshift-cnv spec: liveMigrationConfig: completionTimeoutPerGiB: 800 network: <network> parallelMigrationsPerCluster: 5 parallelOutboundMigrationsPerNode: 2 progressTimeout: 150 # ...where:
network-
Specify the name of the Multus
NetworkAttachmentDefinitionobject to use for live migrations.
-
Save your changes and exit the editor. The
virt-handlerpods restart and connect to the secondary network.
-
When the node that the virtual machine runs on is placed into maintenance mode, the VM automatically migrates to another node in the cluster. You can verify that the migration occurred over the secondary network and not the default pod network by checking the target IP address in the virtual machine instance (VMI) metadata.
$ oc get vmi <vmi_name> -o jsonpath='{.status.migrationState.targetNodeAddress}'
Selecting a dedicated network by using the web console
You can select a dedicated network for live migration by using the OpenShift Container Platform web console.
-
You configured a Multus network for live migration.
-
You created a network attachment definition for the network.
-
Go to Virtualization > Overview in the OpenShift Container Platform web console.
-
Click the Settings tab and then click Live migration.
-
Select the network from the Live migration network list.