12.6.31. OutdatedVirtualMachineInstanceWorkloads
의미
이 경고는 OpenShift Virtualization 컨트롤 플레인을 업데이트한 후 24시간 후에 오래된 virt-launcher Pod에서 VMI(가상 머신 인스턴스)를 실행할 때 발생합니다.
보안 등급
오래된 VMI가 새로운 OpenShift Virtualization 기능에 액세스하지 못할 수 있습니다.
오래된 VMI에는 virt-launcher Pod 업데이트와 관련된 보안 수정 사항이 제공되지 않습니다.
진단
오래된 VMI를 확인합니다.
$ oc get vmi -l kubevirt.io/outdatedLauncherImage --all-namespacesKubeVirtCR(사용자 정의 리소스)을 확인하여workloadUpdateStrategy스탠자에workloadUpdateMethods가 구성되었는지 확인합니다.$ oc get kubevirt --all-namespaces -o yaml각 오래된 VMI를 확인하여 라이브 업그레이드 가능한지 확인합니다.
$ oc get vmi <vmi> -o yaml출력 예
apiVersion: kubevirt.io/v1 kind: VirtualMachineInstance # ... status: conditions: - lastProbeTime: null lastTransitionTime: null message: cannot migrate VMI which does not use masquerade to connect to the pod network reason: InterfaceNotLiveMigratable status: "False" type: LiveMigratable
완화 방법
자동화된 워크로드 업데이트 구성
HyperConverged CR을 업데이트하여 자동 워크로드 업데이트를 활성화합니다.
실시간이 아닌 VMI와 연결된 VM 중지
VMI가 활성 상태가 아니며
runStrategy: always가 해당VirtualMachine오브젝트에 설정된 경우 VM(가상 머신)을 수동으로 중지하여 VMI를 업데이트할 수 있습니다.$ virctl stop --namespace <namespace> <vm>
중지된 VMI를 교체하기 위해 업데이트된 virt-launcher Pod에서 새 VMI가 즉시 실행됩니다. 이는 재시작 작업과 동일합니다.
실시간 업그레이드할 수 있는 VM을 수동으로 중지하는 것은 안전하지 않으며 워크로드가 중단되므로 권장되지 않습니다.
실시간 업그레이드할 수 있는 VMI 마이그레이션
VMI가 Live-migratable인 경우 실행 중인 특정 VMI를 대상으로 하는 VirtualMachineInstanceMigration 오브젝트를 생성하여 업데이트할 수 있습니다. VMI가 업데이트된 virt-launcher Pod로 마이그레이션됩니다.
VirtualMachineInstanceMigration매니페스트를 생성하여migration.yaml로 저장합니다.apiVersion: kubevirt.io/v1 kind: VirtualMachineInstanceMigration metadata: name: <migration_name> namespace: <namespace> spec: vmiName: <vmi_name>마이그레이션을 트리거할
VirtualMachineInstanceMigration오브젝트를 생성합니다.$ oc create -f migration.yaml
문제를 해결할 수 없는 경우 고객 포털에 로그인하여 지원 케이스를 열고 진단 절차 중에 수집된 아티팩트를 연결합니다.