Karpenter와 Cluster Autoscaler로 클러스터 컴퓨트 확장하기

Karpenter와 Cluster Autoscaler로 클러스터 컴퓨트 확장하기

Karpenter와 Cluster Autoscaler로 클러스터 컴퓨트를 자동 확장하는 방법을 알아봐요. 오토스케일링은 변화하는 수요에 맞춰 리소스를 자동으로 확장·축소하는 기능이에요.

출처: 문서

본문

오토스케일링은 변화하는 수요에 맞춰 리소스를 자동으로 확장·축소하는 기능이에요. 이는 Kubernetes의 주요 기능으로, 그렇지 않다면 수동으로 수행하는 데 광범위한 인적 자원이 필요해요.

EKS Auto Mode

Amazon EKS Auto Mode는 클러스터 컴퓨트 리소스를 자동으로 확장해요. 파드가 기존 노드에 들어갈 수 없으면 EKS Auto Mode가 새 노드를 만들어요. EKS Auto Mode는 워크로드를 통합하고 노드를 삭제하기도 해요. EKS Auto Mode는 Karpenter를 기반으로 해요.

자세한 내용은 다음을 참고해 주세요:

  • Automate cluster infrastructure with EKS Auto Mode
  • Create a Node Pool for EKS Auto Mode
  • Deploy a sample inflate workload to an Amazon EKS Auto Mode cluster

추가 솔루션 (Additional Solutions)

Amazon EKS는 두 가지 추가 오토스케일링 제품을 지원해요:

Karpenter

Karpenter는 유연하고 고성능인 Kubernetes 클러스터 오토스케일러로, 애플리케이션 가용성과 클러스터 효율성을 향상시켜 줘요. Karpenter는 변화하는 애플리케이션 부하에 응답해 1분 안에 적정 규모의 컴퓨트 리소스(예: Amazon EC2 인스턴스)를 시작해요. Kubernetes를 AWS와 통합함으로써 Karpenter는 워크로드의 요구 사항을 정확히 충족하는 제때(just-in-time) 컴퓨트 리소스를 프로비저닝할 수 있어요. Karpenter는 클러스터 워크로드의 특정 요구 사항에 따라 새 컴퓨트 리소스를 자동으로 프로비저닝해요. 여기에는 컴퓨트, 스토리지, 가속, 스케줄링 요구 사항이 포함돼요. Amazon EKS는 Karpenter를 사용하는 클러스터를 지원하지만, Karpenter는 어떤 컨포먼트 Kubernetes 클러스터에서도 동작해요. 자세한 내용은 Karpenter 문서 참고.

중요: Karpenter는 오픈 소스 소프트웨어이며 AWS 고객이 Kubernetes 클러스터에 설치·구성·관리할 책임이 있어요. AWS는 호환 버전의 Karpenter를 수정하지 않고 Amazon EKS 클러스터에서 실행할 때 기술 지원을 제공해요. 다른 고객 관리 소프트웨어와 마찬가지로 고객이 Karpenter 컨트롤러의 가용성과 보안을 유지하고, 업그레이드할 때나 실행 중인 Kubernetes 클러스터에 적절한 테스트 절차를 갖추는 것이 필수적이에요. Karpenter에 대한 AWS Service Level Agreement(SLA)는 없으며, Karpenter가 시작한 EC2 인스턴스가 비즈니스 요구 사항을 충족하는지 확인할 책임은 고객에게 있어요.

Cluster Autoscaler

Kubernetes Cluster Autoscaler는 파드가 실패하거나 다른 노드로 재스케줄링될 때 클러스터의 노드 수를 자동으로 조정해요. Cluster Autoscaler는 Auto Scaling 그룹을 사용해요. 자세한 내용은 Cluster Autoscaler on AWS 참고.

더 알아보기 (Learn more)