Amazon EKS 프로비저닝된 컨트롤 플레인 - Amazon EKS

이 페이지 개선에 도움 주기

이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다.

Amazon EKS 프로비저닝된 컨트롤 플레인

개요

Amazon EKS 프로비저닝된 컨트롤 플레인은 클러스터 관리자가 조정 티어 세트에서 선택하고 클러스터의 컨트롤 플레인에서 예측 가능한 매우 뛰어난 성능을 위해 선택한 티어를 지정할 수 있는 기능입니다. 이를 통해 클러스터 관리자는 컨트롤 플레인이 항상 지정된 용량으로 프로비저닝되도록 보장할 수 있습니다.

Amazon EKS는 클러스터의 컨트롤 플레인에 대해 두 가지 작업 모드를 제공합니다. 기본적으로 Amazon EKS 클러스터는 워크로드 수요에 따라 컨트롤 플레인이 자동으로 스케일 업 및 스케일 다운되는 표준 모드를 사용합니다. 표준 모드는 워크로드 요구 사항을 충족하기에 충분한 컨트롤 플레인 용량을 동적으로 할당하며, 대부분의 사용 사례에 권장되는 솔루션입니다. 그러나 컨트롤 플레인 조정으로 인한 성능 변동성을 허용할 수 없거나 매우 많은 컨트롤 플레인 용량이 필요한 특수 워크로드의 경우 선택적으로 프로비저닝된 모드를 사용할 수 있습니다. 프로비저닝된 모드를 사용하면 항상 까다로운 워크로드 요구 사항을 처리할 준비가 되어 있는 컨트롤 플레인 용량을 사전 할당할 수 있습니다.

참고

프로비저닝 모드는 기본 표준 모드와 함께 추가적인 컨트롤 플레인 작업 모드입니다. 프로비저닝된 모드를 도입해도 표준 모드 동작은 변경되지 않습니다.

EKS 프로비저닝된 컨트롤 플레인을 사용하면 클러스터 관리자가 원하는 컨트롤 플레인 용량을 사전에 프로비저닝하여 클러스터의 컨트롤 플레인에서 항상 사용할 수 있는 예측 가능한 뛰어난 성능을 제공할 수 있습니다. 또한 EKS 프로비저닝된 컨트롤 플레인을 사용하면 클러스터 관리자가 스테이징에서 프로덕션 및 재해 복구 사이트에 이르기까지 여러 환경에서 동일한 컨트롤 플레인 용량을 프로비저닝할 수 있습니다. 이는 여러 환경에서 얻은 컨트롤 플레인 성능이 일관되고 예측 가능한지 확인하는 데 중요합니다. 마지막으로 EKS 프로비저닝된 컨트롤 플레인을 사용하면 매우 높은 수준의 컨트롤 플레인 성능에 액세스할 수 있으므로, Kubernetes에서 대규모로 조정 가능한 AI 워크로드, 고성능 컴퓨팅 및 대규모 데이터 처리 워크로드를 실행할 수 있습니다.

모든 기존 및 새 Amazon EKS 클러스터는 기본적으로 표준 모드에서 작동합니다. 컨트롤 플레인에서 예측 가능한 뛰어난 성능이 필요한 클러스터의 경우 EKS 프로비저닝된 컨트롤 플레인 기능을 사용하도록 옵트인할 수 있습니다. 표준 또는 확장 지원 EKS의 시간당 요금 외에도 특정 컨트롤 플레인 조정 티어에 대한 시간당 요금이 청구됩니다. 요금에 대한 자세한 내용은 Amazon EKS 요금을 참조하세요.

Amazon EKS 컨트롤 플레인 모드

사용 사례

EKS 프로비저닝된 컨트롤 플레인은 예측 가능한 뛰어난 컨트롤 플레인 성능이 운영에 중요한 특정 시나리오를 해결하도록 설계되었습니다. 이러한 사용 사례를 이해하면 EKS 프로비저닝된 컨트롤 플레인이 워크로드에 적합한 솔루션인지 확인하는 데에도 도움이 될 수 있습니다.

