1.2 관리 및 워크로드 클러스터 업그레이드

고려 사항

쿠버네티스 지원 버전

Cluster API에서 관리하는 클러스터의 쿠버네티스의 버전을 업그레이드하는 경우 관리 클러스터에서 실행 중인 Cluster API 버전이 대상 쿠버네티스 버전을 지원하는지 확인한다.

대상 쿠버네티스 버전을 지원하려면 Cluster API 버전을 업그레이드해야 할 수도 있다.

또한 항상 쿠버네티스 보조 버전 간에 순차적으로 업그레이드해야 한다. 예를 들어 쿠버네티스 v1.17에서 v1.19로 업그레이드하려면 먼저 v1.18로 업그레이드해야 한다.

이미지

kubeadm 기반 클러스터의 경우 인프라 제공자들은 kubelet과 일치하는 kubelet의 사전 설치 버전을 포함하는 “머신 이미지(machine image)”를 요구한다.

Cluster API를 사용하여 업그레이드

클러스터를 완전히 업그레이드하는 고급 단계는 먼저 콘트롤 플레인을 업그레이드한 다음 워커 노드를 업그레이드하는 것이다.

콘트롤 플레인 머신 업그레이드

기본 시스템 이미지를 업그레이드하는 방법

시스템 이미지의 기본 콘트롤 플레인 머신을 업그레이드하려면 KubeadmControlPlane에서 참조하는 MachineTemplate 리소스를 변경해야 한다. MachineTemplate 리소스는 불변이므로 다음 방법을 사용하는 것이 좋다.

  1. 기존 MachineTemplate를 복사한다.
  2. 인스턴스 유형 또는 이미지 ID와 같이 변경해야 하는 값을 수정한다.
  3. 관리 클러스터에 새 MachineTemplate을 생성한다.
  4. infrastructureRef 필드에서 새 MachineTemplate 리소스를 참조하도록 기존 KubeadmControlPlane 리소스를 수정한다.

다음 단계에서는 새 MachineTemplate에 있는 새 값을 사용하여 제어부의 롤링 업데이트를 트리거한다.

쿠버네티스 제어부 버전 업그레이드 방법

쿠버네티스 콘트롤 플레인 버전을 업그레이드하려면 KubeadmControlPlane 리소스의 Spec.Version을 수정한다. 이렇게 하면 콘트롤 플레인의 롤링 업그레이드가 트리거되고 공급자에 따라 기본 시스템 이미지도 업그레이드 된다.

AWS와 같은 일부 인프라 공급자는 특정 시스템 이미지가 지정된 경우 KubeadmControlPlane 규격에 지정된 쿠버네티스 버전과 일치해야 한다. 단일 업그레이드만 트리거하려면 먼저 새 MachineTemplate을 생성한 다음 단일 트랜잭션에서 VersionInfrastructureTemplate가 수정되어야 한다.

MachineDeployment에서 관리하는 시스템 업그레이드

업그레이드는 콘트롤 플레인만 국한되지 않는다. 이 섹션은 Kubeadm 콘트롤 플레인과는 특별히 관련이 없지만 Cluster API 관리 클러스터를 완전히 업그레이드하기 위한 마지막 단계다.

하나 이상의 Machine Deployment가 있는 시스템을 관리하는 것이 좋다. Machine Deployment는 원활한 확장 환경을 위해 Machine Sets 및 Machine을 투명하게 관리한다. Machine Deployments 사양을 수정하면 시스템의 롤링 업데이트가 시작된다. 기존 시스템 배포의 템플릿을 변경하려면 다음 지침을 따른다.

Machine Deployment에서 스케일링 이벤트를 관리하는 방법에 대해 자세히 알아보려면 Machine Deployment 컨트롤러 설명서MachineSet 컨트롤러 설명서를 참조한다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

You May Also Like

1.7.1 MachinePools

실험 기능: MachinePool(알파) MachinePool 기능을 사용하면 MachinePools에서 시스템의 수명 주기 관리를 담당하지만 MachineSet 컨트롤러는 Machine Deployment와 유사한 공통…
Read More

Cluster API Book : 소개

Cluster API 프로젝트 Cluster API는 여러 Kubernetes 클러스터의 프로비저닝, 업그레이드 및 운영을 단순화하는 선언적 API 및 툴링을 제공하는…
Read More

1.7.2 ClusterResourceSet

실험 기능: ClusterResourceSet (알파) ClusterResourceSet 기능은 사용자가 정의한 리소스 세트(예: CNI/CSI)를 새로 생성된 클러스터와 일치시키는 데 자동으로 적용할…
Read More

Cluster API Book : 개념

개념 관리 클러스터(Management cluster) 워크로드 클러스터의 라이프사이클을 관리하는 쿠버네티스 클러스터다. 관리 클러스터는 하나 이상의 인프라 공급자가 실행되고, 머신과…