1.4. ROSA CLI를 사용하여 머신 풀 업그레이드
ROSA CLI를 사용하여 HCP 클러스터로 ROSA에서 하나 이상의 머신 풀을 수동으로 업그레이드할 수 있습니다. 이 메서드는 최신 버전을 즉시 또는 지정된 나중에 사용할 수 있는 경우 업그레이드에 대해 지정된 머신 풀을 예약합니다.
컨트롤 플레인은 두 개의 마이너 Y-stream 버전 내에서 머신 풀만 지원합니다. 예를 들어 버전 4.15.z를 사용하는 컨트롤 플레인이 있는 HCP 클러스터가 있는 ROSA는 4.13.z 및 4.14.z 버전의 머신 풀을 지원하지만 컨트롤 플레인은 version 4.12.z를 사용하는 머신 풀을 지원하지 않습니다.
사전 요구 사항
- 최신 버전의 ROSA CLI를 설치하고 구성했습니다.
- 호스팅된 컨트롤 플레인에 대한 업그레이드가 클러스터에서 진행 중이거나 머신 풀 업그레이드와 동시에 발생하도록 예약되지 않습니다.
절차
다음 명령을 실행하여 현재 클러스터 버전을 확인합니다.
$ rosa describe cluster --cluster=<cluster_name_or_id> 1
- 1
- &
lt;cluster_name_or_id
>를 클러스터 이름 또는 클러스터 ID로 바꿉니다.
출력 예
OpenShift Version: 4.14.0
다음 명령을 실행하여 머신 풀을 업그레이드할 수 있는 버전을 나열합니다.
$ 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)의 지정된 시간 및 날짜에 업그레이드를 시작하도록 예정되어 있습니다. 이렇게 하면 지정된 시간부터 지정된 머신 풀의 모든 노드를 롤링 대체할 수 있습니다.