성능이 중요한 워크로드 - Kubernetes 컨트롤 플레인의 지연 시간을 최소화하고 성능을 극대화해야 하는 워크로드의 경우 EKS 프로비저닝된 컨트롤 플레인은 컨트롤 플레인 조정을 통해 성능 변동성을 없앤 용량을 제공합니다.

대규모로 조정 가능한 워크로드 - 클러스터에서 많은 노드를 실행해야 하는 AI 훈련 및 추론, 고성능 컴퓨팅 또는 대규모 데이터 처리와 같은 확장성이 뛰어난 워크로드를 실행하는 경우 프로비저닝된 컨트롤 플레인은 이러한 까다로운 워크로드를 지원하는 데 필요한 컨트롤 플레인 용량을 제공합니다.

예상되는 수요가 많은 이벤트 - 전자 상거래 판매 또는 프로모션, 제품 출시, 휴일 쇼핑 시즌, 주요 스포츠 또는 엔터테인먼트 이벤트와 같은 예정된 이벤트로 인해 컨트롤 플레인 요청이 갑자기 급증할 것으로 예상되는 경우 프로비저닝된 컨트롤 플레인을 사용하면 컨트롤 플레인 용량을 사전에 조정할 수 있습니다. 이러한 선제적 접근 방식을 사용하면 자동 조정이 수요에 대응할 때까지 기다리지 않고도 늘어난 로드를 처리할 수 있습니다.

환경 일관성 - 프로비저닝된 컨트롤 플레인을 사용하면 스테이징 및 프로덕션 환경 전반에서 컨트롤 플레인 용량과 성능을 일치시켜 프로덕션에 배포하기 전에 잠재적 문제를 조기에 식별할 수 있습니다. 여러 환경에서 동일한 컨트롤 플레인 티어를 유지 관리하면 테스트 결과가 프로덕션 동작을 정확하게 반영하도록 보장함으로써 롤아웃 중에 성능과 관련된 예상치 못한 상황이 발생할 위험을 줄일 수 있습니다.

재해 복구 및 비즈니스 연속성 - 재해 복구 시나리오의 경우 프로비저닝된 컨트롤 플레인을 사용하면 기본 환경과 동일한 수준의 용량으로 장애 조치 환경을 프로비저닝할 수 있습니다. 이를 통해 재해 복구 클러스터가 활성화되는 순간부터 프로덕션 클러스터와 동일한 컨트롤 플레인 성능 특성을 보유하므로 장애 조치 이벤트 중에 중단을 최소화하고 신속하게 복구할 수 있습니다.

컨트롤 플레인 조정 티어

EKS 프로비저닝된 컨트롤 플레인에서는 티셔츠 크기(XL, 2XL, 4XL)를 사용하여 명명된 조정 티어를 제공합니다. 각 티어는 클러스터 컨트롤 플레인의 성능 특성을 결정하는 세 가지 주요 Kubernetes 속성을 통해 해당 용량을 정의합니다. 이러한 속성을 이해하면 워크로드 요구 사항에 적합한 티어를 선택하는 데 도움이 됩니다.

API 요청 동시성은 Kubernetes 컨트롤 플레인의 API 서버가 동시에 처리할 수 있는 요청 수를 측정합니다. 이는 처리량이 많은 워크로드에 매우 중요합니다.

포드 예약 속도는 기본 Kubernetes 스케줄러가 노드에서 포드를 예약할 수 있는 속도를 나타내며, 초당 포드 수로 측정됩니다.

클러스터 데이터베이스 크기는 클러스터 상태/메타데이터를 보유한 데이터베이스인 etcd에 할당된 스토리지 공간을 나타냅니다.

프로비저닝된 컨트롤 플레인을 사용하여 특정 조정 티어에서 클러스터의 컨트롤 플레인을 프로비저닝하면 EKS는 클러스터의 컨트롤 플레인이 해당 티어에 해당하는 제한을 유지 관리하도록 합니다. 컨트롤 플레인 조정 티어의 제한은 다음 표와 같이 Kubernetes 버전에 따라 다릅니다.

EKS v1.28 및 v1.29

프로비저닝된 컨트롤 플레인 조정 티어 API 요청 동시성(시트 수) 포드 예약 속도(포드/초) 클러스터 데이터베이스 크기(GB)

