인프라 Machine Template 변경

Cluster API의 여러 구성 요소는 KubeadmControlPlane, Machine Deployment 및 MachineSet을 비롯한 인프라 시스템 템플릿을 활용한다. 인프라 공급자 설명서에서 특정 필드에 대해 다르게 표시하지 않는 한 이러한 MachineTemplate 리소스는 불변해야 한다(자세한 내용은 아래 참조).

인프라 시스템 템플릿을 수정하는 올바른 프로세스는 다음과 같다.

  1. 기존 템플릿을 복제한다. 사용자는 실행 중인 클러스터에서 시작점으로 사용할 템플릿 구성을 검색하기 위해 kubectl get <MachineTemplateType> <name> -o yaml > file.yaml 를 사용할 수 있다.
  2. 원하는 필드를 업데이트한다. 수정해야 할 수 있는 필드에는 SSH 키, AWS 인스턴스 유형 또는 Azure VM 크기가 포함될 수 있다. 각 공급자가 요구하거나 수락하는 특정 필드에 대한 자세한 내용은 공급자별 설명서를 참조한다.
  3. metadata.name 필드를 수정하거나 metadata.generateName을 사용하여 새로 수정된 템플릿에 새 이름을 지정한다.
  4. kubectl을 사용하여 API 서버에 새 인프라 시스템 템플릿을 생성합니다. (템플릿이 처음에 1단계의 명령을 사용하여 생성된 경우, API 서버로 전송하기 전에 resourceVersion 필드를 포함하여 관련 없는 메타데이터를 모두 지워야 합니다.)

새 인프라 시스템 템플릿이 유지되면 사용자는 인프라 시스템 템플릿을 참조하던 개체를 수정할 수 있다. 예를 들어 KubeadmControlPlane 개체에 대한 인프라 시스템 템플릿을 수정하려면 spec.infrastructureTemplate.name를 수정해야 한다. Machine Deployment 또는 MachineSet의 경우 spec.template.spec.infrastructureRef.name 필드를 수정해야 한다. 모든 경우 새로 수정된 인프라 시스템 템플릿을 가리키도록 name 필드를 업데이트해야 한다. 롤링 업데이트가 트리거된다. (이 동일한 프로세스는 “기본 시스템 이미지를 업그레이드하는 방법” 섹션의 KubeadmControlPlane에 대한 기본 시스템 이미지를 업그레이드하기 위한 설명서에 설명되어 있다.)

일부 인프라 제공자는 재량에 따라 특정 인프라 머신 템플릿 필드의 인플레이스 수정을 지원하기로 선택할 수 있다. 인프라 공급자가 실행 중인 인스턴스/머신을 변경할 수 있는 경우(예: 할당된 메모리 또는 CPU 용량 업데이트) 유용할 수 있다. 그러나 이 경우 Cluster API는 롤링 업데이트를 트리거하지 않는다.

답글 남기기

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

You May Also Like

1.7.1 MachinePools

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

Cluster API Book : 페르소나

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

1.7 실험적인 기능

이제 Cluster API는 새로운 기능을 가진 exp/ 디렉토리에 있는 새로운 실험 패키지와 함께 제공된다. 이 위치는 졸업 후…

Cluster API Book : 개념

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