15.3.3. Lifecycle Agent를 사용하여 이미지 기반 업그레이드의 롤백 단계로 이동
재부팅 후 initMonitorTimeoutSeconds 필드에 지정된 시간 내에 업그레이드가 완료되지 않으면 자동 롤백이 시작됩니다.
ImageBasedUpgrade CR의 예
apiVersion: lca.openshift.io/v1
kind: ImageBasedUpgrade
metadata:
name: upgrade
spec:
stage: Idle
seedImageRef:
version: 4.15.2
image: <seed_container_image>
autoRollbackOnFailure: {}
# initMonitorTimeoutSeconds: 1800
[...]
- 1
- (선택 사항) 업그레이드가 첫 번째 재부팅 후 해당 기간 내에 완료되지 않으면 롤백할 시간(초)을 지정합니다. 정의되지 않거나
0으로 설정하면1800초(30분)의 기본값이 사용됩니다.
업그레이드 후 해결할 수 없는 문제가 발생하면 변경 사항을 수동으로 롤백할 수 있습니다.
사전 요구 사항
-
cluster-admin권한이 있는 사용자로 hub 클러스터에 로그인합니다. - 원래 stateroot의 컨트롤 플레인 인증서가 유효한지 확인합니다. 인증서가 만료된 경우 "종료된 컨트롤 플레인 인증서에서 복구"를 참조하십시오.
예를 들어 최근 설치된 단일 노드 OpenShift 클러스터를 테스트 목적으로 업그레이드하도록 선택하는 경우 롤백 기간이 24시간 이내로 제한됩니다. ImageBasedUpgrade 사용자 정의 리소스의 rollbackAvailabilityExpiration 필드를 확인하여 롤백 시간을 확인할 수 있습니다.
프로세스
롤백 단계로 이동하려면 다음 명령을 실행하여
stage필드의 값을ImageBasedUpgradeCR의롤백에 패치합니다.$ oc patch imagebasedupgrades.lca.openshift.io upgrade -p='{"spec": {"stage": "Rollback"}}' --type=mergeLifecycle Agent는 이전에 설치한 OpenShift Container Platform 버전으로 클러스터를 재부팅하고 애플리케이션을 복원합니다.
변경 사항에 만족하는 경우 다음 명령을 실행하여
ImageBasedUpgradeCR의stage필드 값을Idle에 패치하여 롤백을 완료합니다.$ oc patch imagebasedupgrades.lca.openshift.io upgrade -p='{"spec": {"stage": "Idle"}}' --type=merge -n openshift-lifecycle-agent주의롤백 후
Idle단계로 이동하는 경우 Lifecycle Agent는 업그레이드 실패 문제를 해결하는 데 사용할 수 있는 리소스를 정리합니다.