고려 사항

쿠버네티스 지원 버전

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.6 Machine Template 변경

인프라 Machine Template 변경 Cluster API의 여러 구성 요소는 KubeadmControlPlane, Machine Deployment 및 MachineSet을 비롯한 인프라 시스템 템플릿을…

Cluster API Book : 페르소나

페르소나(Persona) 이 문서에서는 Cluster API 1.0 프로젝트의 사용자를 사용 사례에서 파생된 것으로 설명한다. 활용 사례별로 “현재 프로젝트에 대해…

1.4 MachineHealthCheck 구성

전제조건 MachinehealthCheck를 구성하기 전에 하나 이상의 MachineDeployment 또는 MachineSet가 배포된 작업 관리 클러스터가 있어야 한다. MachineHealthCheck란 무엇입니까? MachineHealthCheck는…