10.14. ライブマイグレーション用の専用ネットワークの設定
ライブマイグレーション用に専用のセカンダリーネットワークを設定できます。専用ネットワークは、ライブマイグレーション中のテナントワークロードに対するネットワークの飽和状態の影響を最小限に抑えます。
10.14.1. ライブマイグレーション用の専用セカンダリーネットワークの設定 リンクのコピーリンクがクリップボードにコピーされました!
ライブマイグレーション用に専用のセカンダリーネットワークを設定するには、まず CLI を使用してブリッジ network attachment definition (NAD) を作成する必要があります。その後、NetworkAttachmentDefinition オブジェクトの名前を HyperConverged カスタムリソース (CR) に追加できます。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 -
cluster-adminロールを持つユーザーとしてクラスターにログインしている。 - 各ノードには少なくとも 2 つのネットワークインターフェイスカード (NIC) があります。
- ライブマイグレーション用の NIC は同じ VLAN に接続されます。
手順
次の例に従って、
NetworkAttachmentDefinitionマニフェストを作成します。設定ファイルのサンプル
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" } }'-
metadata.nameは、NetworkAttachmentDefinitionオブジェクトの名前を定義します。 -
config.masterは、ライブマイグレーションで使用する NIC の名前を定義します。 -
config.typeは、NAD にネットワークを提供する CNI プラグインの名前を定義します。 -
config.rangeは、セカンダリーネットワークの IP アドレス範囲を定義します。この範囲は、メインネットワークの IP アドレスと重複してはなりません。
-
以下のコマンドを実行して、デフォルトのエディターで
HyperConvergedCR を開きます。$ oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnvNetworkAttachmentDefinitionオブジェクトの名前をHyperConvergedCR のspec.liveMigrationConfigスタンザに追加します。HyperConvergedマニフェストの例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 # ...-
spec.liveMigrationConfig.networkは、ライブマイグレーションで使用する MultusNetworkAttachmentDefinitionオブジェクトの名前を定義します。
-
-
変更を保存し、エディターを終了します。
virt-handlerPod が再起動し、セカンダリーネットワークに接続されます。
検証
仮想マシンが実行されるノードがメンテナンスモードに切り替えられると、仮想マシンは自動的にクラスター内の別のノードに移行します。仮想マシンインスタンス (VMI) メタデータのターゲット IP アドレスを確認して、デフォルトの Pod ネットワークではなく、セカンダリーネットワーク上で移行が発生したことを確認できます。
$ oc get vmi <vmi_name> -o jsonpath='{.status.migrationState.targetNodeAddress}'