3.2. 웹 콘솔을 사용하여 클러스터 업데이트
웹 콘솔을 사용하여 OpenShift Container Platform 클러스터에서 마이너 버전 및 패치 업데이트를 수행할 수 있습니다.
웹 콘솔 또는 oc adm upgrade channel <channel>
을 사용하여 업데이트 채널을 변경합니다. 4.17 채널을 변경한 후 CLI를 사용하여 클러스터 업데이트 단계를 실행할 수 있습니다.
3.2.1. OpenShift Container Platform 클러스터를 업데이트하기 전에
업데이트하기 전에 다음을 고려하십시오.
- 최근에 etcd를 백업했습니다.
-
PodDisruptionBudget
에서minAvailable
이1
로 설정되면 제거 프로세스를 차단할 수 있는 보류 중인 머신 구성을 적용하기 위해 노드가 드레인됩니다. 여러 노드가 재부팅되면 모든 Pod가 하나의 노드에서만 실행될 수 있으며PodDisruptionBudget
필드에는 노드가 드레이닝되지 않을 수 있습니다. - 클러스터가 수동으로 유지 관리되는 인증 정보를 사용하는 경우 새 릴리스의 클라우드 공급자 리소스를 업데이트해야 할 수 있습니다.
- 관리자 승인 요청을 검토하고 권장 작업을 수행하고 준비가 되면 승인을 제공해야 합니다.
- 업데이트하는 데 걸리는 시간을 수용하도록 작업자 또는 사용자 지정 풀 노드를 업데이트하여 부분 업데이트를 수행할 수 있습니다. 각 풀의 진행률 표시줄을 일시 중지하고 다시 시작할 수 있습니다.
- 업데이트가 완료되지 않으면 CVO(Cluster Version Operator)에서 업데이트를 조정하는 동안 차단 구성 요소의 상태를 보고합니다. 클러스터를 이전 버전으로 롤백하는 것은 지원되지 않습니다. 업데이트가 완료되지 않으면 Red Hat 지원에 문의하십시오.
-
unsupportedConfigOverrides
섹션을 사용하여 Operator 설정을 수정하는 것은 지원되지 않으며 클러스터 업데이트를 차단할 수 있습니다. 클러스터를 업데이트하려면 이 설정을 제거해야 합니다.
3.2.2. 웹 콘솔을 사용하여 업데이트 서버 변경
업데이트 서버 변경은 선택 사항입니다. 로컬에 설치되어 구성된 OSUS(OpenShift Update Service)가 있는 경우 업데이트 중에 로컬 서버를 사용하도록 서버의 URL을 upstream
으로 설정해야 합니다.
사전 요구 사항
-
cluster-admin
권한이 있는 클러스터에 액세스할 수 있습니다. - OpenShift Container Platform 웹 콘솔에 액세스할 수 있습니다.
프로세스
-
관리
클러스터 설정으로 이동하여 버전을 클릭합니다. YAML 탭을 클릭한 다음
업스트림
매개변수 값을 편집합니다.출력 예
... spec: clusterID: db93436d-7b05-42cc-b856-43e11ad2d31a upstream: '<update-server-url>' 1 ...
- 1
<update-server-url>
변수는 업데이트 서버의 URL을 지정합니다.
기본
upstream
은https://api.openshift.com/api/upgrades_info/v1/graph
입니다.- 저장을 클릭합니다.
추가 리소스
3.2.3. 웹 콘솔을 사용하여 MachineHealthCheck 리소스 일시 중지
업데이트 프로세스 중에 클러스터의 노드를 일시적으로 사용할 수 없게 될 수 있습니다. 작업자 노드의 경우 시스템 상태 점검에서 이러한 노드를 비정상으로 식별하고 재부팅할 수 있습니다. 이러한 노드를 재부팅하지 않으려면 클러스터를 업데이트하기 전에 모든 MachineHealthCheck
리소스를 일시 중지합니다.
사전 요구 사항
-
cluster-admin
권한이 있는 클러스터에 액세스할 수 있습니다. - OpenShift Container Platform 웹 콘솔에 액세스할 수 있습니다.
프로세스
- OpenShift Container Platform 웹 콘솔에 로그인합니다.
-
Compute
MachineHealthChecks 로 이동합니다. 머신 상태 점검을 일시 중지하려면
cluster.x-k8s.io/paused=""
주석을 각MachineHealthCheck
리소스에 추가합니다. 예를 들어machine-api-termination-handler
리소스에 주석을 추가하려면 다음 단계를 완료합니다.-
machine-api-termination-handler
옆에 있는 옵션 메뉴 를 클릭하고 주석 편집을 클릭합니다. - 주석 편집 대화 상자에서 추가 를 클릭합니다.
-
키 및 값 필드에
cluster.x-k8s.io/paused
및""
값을 각각 추가하고 저장을 클릭합니다.
-
3.2.4. 웹 콘솔을 사용하여 클러스터 업데이트
사용 가능한 업데이트가 있으면 웹 콘솔에서 클러스터를 업데이트할 수 있습니다.
사용 가능한 OpenShift Container Platform 권고 및 업데이트는 고객 포털의 에라타 섹션을 참조하십시오.
사전 요구 사항
-
cluster-admin
권한이 있는 사용자로 웹 콘솔에 액세스합니다. - OpenShift Container Platform 웹 콘솔에 액세스할 수 있습니다.
-
모든
MachineHealthCheck
리소스를 일시 중지합니다. - OLM(Operator Lifecycle Manager)을 통해 이전에 설치된 모든 Operator를 대상 릴리스와 호환되는 버전으로 업데이트했습니다. Operator를 업데이트하면 클러스터 업데이트 중에 기본 OperatorHub 카탈로그가 현재 마이너 버전에서 다음 버전으로 전환될 때 유효한 업데이트 경로가 있습니다. 호환성을 확인하는 방법과 필요한 경우 설치된 Operator를 업데이트하는 방법에 대한 자세한 내용은 "추가 리소스" 섹션에서 "설치된 Operator 업그레이드"를 참조하십시오.
- MCP(Machine config pool)가 실행 중이고 일시 중지되지 않습니다. 업데이트 프로세스 중에 일시 중지된 MCP와 연결된 노드를 건너뜁니다. 카나리아 롤아웃 업데이트 전략을 수행하는 경우 MCP를 일시 중지할 수 있습니다.
- RHEL7 작업자는 RHEL8 또는 RHCOS 작업자로 교체됩니다. Red Hat은 RHEL 작업자의 RHEL7에서 RHEL8 업데이트를 지원하지 않습니다. 해당 호스트는 완전히 새로운 운영 체제 설치로 교체되어야 합니다.
프로세스
-
웹 콘솔에서 Administration
Cluster Settings을 클릭하고 Details 탭의 내용을 확인합니다. 프로덕션 클러스터의 경우
stable-4.17
과 같이 업데이트할 버전에 대해 Channel 이 올바른 채널로 설정되어 있는지 확인합니다.중요프로덕션 클러스터의 경우
stable-*
,eus-*
또는fast-*
채널에 가입해야 합니다.참고다음 마이너 버전으로 이동할 준비가 되면 해당 마이너 버전에 해당하는 채널을 선택합니다. 업데이트 채널이 더 빨리 선언될수록 클러스터가 대상 버전으로의 경로를 업데이트하는 것이 좋습니다. 클러스터는 사용 가능한 모든 업데이트를 평가하고 선택할 수 있는 최상의 업데이트 권장 사항을 제공하는 데 시간이 걸릴 수 있습니다. 업데이트 권장 사항은 당시 사용할 수 있는 업데이트 옵션을 기반으로 하므로 시간이 지남에 따라 변경될 수 있습니다.
대상 마이너 버전에 대한 업데이트 경로가 표시되지 않는 경우 경로에서 다음 마이너 버전을 사용할 수 있을 때까지 현재 버전의 최신 패치 릴리스로 클러스터를 계속 업데이트합니다.
- Update status 가 Updates available 이 아닌 경우 클러스터를 업데이트할 수 없습니다.
- Select channel은 클러스터가 실행 중이거나 업데이트 중인 클러스터 버전을 나타냅니다.
업데이트할 버전을 선택하고 저장을 클릭합니다.
입력 채널 Update Status가 Update to <product-version> in progress로 변경되고 Operator 및 노드의 진행률을 확인하여 클러스터 업데이트의 진행 상황을 검토할 수 있습니다.
참고예를 들어 버전 4.10에서 4.11로 클러스터를 업데이트하는 경우 새 기능을 사용하는 워크로드를 배포하기 전에 노드가 업데이트되었는지 확인합니다. 아직 업데이트되지 않은 작업자 노드가 있는 풀은 클러스터 설정 페이지에 표시됩니다.
업데이트가 완료되고 Cluster Version Operator가 사용 가능한 업데이트를 새로 고침한 후 현재 채널에서 사용 가능한 추가 업데이트가 있는지 확인합니다.
- 업데이트가 있는 경우 더 이상 업데이트할 수 없을 때까지 현재 채널에서 업데이트를 계속 수행합니다.
-
사용 가능한 업데이트가 없는 경우 채널을 다음 마이너 버전의
stable-*
,eus-*
또는fast-*
채널로 변경하고 해당 채널에서 원하는 버전으로 업데이트합니다.
필요한 버전에 도달할 때까지 여러 중간 업데이트를 수행해야 할 수도 있습니다.
추가 리소스
3.2.5. 웹 콘솔에서 조건부 업데이트 보기
조건부 업데이트를 통해 특정 업데이트와 관련된 위험을 확인하고 평가할 수 있습니다.
사전 요구 사항
-
cluster-admin
권한이 있는 클러스터에 액세스할 수 있습니다. - OpenShift Container Platform 웹 콘솔에 액세스할 수 있습니다.
-
모든
MachineHealthCheck
리소스를 일시 중지합니다. - OLM(Operator Lifecycle Manager)을 통해 이전에 설치된 모든 Operator를 대상 릴리스와 호환되는 버전으로 업데이트했습니다. Operator를 업데이트하면 클러스터 업데이트 중에 기본 OperatorHub 카탈로그가 현재 마이너 버전에서 다음 버전으로 전환될 때 유효한 업데이트 경로가 있습니다. 호환성을 확인하는 방법과 필요한 경우 설치된 Operator를 업데이트하는 방법에 대한 자세한 내용은 "추가 리소스" 섹션에서 "설치된 Operator 업그레이드"를 참조하십시오.
- MCP(Machine config pool)가 실행 중이고 일시 중지되지 않습니다. 업데이트 프로세스 중에 일시 중지된 MCP와 연결된 노드를 건너뜁니다. 카나리아 롤아웃, EUS 업데이트 또는 컨트롤 플레인 업데이트와 같은 고급 업데이트 전략을 수행하는 경우 MCP를 일시 중지할 수 있습니다.
프로세스
-
웹 콘솔에서 관리
클러스터 설정 페이지를 클릭하고 세부 정보 탭의 내용을 검토합니다. 업데이트 클러스터 모달의 새
버전 선택 드롭다운에서 알려진 문제 기능이 있는 버전
포함 기능을 활성화하여 드롭다운 목록을 조건부 업데이트로 채울 수 있습니다.참고알려진 문제가 있는 버전을 선택하면 해당 버전과 관련된 잠재적인 위험이 더 많은 정보가 제공됩니다.
- 업데이트할 잠재적인 위험을 자세히 설명하는 알림을 검토하십시오.
3.2.6. 카나리아 롤아웃 업데이트 수행
일부 특정 사용 사례에서는 클러스터의 나머지 부분과 동시에 특정 노드를 업데이트하지 않도록 보다 제어된 업데이트 프로세스를 원할 수 있습니다. 이러한 사용 사례에는 다음이 포함되지만 이에 국한되지는 않습니다.
- 업데이트 중에 사용할 수 없는 미션크리티컬 애플리케이션이 있습니다. 업데이트 후 노드의 애플리케이션을 소규모로 천천히 테스트할 수 있습니다.
- 유지 보수 기간이 짧아서 모든 노드를 업데이트할 수 없거나 유지 보수 기간이 여러 개일 수 있습니다.
롤링 업데이트 프로세스는 일반적인 업데이트 워크플로우가 아닙니다. 대규모 클러스터를 사용하면 여러 명령을 실행해야 하는 시간이 많이 소요될 수 있습니다. 이러한 복잡성으로 인해 전체 클러스터에 영향을 줄 수 있는 오류가 발생할 수 있습니다. 롤링 업데이트를 사용할지 여부를 신중하게 고려하고 시작하기 전에 프로세스 구현을 신중하게 계획하는 것이 좋습니다.
이 주제에서 설명하는 롤링 업데이트 프로세스에는 다음이 포함됩니다.
- 하나 이상의 사용자 지정 MCP(Machine config pool) 생성.
- 해당 노드를 사용자 지정 MCP로 이동하기 위해 즉시 업데이트하지 않으려는 각 노드에 레이블을 지정.
- 해당 노드에 대한 업데이트를 방지하는 사용자 지정 MCP를 일시 중지.
- 클러스터 업데이트 수행.
- 해당 노드에서 업데이트를 트리거하는 하나의 사용자 지정 MCP를 일시 중지 해제.
- 해당 노드에서 애플리케이션을 테스트하여 새로 업데이트된 해당 노드에서 애플리케이션이 예상대로 작동하는지 확인.
- 선택적으로 나머지 노드에서 사용자 지정 레이블을 소규모 배치로 제거하고 해당 노드에서 애플리케이션을 테스트.
MCP 일시 중지는 신중하게 고려하고 짧은 기간 동안만 수행해야 합니다.
카나리아 롤아웃 업데이트 프로세스를 사용하려면 카나리아 롤아웃 업데이트 수행을 참조하십시오.
3.2.7. 단일 노드 OpenShift Container Platform 업데이트 정보
콘솔 또는 CLI를 사용하여 단일 노드 OpenShift Container Platform 클러스터를 업데이트하거나 업그레이드할 수 있습니다.
그러나 다음과 같은 제한 사항에 유의하십시오.
-
상태 점검을 수행할 다른 노드가 없기 때문에
MachineHealthCheck
리소스를 일시 중지하기 위한 사전 요구 사항은 필요하지 않습니다. - etcd 백업을 사용하여 단일 노드 OpenShift Container Platform 클러스터 복원은 공식적으로 지원되지 않습니다. 그러나 업데이트가 실패하는 경우 etcd 백업을 수행하는 것이 좋습니다. 컨트롤 플레인이 정상이면 백업을 사용하여 클러스터를 이전 상태로 복원할 수 있습니다.
단일 노드 OpenShift Container Platform 클러스터를 업데이트하려면 다운타임이 필요하며 자동 재부팅을 포함할 수 있습니다. 다운타임의 양은 다음 시나리오에 설명된 대로 업데이트 페이로드에 따라 다릅니다.
- 업데이트 페이로드에 재부팅이 필요한 운영 체제 업데이트가 포함된 경우 다운타임이 중요하며 클러스터 관리 및 사용자 워크로드에 영향을 미칩니다.
- 재부팅할 필요가 없는 머신 구성 변경 사항이 업데이트되면 다운타임이 줄어들고 클러스터 관리 및 사용자 워크로드에 미치는 영향이 줄어듭니다. 이 경우 워크로드를 다시 예약할 다른 노드가 없기 때문에 단일 노드 OpenShift Container Platform으로 노드 드레이닝 단계를 건너뜁니다.
- 업데이트 페이로드에 운영 체제 업데이트 또는 머신 구성이 변경되지 않으면 짧은 API 중단이 발생하고 신속하게 해결됩니다.
업데이트된 패키지의 버그와 같은 조건이 있으므로 재부팅 후 단일 노드가 재시작되지 않을 수 있습니다. 이 경우 업데이트가 자동으로 롤백되지 않습니다.
추가 리소스