XL

1700

100

16

2XL

3400

100

16

4XL

6800

100

16

EKS v1.30 이상

프로비저닝된 컨트롤 플레인 조정 티어 API 요청 동시성(시트 수) 포드 예약 속도(포드/초) 클러스터 데이터베이스 크기(GB)

XL

1700

167

16

2XL

3400

283

16

4XL

6800

400

16

컨트롤 플레인 조정 티어 사용률 모니터링

Amazon EKS는 컨트롤 플레인의 티어 사용률을 모니터링하는 데 도움이 되는 여러 지표를 제공합니다. 이러한 지표는 Amazon CloudWatch 지표로 게시되며 CloudWatch 및 EKS 콘솔을 통해 액세스할 수 있습니다. 또한 이러한 지표는 EKS 클러스터의 Prometheus 엔드포인트(여기 참조)에서 스크래핑할 수 있습니다.

Prometheus 지표 CloudWatch 지표

API 요청 동시성

apiserver_flowcontrol_current_executing_seats

apiserver_flowcontrol_current_executing_seats

포드 예약 속도

scheduler_schedule_attempts_total

scheduler_schedule_attempts_total, scheduler_schedule_attempts_SCHEDULED, scheduler_schedule_attempts_UNSCHEDULABLE

클러스터 데이터베이스 크기

apiserver_storage_size_bytes

apiserver_storage_size_bytes

Amazon EKS 콘솔에서 컨트롤 플레인 사용률을 볼 수 있습니다. 클러스터의 개요 페이지에서 클러스터 모니터링을 선택하여 관찰성 대시보드에 액세스한 다음, 컨트롤 플레인 모니터링 탭을 선택하여 컨트롤 플레인 조정 섹션에서 컨트롤 플레인 사용률을 확인합니다.

EKS 클러스터 모니터링
EKS 컨트롤 플레인 모니터링

티어 용량 및 실제 성능 이해

프로비저닝된 컨트롤 플레인 조정 티어를 선택하는 경우 티어 속성은 Amazon EKS가 컨트롤 플레인에 적용하는 기본 구성을 나타냅니다. 그러나 실제 성능은 특정 워크로드 패턴, 구성 및 Kubernetes 모범 사례 준수에 따라 달라집니다. 예를 들어 4XL 티어는 6,800개의 동시 요청 시트로 API 우선순위 및 공정성(APF)을 구성하지만 컨트롤 플레인에서 얻은 실제 요청 처리량은 수행 중인 작업 유형에 따라 달라집니다. 예를 들어 Kubernetes는 가져오기보다 목록 요청에 페널티를 적용하므로 컨트롤 플레인이 동시에 처리하는 유효한 목록 요청 수는 가져오기 요청보다 적습니다(여기 참조). 마찬가지로 4XL 티어의 경우 기본 스케줄러 QPS가 400으로 설정되었어도 실제 포드 예약 속도는 여러 요인(예: 예약 상태 및 준비 중인 노드)에 따라 달라집니다. 최적의 성능을 얻으려면 애플리케이션이 Kubernetes 모범 사례(여기 참조)를 따르고 워크로드 특성에 맞게 올바르게 구성되었는지 확인합니다.

