7.3. EUS-to-EUS 업데이트 중 워크로드 업데이트 방지
EUS (Extended Update Support) 버전에서 다음 버전으로 업데이트하는 경우 OpenShift Virtualization이 업데이트 프로세스 중 워크로드를 마이그레이션하거나 제거하지 않도록 자동 워크로드 업데이트를 수동으로 비활성화해야 합니다.
사전 요구 사항
- OpenShift Container Platform의 EUS 버전을 실행 중이며 다음 EUS 버전으로 업데이트하려고 합니다. 그 사이에 홀수의 버전으로 아직 업데이트하지 않았습니다.
- "EUS-to-EUS 업데이트를 수행하기 위한 준비"를 읽고 OpenShift Container Platform 클러스터와 관련된 경고 및 요구 사항을 알아봅니다.
- OpenShift Container Platform 설명서의 지시에 따라 작업자 노드의 머신 구성 풀을 일시 중지했습니다.
- 기본 자동 승인 전략을 사용하는 것이 좋습니다. 수동 승인 전략을 사용하는 경우 웹 콘솔에서 보류 중인 모든 업데이트를 승인해야 합니다. 자세한 내용은 "Manually a pending Operator update" 섹션을 참조하십시오.
절차
다음 명령을 실행하여 현재
workloadUpdateMethods
구성을 백업합니다.$ WORKLOAD_UPDATE_METHODS=$(oc get kv kubevirt-kubevirt-hyperconverged -n openshift-cnv -o jsonpath='{.spec.workloadUpdateStrategy.workloadUpdateMethods}')
다음 명령을 실행하여 모든 워크로드 업데이트 방법을 끕니다.
$ oc patch hco kubevirt-hyperconverged -n openshift-cnv --type json -p '[{"op":"replace","path":"/spec/workloadUpdateStrategy/workloadUpdateMethods", "value":[]}]'
출력 예
hyperconverged.hco.kubevirt.io/kubevirt-hyperconverged patched
계속하기 전에
HyperConverged
Operator를업그레이드할 수
있는지 확인합니다. 다음 명령을 입력하고 출력을 모니터링합니다.$ oc get hco kubevirt-hyperconverged -n openshift-cnv -o json | jq ".status.conditions"
예 7.1. 출력 예
[ { "lastTransitionTime": "2022-12-09T16:29:11Z", "message": "Reconcile completed successfully", "observedGeneration": 3, "reason": "ReconcileCompleted", "status": "True", "type": "ReconcileComplete" }, { "lastTransitionTime": "2022-12-09T20:30:10Z", "message": "Reconcile completed successfully", "observedGeneration": 3, "reason": "ReconcileCompleted", "status": "True", "type": "Available" }, { "lastTransitionTime": "2022-12-09T20:30:10Z", "message": "Reconcile completed successfully", "observedGeneration": 3, "reason": "ReconcileCompleted", "status": "False", "type": "Progressing" }, { "lastTransitionTime": "2022-12-09T16:39:11Z", "message": "Reconcile completed successfully", "observedGeneration": 3, "reason": "ReconcileCompleted", "status": "False", "type": "Degraded" }, { "lastTransitionTime": "2022-12-09T20:30:10Z", "message": "Reconcile completed successfully", "observedGeneration": 3, "reason": "ReconcileCompleted", "status": "True", "type": "Upgradeable" 1 } ]
- 1
- OpenShift Virtualization Operator의
업그레이드 가능
상태입니다.
소스 EUS 버전에서 다음 마이너 버전의 OpenShift Container Platform으로 클러스터를 수동으로 업데이트합니다.
$ oc adm upgrade
검증
다음 명령을 실행하여 현재 버전을 확인합니다.
$ oc get clusterversion
참고OpenShift Container Platform을 다음 버전으로 업데이트하는 것은 OpenShift Virtualization을 업데이트하기 위한 사전 요구 사항입니다. 자세한 내용은 OpenShift Container Platform 설명서의 "클러스터 업데이트" 섹션을 참조하십시오.
OpenShift Virtualization을 업데이트합니다.
- 기본 자동 승인 전략을 사용하면 OpenShift Container Platform을 업데이트한 후 OpenShift Virtualization이 해당 버전으로 자동으로 업데이트됩니다.
- 수동 승인 전략을 사용하는 경우 웹 콘솔을 사용하여 보류 중인 업데이트를 승인합니다.
다음 명령을 실행하여 OpenShift Virtualization 업데이트를 모니터링합니다.
$ oc get csv -n openshift-cnv
- OpenShift Virtualization을 EUS 이외의 마이너 버전에서 사용할 수 있는 모든 z-stream 버전으로 업데이트하여 이전 단계에 표시된 명령을 실행하여 각 업데이트를 모니터링합니다.
다음 명령을 실행하여 OpenShift Virtualization이 EUS 이외의 버전의 최신 z-stream 릴리스로 성공적으로 업데이트되었는지 확인합니다.
$ oc get hco kubevirt-hyperconverged -n openshift-cnv -o json | jq ".status.versions"
출력 예
[ { "name": "operator", "version": "4.13.11" } ]
다음 업데이트를 수행하기 전에
HyperConverged
Operator에Upgradeable
상태가 될 때까지 기다립니다. 다음 명령을 입력하고 출력을 모니터링합니다.$ oc get hco kubevirt-hyperconverged -n openshift-cnv -o json | jq ".status.conditions"
- OpenShift Container Platform을 대상 EUS 버전으로 업데이트합니다.
클러스터 버전을 확인하여 업데이트가 성공했는지 확인합니다.
$ oc get clusterversion
OpenShift Virtualization을 대상 EUS 버전으로 업데이트합니다.
- 기본 자동 승인 전략을 사용하면 OpenShift Container Platform을 업데이트한 후 OpenShift Virtualization이 해당 버전으로 자동으로 업데이트됩니다.
- 수동 승인 전략을 사용하는 경우 웹 콘솔을 사용하여 보류 중인 업데이트를 승인합니다.
다음 명령을 실행하여 OpenShift Virtualization 업데이트를 모니터링합니다.
$ oc get csv -n openshift-cnv
VERSION
필드가 대상 EUS 버전과 일치하고PHASE
필드에Succeeded
가 표시되면 업데이트가 완료됩니다.백업한 워크로드 업데이트 방법 구성을 복원합니다.
$ oc patch hco kubevirt-hyperconverged -n openshift-cnv --type json -p "[{\"op\":\"add\",\"path\":\"/spec/workloadUpdateStrategy/workloadUpdateMethods\", \"value\":$WORKLOAD_UPDATE_METHODS}]"
출력 예
hyperconverged.hco.kubevirt.io/kubevirt-hyperconverged patched
검증
다음 명령을 실행하여 VM 마이그레이션의 상태를 확인합니다.
$ oc get vmim -A
다음 단계
- 이제 작업자 노드의 머신 구성 풀의 일시 정지를 해제할 수 있습니다.