Grafana Labs에서 AWS EKS에서 클러스터의 노드를 스케일 인/아웃 하는데 Cluster Autoscaler(CA)를 사용하다가 Karpenter로 갈아탔다고 합니다. Karpenter는 AWS에서 몇년전에 공개한 고성능 클러스터 오토스케일러입니다.


Cluster Autoscaler를 사용할 때는 클러스터에서 c6a.2xlarge같은 인스턴스 타입을 여러 종류로 설정하더라도 확장할 때 어느 인스턴스 타입이 선택될지는 CA 맘대로이기 때문에 제대로 제어하기가 어려웠고 Spot 인스턴스를 도입한 후에도 Spot 인스턴스를 할당받지 못한다고 대신 온디맨드 인스턴스를 대신 띄우는 방법 등을 제공하지 않았기 때문에 어려움이 많았다고 합니다.


이러한 문제를 해결하기 위해 Karpenter를 도입했는데 Kubernetes 네이티브 리소스를 사용하므로 더 유연하게 용량 관리를 할 수 있고 용량 타입도 선택할 수 있었기 때문에 이전의 답답하던 문제가 해결되었습니다.


CA에서 Karpenter로 갈아탈 때 Karpenter는 프로비저너가 없으면 아무일도 하지 않으므로 CA가 있는 상태에서 먼저 Karpenter를 배포하고 CA를 끄면서 Karpenter에 프로비저너와 노드 템플릿을 제공하는 방식으로 마이그레이션을 자연스럽게 했다고 합니다. 적용 후 이전보다 노는 자원의 비율이 50%나 감소했다고 합니다.


https://grafana.com/blog/2023/11/09/how-grafana-labs-switched-to-karpenter-to-reduce-costs-and-complexities-in-amazon-eks/

How Grafana Labs switched to Karpenter to reduce costs and complexities in Amazon EKS | Grafana Labs

Grafana Labs

How Grafana Labs switched to Karpenter to reduce costs and complexities in Amazon EKS | Grafana Labs

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 11월 28일 오후 2:33

댓글 0