고려 사항

  • 표준 컨트롤 플레인 용량 - EKS 표준 컨트롤 플레인 모드는 최고의 가격 대비 성능 비율을 제공하며 대부분의 사용 사례에 권장되는 옵션입니다. 그러나 컨트롤 플레인 조정으로 인한 성능 변동성을 허용할 수 없거나 매우 많은 컨트롤 플레인 용량이 필요한 특수 워크로드의 경우 선택적으로 프로비저닝된 모드 사용을 고려할 수 있습니다.

  • 옵트인 필요 - 기존 클러스터는 표준 컨트롤 플레인에서 더 높은 요금의 EKS 프로비저닝된 컨트롤 플레인 티어로 자동 확장되지 않습니다. 새로운 EKS 프로비저닝된 컨트롤 플레인 조정 티어 중 하나에 명시적으로 옵트인해야 합니다.

  • 종료 제한 사항 - 표준 컨트롤 플레인 모드는 최대 8GB의 클러스터 데이터베이스(etcd) 크기를 지원합니다. 프로비저닝된 모드를 사용하는 동안 클러스터의 데이터베이스 크기가 8GB를 초과하는 경우 데이터베이스 크기를 8GB 미만으로 줄일 때까지 표준 모드로 다시 전환할 수 없습니다. 예를 들어 프로비저닝된 모드에서 14GB의 데이터베이스 스토리지를 사용하는 경우 표준 모드로 돌아가기 전에 먼저 데이터베이스 사용률을 8GB 미만으로 줄여야 합니다.

  • 자동 티어 조정 없음 - EKS 프로비저닝된 컨트롤 플레인은 티어 사이에서 자동으로 조정되지 않습니다. 조정 티어를 선택하면 클러스터의 컨트롤 플레인이 해당 티어에 고정된 상태로 남아 일관되고 예측 가능한 성능을 보장합니다. 그러나 티어 사용률 지표를 모니터링하고 EKS 프로비저닝된 컨트롤 플레인 API를 사용하여 이러한 지표가 사용자가 정의한 임계치를 초과할 때 스케일 업 또는 스케일 다운함으로써 자체 오토 스케일링 솔루션을 유연하게 구현할 수 있으므로 조정 전략 및 비용 최적화를 완벽하게 제어할 수 있습니다.

  • 현재 티어 보기 - Amazon EKS 콘솔, Amazon Web Services CLI 또는 API를 사용하여 현재 컨트롤 플레인 조정 티어를 볼 수 있습니다. CLI에서 describe-cluster 명령(aws eks describe-cluster --name cluster-name)을 실행할 수 있습니다.

  • 티어 전환 시간 - Amazon EKS 콘솔, Amazon EKS API 또는 CLI를 사용하여 조정 티어를 종료하거나 조정 티어 사이를 이전할 수 있습니다. Amazon EKS는 전환 진행 상황을 모니터링하기 위해 검사할 수 있는 ScalingTierConfigUpdate라는 새로운 클러스터 업데이트 유형을 도입했습니다. 티어 변경 명령을 실행한 후 클러스터의 업데이트를 나열하여 상태가 UpdatingScalingTierConfigUpdate 유형의 새 업데이트를 볼 수 있습니다. 업데이트가 완료되면 Successful 상태로 변경되고 오류가 발생하면 Failed 상태로 변경됩니다. 업데이트의 오류 필드는 실패 이유를 나타냅니다. 티어 간 전환 빈도에는 제한 사항이 없습니다. 컨트롤 플레인 티어 변경을 완료하는 데 몇 분 정도 걸립니다.

  • 최적의 티어 선택 - 클러스터에 대한 최적의 프로비저닝된 컨트롤 플레인 조정 티어를 결정하기 위해 최상위 티어(4XL)에 클러스터를 프로비저닝하여 로드 테스트를 수행할 수 있습니다. 그런 다음 로드 테스트를 수행하여 클러스터의 컨트롤 플레인에서 피크 수요를 시뮬레이션합니다. 피크 로드 시 컨트롤 플레인 티어 사용률 지표를 관찰하고 이러한 관찰을 지침 요소로 사용하여 프로비저닝 모드에 적합한 티어를 선택합니다.

  • 프로비저닝된 컨트롤 플레인 요금 - 클러스터가 있는 프로비저닝된 컨트롤 플레인 조정 티어에 대해 시간당 요금이 청구됩니다. 표준 또는 확장 지원의 시간당 요금 외에 이 요금이 적용됩니다. 자세한 내용은 Amazon EKS 요금 페이지를 참조하세요.

  • 더 큰 조정 티어 - 4XL보다 더 큰 조정 티어에서 클러스터를 실행하려는 경우 Amazon Web Services 계정 팀에 추가 요금 정보를 문의하세요.

  • Kubernetes 버전 및 리전 지원 - EKS 프로비저닝된 컨트롤 플레인은 모든 Amazon Web Services 상용, GovCloud 및 중국 리전에서 지원됩니다. 프로비저닝된 컨트롤 플레인은 EKS v1.28 이상에서 작동합니다.