
데브옵스
Karpenter 트러블슈팅 — 비용과 안정성 두마리 토끼 잡기
두줄요약
Karpenter 도입 과정에서 마주한 스케줄링 정합성, AMI 운영, Node Churn 문제를 정리했습니다. 적절한 budget과 리소스 보정으로 비용을 줄이고 안정성을 개선했습니다.
문제 상황
- ASG 기반 클러스터 운영에서 스케일 아웃 병목, AMI 업데이트 부담, 컴플라이언스용 노드 분리 증가, 유휴 리소스 낭비 발생
- 거래량 증가로 기존 오토스케일링 방식의 한계 노출
원인 분석
- Karpenter의 내부 스케줄링이 kube-scheduler와 완전히 일치하지 않는 정합성 문제
- 커스텀 AMI와 계정 분리로 인한 태그/이미지 배포 제약
- 낮은 consolidation budget과 인스턴스 리소스 계산 차이로 인한 비효율 및 Node Churn
해결 방법
- NodePool budget과 최소 노드 크기 조정으로 consolidation 강도와 daemonset 오버헤드 균형 조정
- 실제 리소스 갭 측정 후 메모리 오버헤드 보정값 반영
- 시간대별 budget 분리와 do-not-disrupt 활용, 스케줄링 시뮬레이터 개발 진행
성능/운영 포인트
- 월간 인프라 비용 약 10,000달러 절감
- 클러스터 업데이트와 노드 교체 운영 단순화
- 노드 웜업 시간과 레이턴시 안정화는 추가 개선 과제