용량 고려 사항에 따라 AWS Outposts의 Amazon EKS 클러스터용 인스턴스 유형 및 배치 그룹 선택하기
용량 고려 사항에 따라 AWS Outposts의 Amazon EKS 클러스터용 인스턴스 유형 및 배치 그룹 선택하기
이 주제에서는 Outpost의 로컬 Amazon EKS 클러스터의 고가용성 요구 사항을 충족하기 위해 Kubernetes 제어 플레인 인스턴스 유형을 선택하고 (선택적으로) 배치 그룹을 사용하는 방법에 대한 지침을 제공해요.
출처: 문서
본문
Outposts에서 로컬 클러스터의 Kubernetes 제어 플레인에 사용할 인스턴스 유형(예: m5, c5, r5)을 선택하기 전에 Outpost 구성에서 사용할 수 있는 인스턴스 유형을 확인하세요. 사용 가능한 인스턴스 유형을 식별한 후에는 워크로드에 필요한 노드 수를 기준으로 인스턴스 크기(예: large, xlarge, 2xlarge)를 선택합니다. 다음 표는 인스턴스 크기를 선택하기 위한 권장 사항을 제공해요.
참고: 인스턴스 크기는 Outposts에 슬롯으로 잡혀 있어야 합니다. 로컬 클러스터의 수명 동안 해당 크기의 인스턴스 3개 분량의 용량이 Outposts에 있는지 확인하세요. 사용 가능한 Amazon EC2 인스턴스 유형 목록은 AWS Outposts 랙 기능의 컴퓨팅 및 스토리지 섹션을 참고하세요.
| 노드 수 | Kubernetes 제어 플레인 인스턴스 크기 |
|---|---|
| 1–20 | large |
| 21–100 | xlarge |
| 101–250 | 2xlarge |
| 251–500 | 4xlarge |
Kubernetes 제어 플레인 스토리지는 etcd에 필요한 IOPS를 충족하기 위해 각 로컬 클러스터에 246GB의 Amazon EBS 스토리지가 필요해요. 로컬 클러스터가 생성되면 Amazon EBS 볼륨이 자동으로 프로비저닝됩니다.
제어 플레인 배치
OutpostConfig.ControlPlanePlacement.GroupName 속성으로 배치 그룹을 지정하지 않으면 Kubernetes 제어 플레인에 프로비저닝된 Amazon EC2 인스턴스는 Outpost에서 사용 가능한 기본 용량 전반에 걸쳐 특정 하드웨어 배치 적용을 받지 않습니다.
배치 그룹을 사용해 Outpost의 로컬 Amazon EKS 클러스터의 고가용성 요구 사항을 충족할 수 있어요. 클러스터 생성 중에 배치 그룹을 지정하면 Kubernetes 제어 플레인 인스턴스의 배치에 영향을 줍니다. 인스턴스는 독립적인 기본 하드웨어(랙 또는 호스트) 전체에 분산되어 하드웨어 장애 발생 시 연관된 인스턴스 영향을 최소화합니다.
구성할 수 있는 분산 유형은 배포의 Outpost 랙 수에 따라 달라져요.
- 단일 논리적 Outpost에 물리적 랙 1~2개가 있는 배포 – Kubernetes 제어 플레인 인스턴스에 선택한 인스턴스 유형으로 구성된 호스트가 최소 3개 있어야 합니다. 호스트 수준 분산을 사용하는 분산 배치 그룹은 모든 Kubernetes 제어 플레인 인스턴스가 Outpost 배포에서 사용 가능한 기본 랙 내의 고유한 호스트에서 실행되도록 합니다.
- 단일 논리적 Outpost에 물리적 랙 3개 이상이 있는 배포 – Kubernetes 제어 플레인 인스턴스에 선택한 인스턴스 유형으로 구성된 호스트가 최소 3개 있어야 합니다. 랙 수준 분산을 사용하는 분산 배치 그룹은 모든 Kubernetes 제어 플레인 인스턴스가 Outpost 배포의 고유한 랙에서 실행되도록 합니다. 또는 이전 옵션에서 설명한 호스트 수준 분산 배치 그룹을 사용할 수 있어요.
원하는 배치 그룹을 생성하는 것은 사용자 책임입니다. CreateCluster API를 호출할 때 배치 그룹을 지정해요. 배치 그룹과 생성 방법에 대한 자세한 내용은 Amazon EC2 사용 설명서의 배치 그룹을 참고하세요.
배치 그룹을 지정하면 로컬 Amazon EKS 클러스터를 성공적으로 생성하려면 Outpost에 사용 가능한 슬롯 용량이 있어야 합니다. 용량은 호스트 또는 랙 분산 유형을 사용하는지에 따라 달라져요. 용량이 충분하지 않으면 클러스터가 Creating 상태로 유지됩니다. DescribeCluster API 응답의 health 필드에서 Insufficient Capacity Error를 확인할 수 있어요. 생성 프로세스가 진행되도록 용량을 확보해야 합니다.
Amazon EKS 로컬 클러스터 플랫폼 및 버전 업데이트 중에는 클러스터의 Kubernetes 제어 플레인 인스턴스가 롤링 업데이트 전략을 사용해 새 인스턴스로 교체됩니다. 이 교체 프로세스 중에 각 제어 플레인 인스턴스가 종료되어 해당 슬롯이 비워집니다. 그 자리에 새 업데이트 인스턴스가 프로비저닝됩니다. 업데이트된 인스턴스는 해제된 슬롯에 배치될 수 있어요. 슬롯이 다른 비관련 인스턴스에 소비되고 필요한 분산 토폴로지 요구 사항을 존중할 수 있는 남은 용량이 없다면 클러스터는 Updating 상태로 유지됩니다. DescribeCluster API 응답의 health 필드에서 해당 Insufficient Capacity Error를 볼 수 있어요. 업데이트 프로세스가 진행되어 이전의 고가용성 수준을 다시 설정하려면 용량을 확보해야 합니다.
각 AWS 리전에서 계정당 최대 500개의 배치 그룹을 생성할 수 있어요. 자세한 내용은 Amazon EC2 사용 설명서의 일반 규칙 및 제한을 참고하세요.