SageMaker HyperPod, Karpenter 기반 오토스케일링으로 ML 워크로드 효율 극대화

by DD
3개월 전
조회수 10

Amazon SageMaker HyperPod가 Karpenter를 활용한 관리형 노드 오토스케일링을 지원하며, 실시간 추론(Real-time Inference) 워크로드의 유연성을 확보

완전 관리형 Karpenter는 운영 부담을 줄이고, 제로 스케일링(Scale to Zero)을 지원하여 비용 효율성(Cost Efficiency)을 향상시킴

Karpenter는 파드 요구 사항, 가용 영역, 가격을 기반으로 최적의 인스턴스 유형을 선택하고, 자동 노드 통합(Consolidation)을 통해 리소스 활용률을 극대화함

Karpenter 기반 오토스케일링의 작동 원리

Karpenter는 Kubernetes API 서버를 감시(Watching)하며 스케줄링 불가 파드를 감지하고, 파드 요구 사항에 맞는 NodeClaim을 계산한다.

감시(Watching): Kubernetes API 서버를 통해 스케줄링 불가 파드 감지

평가(Evaluating): 파드 요구 사항, 토폴로지 제약 조건에 맞는 NodeClaim 계산

프로비저닝(Provisioning): SageMaker HyperPod API를 통해 인스턴스 프로비저닝 시도

중단(Disrupting): 불필요한 노드 삭제, 내부적으로 SageMaker HyperPod 클러스터에 대한 노드 삭제 요청 처리

이러한 과정을 통해 Karpenter는 자동화된 노드 관리(Automated Node Management)를 제공한다.

Karpenter와 KEDA의 통합을 통한 고급 오토스케일링

KEDA(Kubernetes Event-driven Autoscaling)는 다양한 메트릭을 기반으로 파드 오토스케일링을 지원하며, Karpenter와 통합하여 강력한 2계층 오토스케일링 아키텍처를 구성할 수 있다.

KEDA: CloudWatch, SQS, Prometheus 등 다양한 메트릭 기반 파드 오토스케일링

Karpenter: 변화하는 리소스 요구 사항에 따라 노드 자동 프로비저닝 및 삭제

2계층 오토스케일링 아키텍처: KEDA가 워크로드 메트릭 기반 파드 확장/축소, Karpenter가 노드 프로비저닝/삭제

이러한 통합은 비용 효율적인(Cost-Effective) 클러스터 운영을 가능하게 한다.

SageMaker HyperPod 환경에서의 Karpenter 활용 모범 사례

SageMaker HyperPod 클러스터에서 Karpenter를 활성화하고 설정하기 위한 몇 가지 모범 사례가 제시된다.

HyperpodNodeClass: SageMaker HyperPod의 인스턴스 그룹에 매핑되는 custom resource 정의

NodePool: Karpenter가 생성할 노드와 파드에 대한 제약 조건 설정

Continuous Provisioning: 인스턴스 capacity 부족 시 자동 재시도

IAM 권한 설정: Karpenter를 위한 IAM 역할 생성

이러한 설정은 ML 워크로드(ML Workload)의 효율적인 운영을 보장한다.

Amazon SageMaker HyperPod의 오토스케일링 알아보기

댓글 0

첫 번째 댓글을 남겨보세요!