1.5. ROSA CLI로 전체 클러스터 업그레이드
전체 클러스터를 업그레이드하려면 머신 풀의 호스팅 컨트롤 플레인과 노드를 모두 업그레이드해야 합니다. 그러나 이러한 구성 요소는 동시에 업그레이드할 수 없습니다. 순서대로 업그레이드해야 합니다. 이 작업은 순서에 관계없이 수행할 수 있습니다. 그러나 클러스터의 노드 간 호환성을 유지하기 위해 머신 풀의 노드는 호스팅된 컨트롤 플레인보다 최신 버전을 사용할 수 없습니다. 따라서 호스팅되는 컨트롤 플레인과 머신 풀의 노드가 모두 동일한 OpenShift 버전으로 업그레이드해야 하는 경우 먼저 호스팅된 컨트롤 플레인을 업그레이드한 다음 시스템 풀을 업그레이드해야 합니다.
사전 요구 사항
- 최신 버전의 ROSA CLI를 설치하고 구성했습니다.
- 이 업그레이드와 동시에 다른 업그레이드는 진행 중이거나 예약되지 않습니다.
1.5.1. 호스트된 컨트롤 플레인 업그레이드
전체 클러스터를 업그레이드해야 하는 경우 먼저 호스팅된 컨트롤 플레인을 업그레이드합니다.
사전 요구 사항
- 최신 버전의 ROSA CLI를 설치하고 구성했습니다.
- 호스팅된 컨트롤 플레인 업그레이드와 동시에 머신 풀 업그레이드가 진행 중이거나 예약되지 않습니다.
절차
다음 명령을 실행하여 현재 클러스터 버전을 확인합니다.
$ rosa describe cluster --cluster=<cluster_name_or_id> 1
- 1
- &
lt;cluster_name_or_id
>를 클러스터 이름 또는 클러스터 ID로 바꿉니다.
다음 명령을 실행하여 컨트롤 플레인을 업그레이드할 수 있는 버전을 나열합니다.
$ rosa list upgrade --cluster=<cluster_name_or_id>
명령은 권장 버전을 포함하여 사용 가능한 업데이트 목록을 반환합니다.
출력 예
VERSION NOTES 4.14.8 recommended 4.14.7 4.14.6
다음 명령을 실행하여 클러스터의 호스팅 컨트롤 플레인을 업그레이드합니다.
$ rosa upgrade cluster -c <cluster_name_or_id> --control-plane [--schedule-date=<yyyy-mm-dd> --schedule-time=<HH:mm>] --version <version_number>
지정된 버전으로 즉시 업그레이드를 예약하려면 다음 명령을 실행합니다.
$ rosa upgrade cluster -c <cluster_name_or_id> --control-plane --version <version_number>
호스팅된 컨트롤 플레인이 즉시 업그레이드되도록 예정되어 있습니다.
향후 지정된 버전으로의 업그레이드를 예약하려면 다음 명령을 실행합니다.
$ rosa upgrade cluster -c <cluster_name_or_id> --control-plane --schedule-date=<yyyy-mm-dd> --schedule-time=<HH:mm> --version=<version_number>
호스트된 컨트롤 플레인은 UTC(Coordinated Universal Time)로 지정된 시간에 업그레이드될 예정입니다.
1.5.2. 머신 풀 업그레이드
호스팅된 컨트롤 플레인 업그레이드가 완료되면 하나 이상의 머신 풀을 업그레이드할 수 있습니다.
노드 드레이닝 시간 제한, max-unavailable 및 max-surge와 같은 머신 풀 구성은 업그레이드 타이밍 및 성공에 영향을 미칠 수 있습니다.
절차
다음 명령을 실행하여 현재 클러스터 버전을 확인합니다.
$ rosa describe cluster --cluster=<cluster_name_or_id> 1
- 1
- &
lt;cluster_name_or_id
>를 클러스터 이름 또는 클러스터 ID로 바꿉니다.
출력 예
OpenShift Version: 4.14.8
다음 명령을 실행하여 머신 풀을 업그레이드할 수 있는 버전을 나열합니다.
$ rosa list upgrade --cluster <cluster-name> --machinepool <machinepool_name>
명령은 권장 버전을 포함하여 사용 가능한 업데이트 목록을 반환합니다.
출력 예
VERSION NOTES 4.14.5 recommended 4.14.4 4.14.3
중요머신 풀을 컨트롤 플레인보다 높은 버전으로 업그레이드하지 마십시오. 더 높은 버전으로 이동하려면 먼저 컨트롤 플레인을 해당 버전으로 업그레이드합니다.
다음 명령을 실행하여 업그레이드하려는 머신 풀의 업그레이드 동작을 확인합니다.
$ rosa describe machinepool --cluster=<cluster_name_or_id> <machinepool_name>
출력 예
Replicas: 5 Node drain grace period: 30 minutes Management upgrade: - Type: Replace - Max surge: 20% - Max unavailable: 20%
이 설정을 사용하면 머신 풀이 하나의 초과 노드(복제
복제본
의 20%)를 프로비저닝하고 업그레이드할 때최대
하나의 노드를 사용할 수 없는 노드(최대 20%의
)를 가질 수 있습니다. 따라서 이 머신 풀은 복제본 수를 초과하는 하나의 새 노드를 프로비저닝하고 하나의 노드를 사용할 수 없는 상태로 교체하여 한 번에 두 개의 노드를 업그레이드할 수 있습니다. Pod 중단 예산이 있는 워크로드를 보호하기 위해 필요한 경우 노드 업그레이드가 최대 30분(복제본
에서 사용 가능node-drain-grace-period
of 30분)까지 지연될 수 있습니다.다음 명령을 실행하여 머신 풀을 업그레이드합니다.
$ rosa upgrade machinepool -c <cluster_name> <machinepool_name> [--schedule-date=<yyyy-mm-dd> --schedule-time=<HH:mm>] --version <version_number>
업그레이드할 각 머신 풀에 대해 이 명령을 실행하여 여러 머신 풀을 동시에 업그레이드할 수 있습니다.
머신 풀의 즉각적인 업그레이드를 예약하려면 다음 명령을 실행합니다.
$ rosa upgrade machinepool -c <cluster_name> <machinepool_name> --version <version_number>
머신 풀은 즉시 업그레이드를 위해 예약되며, 이 경우 지정된 머신 풀의 모든 노드 롤링 교체가 시작됩니다.
나중에 시작할 업그레이드를 예약하려면 다음 명령을 실행합니다.
$ rosa upgrade machinepool -c <cluster_name> <machinepool_name> --schedule-date=<yyyy-mm-dd> --schedule-time=<HH:mm> --version <version_number>
머신 풀은 UTC(Coordinated Universal Time)의 지정된 시간 및 날짜에 업그레이드를 시작하도록 예정되어 있습니다. 이렇게 하면 지정된 시간부터 지정된 머신 풀의 모든 노드를 롤링 대체할 수 있습니다.