17장. 호스트된 컨트롤 플레인 업데이트
OpenShift Container Platform의 호스트된 컨트롤 플레인에서는 컨트롤 플레인과 노드 간에 업데이트가 분리됩니다. 클러스터 컨트롤 플레인을 호스팅하는 사용자인 서비스 클러스터 공급자가 필요에 따라 업데이트를 관리할 수 있습니다. 호스팅된 클러스터는 컨트롤 플레인 업데이트를 처리하고 노드 풀은 노드 업그레이드를 처리합니다.
17.1. 호스팅된 컨트롤 플레인 업데이트
호스트된 컨트롤 플레인 업데이트에는 호스트 클러스터와 노드 풀 업데이트가 포함됩니다. 업데이트 프로세스 중에 클러스터가 완전히 작동하려면 컨트롤 플레인 및 노드 업데이트를 완료하는 동안 Kubernetes 버전 skew 정책의 요구사항을 충족해야 합니다.
17.1.1. 호스팅된 클러스터의 업데이트
spec.release
값은 컨트롤 플레인의 버전을 지정합니다. HostedCluster
오브젝트는 원하는 spec.release
값을 HostedControlPlane.spec.release
값으로 전송하고 적절한 Control Plane Operator 버전을 실행합니다.
호스팅된 컨트롤 플레인은 새 버전의 CVO(Cluster Version Operator)를 통해 OpenShift Container Platform 구성 요소와 함께 새 버전의 컨트롤 플레인 구성 요소의 롤아웃을 관리합니다.
17.1.2. 노드 풀 업데이트
노드 풀을 사용하면 spec.release
및 spec.config
값을 노출하여 노드에서 실행 중인 소프트웨어를 구성할 수 있습니다. 다음과 같은 방법으로 롤링 노드 풀 업데이트를 시작할 수 있습니다.
-
spec.release
또는spec.config
값 변경 - AWS 인스턴스 유형과 같은 플랫폼별 필드 변경 결과는 새 유형의 새 인스턴스 집합입니다.
- 변경 사항이 노드에 전파되는 경우 클러스터 구성을 변경합니다.
노드 풀은 업데이트 및 내부 업데이트를 지원합니다. nodepool.spec.release
값은 특정 노드 풀의 버전을 지정합니다. NodePool
오브젝트는 .spec.management.upgradeType
값에 따라 대체 또는 인플레이스 롤링 업데이트를 완료합니다.
노드 풀을 생성한 후에는 업데이트 유형을 변경할 수 없습니다. 업데이트 유형을 변경하려면 노드 풀을 생성하고 다른 풀을 삭제해야 합니다.
17.1.2.1. 노드 풀 업데이트 교체
교체 업데이트에서는 이전 버전에서 이전 인스턴스를 제거하는 동안 새 버전에 인스턴스를 생성합니다. 이 업데이트 유형은 이러한 수준의 불변성이 비용 효율적인 클라우드 환경에서 효과적입니다.
노드가 완전히 다시 프로비저닝되므로 업데이트를 교체해도 수동 변경 사항은 유지되지 않습니다.
17.1.2.2. 노드 풀 업데이트
인플레이스 업데이트에서는 인스턴스의 운영 체제를 직접 업데이트합니다. 이 유형은 베어 메탈과 같이 인프라 제약 조건이 높은 환경에 적합합니다.
내부 업데이트는 수동 변경 사항을 유지할 수 있지만 kubelet 인증서와 같이 클러스터가 직접 관리하는 파일 시스템 또는 운영 체제 구성을 수동으로 변경하면 오류를 보고합니다.