2.2. ROSA Classic 클러스터 업그레이드
ROSA CLI(rosa
) 또는 OpenShift Cluster Manager 콘솔을 사용하여 ROSA(classic architecture) 클러스터를 업그레이드해야 합니다.
클러스터 업그레이드의 실제 시작 시간은 업그레이드 일정 시간 1시간 이내에 이루어집니다. 또한 업그레이드 기간은 워크로드 구성에 따라 다를 수 있습니다.
AWS STS(Security Token Services)를 사용하는 ROSA(classic architecture) 클러스터가 업그레이드되면 ROSA CLI는 선택한 클러스터에 대한 계정 및 Operator 역할 정책이 업그레이드 대상 버전과 호환되는지 확인합니다. 정책이 호환되는 경우 CLI는 클러스터를 자동으로 업그레이드합니다. 정책이 선택한 업그레이드 버전과 호환되지 않는 경우 CLI는 클러스터를 업그레이드하기 전에 IAM 정책을 자동으로 업그레이드합니다. 업그레이드를 예약할 때 필요한 경우 관리와 관련된 변경 사항을 검토했는지 확인할 수 있는 관리 승인을 제공합니다.
2.2.1. ROSA(클래식 아키텍처) 클러스터 업그레이드의 작동 방식
업그레이드는 수동으로 시작되거나(한 번) 자동으로 예약됩니다(회전). Red Hat 사이트 안정성 엔지니어(SRE)는 업그레이드 진행 상황을 모니터링하고 수정 조치 또는 해결 관련 문제를 사전에 통지합니다.
CVO(Cluster Version Operator)는 OpenShift Container Platform 업데이트 프로세스를 오케스트레이션하고 용이하게 하는 주요 구성 요소입니다.
MUO(Managed Upgrade Operator)는 ROSA(클래식 아키텍처) 클러스터 업그레이드의 스케줄링, 모니터링 및 알림을 처리합니다. MUO는 관리형 클러스터 업그레이드 전후에 운영 조건이 충족되도록 하여 자동화된 인플레이스 클러스터 업그레이드를 오케스트레이션합니다.
2.2.1.1. 클러스터 업그레이드 예약 시간
예약된 시간을 설정하여 클러스터 업그레이드를 예약할 수 있습니다. 이는 클러스터 업그레이드 준비가 사전 업그레이드 상태 점검 및 추가 컴퓨팅 용량 생성으로 시작될 때입니다. 실제 클러스터 업그레이드는 예약된 시간부터 1시간 이내에 시작됩니다. 클러스터 업그레이드가 시작될 때 이메일 알림이 표시됩니다.
PHC(Pre-Health Check)는 다음 두 시나리오에서 예약된 업데이트가 예상대로 진행되도록 추가 보호 기능을 제공합니다.
- 업그레이드는 현재 시간에서 2시간 이상 예약된 경우 CryostatC가 실행되고 오류가 있는 경우 사용자에게 알림을 받습니다. 이 C는 업그레이드의 새로운 단계에 있습니다.
- 업그레이드가 즉시 또는 2 시간 이내에 업그레이드되면 CryostatC는 업그레이드가 시작되기 직전 실행됩니다. 이 C는 업그레이드의 업그레이드 단계에 있습니다. 즉, C는 업그레이드 단계에서 항상 한 번 이상 실행되지만 업그레이드가 현재 시간에서 2시간 이상 예약된 경우 미리 실행할 수도 있습니다.
ROSA CLI(rosa
describe)에서 rosa describe upgrade --cluster=<cluster name|cluster_id
> 명령을 실행하여 클러스터 업그레이드 상태를 확인할 수 있습니다.
2.2.1.2. ROSA(클래식 아키텍처) 업그레이드 개요
다음은 ROSA(클래식 아키텍처) 클러스터 업데이트 중에 발생하는 높은 수준의 단계입니다.
-
업그레이드를 미리 예약하면
PreHealthCheck
가 트리거되고 업그레이드가 시작되기 전에 처리할 수 있는 오류를 사용자에게 알립니다. 클러스터 업그레이드가 시작되기 전에 MUO에서 클러스터 상태 점검을 수행합니다. MUO가 수정 작업이 필요한 문제를 식별하는 경우 알림을 받습니다. MUO가 수행하는 클러스터 상태 점검의 몇 가지 예는 다음과 같습니다.
- 노드의 업데이트를 잠재적으로 차단하거나 지연할 수 있는 PDB(Pod 중단 예산)를 식별합니다.
- 클러스터 Operator를 사용할 수 있고 정상 상태인지 확인합니다.
- 클러스터 심각한 경고가 실행되지 않도록 합니다.
업데이트 중에 드레이닝된 Pod를 예약할 수 있도록 클러스터에 임시 컴퓨팅 노드가 생성됩니다.
참고임시 컴퓨팅 노드 생성이 항상 발생하는 것은 아닙니다. 예를 들어
작업자
시스템 풀이 없으면 임시 컴퓨팅 노드가 생성되지 않습니다. 이는 클러스터 관리자가 기존작업자
머신 풀을 삭제하고 다른 이름 또는 인스턴스 유형으로 다른작업자
머신 풀을 생성할 때 발생할 수 있습니다.클러스터 버전이 대상 버전으로 설정됩니다.
참고특정 상황에서는 클러스터 업데이트가 요청되었지만 완료되기 전에 업그레이드 경로를 사용할 수 없게 될 수 있습니다. 이러한 경우 업그레이드가 자동으로 취소되고 알림이 전송됩니다. 업그레이드를 요청하려면 다른 대상 버전을 선택해야 합니다.
- 업그레이드하는 동안 컨트롤 플레인 구성 요소가 새 버전으로 업데이트됩니다.
- 다음으로 개별 클러스터 Operator는 클러스터 도메인에서 업데이트 작업을 수행합니다.
마지막으로 MCO는 모든 노드의 시스템 구성 및 운영 체제를 업데이트합니다. 이 단계에서 노드에서 실행되는 워크로드를 성공적으로 드레이닝한 후 각 노드가 재부팅됩니다.
- 각 노드를 업데이트하는 동안 워크로드가 드레인되어 PDB를 준수합니다. 중단을 허용하지 않는 PDB가 있는 워크로드는 기본적으로 노드의 드레이닝을 차단하여 클러스터 업데이트에 대한 경과 시간을 늘립니다.
- 클러스터의 모든 노드를 업데이트하는 동안 클러스터 업데이트는 워크로드를 안전하게 드레이닝할 수 있도록 노드에서 지정한 유예 기간이 될 때까지 기다립니다. 노드 드레인 유예 기간에 도달하면 클러스터를 업그레이드할 수 있도록 노드가 강제로 드레이닝됩니다. 업그레이드를 시작하기 전에 노드 드레인 유예 기간만 구성할 수 있으며 클러스터 업그레이드가 시작된 후에는 변경할 수 없습니다.
- 클러스터 노드가 업데이트되면 MCO는 가장 오래된 것부터 시작하여 수명에 따라 머신 구성 풀별로 한 번에 하나의 노드를 선택합니다.
2.2.2. ROSA CLI로 업그레이드
ROSA CLI(rosa
)를 사용하여 Red Hat OpenShift Service on AWS(ROSA) 클러스터를 즉시 1시간 이내에 또는 향후에 업그레이드할 수 있습니다.
사전 요구 사항
- 설치 호스트에 최신 ROSA CLI를 설치하고 구성했습니다.
-
AWS 클러스터의 Red Hat OpenShift Service가
Ready
상태입니다.
절차
현재 버전의 클러스터를 확인하려면 다음 명령을 입력합니다.
$ rosa describe cluster --cluster=<cluster_name|cluster_id> 1
- 1
- &
lt;cluster_name|cluster_id
>를 클러스터 이름 또는 클러스터 ID로 바꿉니다.
업그레이드를 사용할 수 있는지 확인하려면 다음 명령을 입력합니다.
$ rosa list upgrade --cluster=<cluster_name|cluster_id>
이 명령은 권장 버전을 포함하여 클러스터를 업그레이드할 수 있는 버전 목록을 반환합니다. 권장 사항은 조건부 업데이트 위험을 기반으로 합니다. 알려진 각 위험은 모든 클러스터에 적용되거나 특정 조건과 일치하는 클러스터에만 적용될 수 있습니다. 업그레이드할 적절한 버전을 평가, 검증 및 확인하려면 OpenShift 릴리스 노트를 참조하십시오.
클러스터를 다음 시간 내에 지정된 버전으로 업그레이드하려면 다음 명령을 입력합니다.
$ rosa upgrade cluster --cluster=<cluster_name|cluster_id> --version <version-id>
참고AWS STS(Security Token Service) 클러스터를 업그레이드하는 경우 이 명령은 선택한 클러스터의 계정 및 Operator 역할 정책을 확인하는 대화형 IAM 역할/정책 업그레이드 모드 프로세스를 시작합니다. 정책이 선택한 업그레이드 버전과 호환되지 않는 경우 CLI는 자동 모드에서 자동으로 업그레이드합니다.
클러스터는 스케줄링된 시간으로 표시된 즉시 업그레이드하도록 예약 됩니다. 업그레이드는 예정된 시간부터 1시간 이내에 시작됩니다.
또는 향후 UTC에서 클러스터를 업그레이드하려면 다음 명령을 입력합니다.
$ rosa upgrade cluster --cluster=<cluster_name|cluster_id> \ --version <version-id> \ --schedule-date yyyy-mm-dd \ --schedule-time HH:mm
클러스터 업그레이드 중에 드레이닝할 모든 노드의 유예 기간을 사용자 지정하려면 다음 명령을 입력합니다.
$ rosa upgrade cluster --cluster=<cluster_name|cluster_id> \ --version <version-id> \ --node-drain-grace-period 15 minutes
다음 명령을 입력하여 업그레이드 상태를 볼 수 있습니다. 이 명령은 상태(스케줄 또는 시작)와 예약된 시간을 모두 표시합니다.
$ rosa list upgrade --cluster=<cluster_name|cluster_id>
출력 예
VERSION NOTES 4.15.14 recommended - scheduled for 2024-06-02 15:00 UTC 4.15.13
클러스터 업그레이드의 예약, 시작 및 완료를 확인하는 이메일 알림을 받습니다.
문제 해결
- 경우에 따라 예약된 업그레이드가 트리거되지 않는 경우가 있습니다. 자세한 내용은 업그레이드 유지보수 취소 를 참조하십시오.
2.2.3. ROSA CLI를 사용하여 ROSA 클러스터 업그레이드 삭제
ROSA CLI(rosa
) 또는 OpenShift Cluster Manager 콘솔을 사용하여 예약된 업그레이드를 삭제할 수 있습니다. 이 절차에서는 ROSA CLI를 사용합니다.
절차
다음 명령을 사용하여 클러스터 업데이트가 시작되지 않았는지 확인합니다.
$ rosa list upgrades --cluster=<cluster_name|cluster_id>
출력 예
VERSION NOTES 4.15.14 recommended - scheduled for 2024-06-02 15:00 UTC 4.15.13
다음 명령을 실행하여 예약된 업데이트를 삭제합니다.
$ rosa delete upgrade --cluster=<cluster_name|cluster_id>
확인 프롬프트에
Yes
를 입력하여 삭제를 확인합니다.출력 예
I: Successfully canceled scheduled upgrade on cluster 'my-cluster'
예약된 업그레이드가 취소되었음을 확인하는 이메일 알림이 표시됩니다.
2.2.4. OpenShift Cluster Manager 콘솔을 사용하여 업그레이드
OpenShift Cluster Manager 콘솔을 사용하여 ROSA(클래식 아키텍처) 클러스터의 업그레이드를 수동으로 예약하거나 반복 스케줄에 따라 예약할 수 있습니다.
절차
- OpenShift Cluster Manager 에 로그인합니다.
- 업그레이드할 클러스터를 선택합니다.
- 설정 탭을 클릭합니다.
업데이트 전략 창에서 원하는 업데이트 유형을 선택합니다.
- 개별 업데이트의 경우 즉시 (한 시간 내에 시작) 또는 나중에 업그레이드를 요청할 수 있습니다.
반복 업데이트의 경우 사용 가능한 최신 x.y.Z (z-stream) 버전으로 업그레이드를 자동으로 시작하는 반복 날짜 및 시간을 선택합니다.
중요반복 업데이트는 z-stream 업데이트에만 적용됩니다. 마이너 버전 또는 y-stream 업데이트는 수동으로 수행해야 합니다. 새 y-stream 업데이트를 사용할 수 있는 경우 알림이 표시됩니다.
선택 사항: 노드 드레이닝 창에서 목록에서 유예 기간을 선택합니다. 유예 기간을 사용하면 Pod 제거를 강제 적용하기 전에 노드가 정상적으로 드레인될 수 있습니다. 기본값은 1시간 입니다.
중요업그레이드 프로세스를 시작한 후에는 노드 드레인 유예 기간을 변경할 수 없습니다.
- 업데이트 전략 창에서 저장 을 클릭하여 업데이트 전략을 적용합니다.
Update status 창에서 사용 가능한 업데이트 정보를 검토하고 업데이트를 클릭합니다.
참고Update 버튼은 업그레이드를 사용할 수 있는 경우에만 활성화됩니다.
- 클러스터 업데이트 대화 상자가 열립니다. 권장 클러스터 업그레이드가 버전 선택 창에 나타납니다. 클러스터를 업그레이드할 버전을 선택하고 다음을 클릭합니다.
선택 사항: AWS STS(보안 토큰 서비스)를 사용하는 ROSA 클러스터의 경우 선택한 대상 버전에 따라 계정 수준 및 클러스터별 Operator 역할을 업데이트해야 할 수 있습니다.
-
ROSA CLI에서
rosa list account-roles
명령을 실행하여 계정 역할이 업그레이드에 선택한 대상 마이너 버전과 호환되는지 확인합니다. 역할이 호환되지 않는 경우rosa upgrade account-roles
명령을 실행하여 계정 역할을 최신 OpenShift 버전으로 업그레이드합니다. -
ROSA CLI에서
rosa list operator-roles
명령을 실행하여 클러스터와 관련된 Operator 역할이 업그레이드에 선택한 대상 마이너 버전과 호환되는지 확인합니다. 그렇지 않은 경우rosa upgrade operators-roles
명령을 실행하여 클러스터의 Operator 역할을 최신 OpenShift 버전으로 업그레이드합니다. - 승인이 필요한 업데이트 버전을 선택하는 경우 제공된 필드에 Acknowledge 를 입력하여 관리자의 승인을 제공하고 다음을 클릭합니다.
-
ROSA CLI에서
스케줄 업데이트 대화 상자에서 클러스터 업그레이드를 예약합니다.
- 한 시간 내에 업그레이드하려면 지금 업데이트를 선택하고 다음을 클릭합니다.
- 나중에 업그레이드하려면 일정을 다른 시간을 선택하고 업그레이드 시간 및 날짜를 설정합니다. 다음을 클릭하여 확인 대화 상자로 이동합니다.
- 버전 및 일정 요약을 검토한 후 업데이트 확인 을 선택합니다.
- 닫기 를 클릭하여 클러스터 업데이트 대화 상자를 종료합니다.
클러스터는 대상 버전으로 업그레이드되도록 예약됩니다. 이 작업은 선택한 업그레이드 일정 및 Pod 중단 예산과 같은 워크로드 구성에 따라 최대 1시간이 걸릴 수 있습니다.
상태가 Update status 창에 표시됩니다.
문제 해결
- 경우에 따라 예약된 업그레이드가 트리거되지 않는 경우가 있습니다. 자세한 내용은 업그레이드 유지보수 취소 를 참조하십시오.
2.2.5. OpenShift Cluster Manager 콘솔을 사용하여 ROSA 클러스터 업그레이드 삭제
OpenShift Cluster Manager 콘솔을 사용하여 예약된 업그레이드를 삭제할 수 있습니다.
절차
- OpenShift Cluster Manager 에 로그인합니다.
- 예약된 업그레이드가 있는 클러스터를 선택합니다.
- 설정 탭을 클릭합니다.
- 업데이트 상태 창에서 이 업데이트 취소 를 클릭합니다.
- 취소 업데이트 대화 상자에서 업데이트 세부 정보를 검토하고 이 업데이트 취소 를 클릭합니다.
예약된 업그레이드가 취소되었음을 확인하는 이메일 알림이 표시됩니다.