8.9.2. CLI를 사용하여 보조 네트워크 인터페이스 핫플러그
VM이 실행되는 동안 보조 네트워크 인터페이스를 VM(가상 머신)에 핫플러그합니다.
사전 요구 사항
- 네트워크 연결 정의는 VM과 동일한 네임스페이스에 구성됩니다.
-
virtctl툴을 설치했습니다. -
OpenShift CLI(
oc)가 설치되어 있습니다.
프로세스
네트워크 인터페이스를 핫플러그할 VM이 실행되지 않는 경우 다음 명령을 사용하여 시작합니다.
$ virtctl start <vm_name> -n <namespace>다음 명령을 사용하여 실행 중인 VM에 새 네트워크 인터페이스를 추가합니다. VM 사양을 편집하면 새 네트워크 인터페이스가 VM 및 VMI(가상 머신 인스턴스) 구성에 추가되지만 실행 중인 VM에 연결되지는 않습니다.
$ oc edit vm <vm_name>VM 구성 예
apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: vm-fedora template: spec: domain: devices: interfaces: - name: defaultnetwork masquerade: {} # new interface - name: <secondary_nic>1 bridge: {} networks: - name: defaultnetwork pod: {} # new network - name: <secondary_nic>2 multus: networkName: <nad_name>3 # ...실행 중인 VM에 네트워크 인터페이스를 연결하려면 다음 명령을 실행하여 VM을 실시간 마이그레이션합니다.
$ virtctl migrate <vm_name>
검증
다음 명령을 사용하여 VM 실시간 마이그레이션이 성공했는지 확인합니다.
$ oc get VirtualMachineInstanceMigration -w출력 예
NAME PHASE VMI kubevirt-migrate-vm-lj62q Scheduling vm-fedora kubevirt-migrate-vm-lj62q Scheduled vm-fedora kubevirt-migrate-vm-lj62q PreparingTarget vm-fedora kubevirt-migrate-vm-lj62q TargetReady vm-fedora kubevirt-migrate-vm-lj62q Running vm-fedora kubevirt-migrate-vm-lj62q Succeeded vm-fedoraVMI 상태를 확인하여 새 인터페이스가 VM에 추가되었는지 확인합니다.
$ oc get vmi vm-fedora -ojsonpath="{ @.status.interfaces }"출력 예
[ { "infoSource": "domain, guest-agent", "interfaceName": "eth0", "ipAddress": "10.130.0.195", "ipAddresses": [ "10.130.0.195", "fd02:0:0:3::43c" ], "mac": "52:54:00:0e:ab:25", "name": "default", "queueCount": 1 }, { "infoSource": "domain, guest-agent, multus-status", "interfaceName": "eth1", "mac": "02:d8:b8:00:00:2a", "name": "bridge-interface",1 "queueCount": 1 } ]- 1
- VMI 상태에 핫플러그 인터페이스가 표시됩니다.