KEDA로 100만 TPS 로그 시스템 오토스케일링 구축

by DD
6개월 전
조회수 4

100만 TPS 로그 시스템의 Fluentd, Loki에 KEDA를 도입하여 오토스케일링을 구현함

HPA의 한계로 인해 Prometheus 메트릭 기반의 KEDA를 활용, 유연한 스케일링을 달성함

KEDA클러스터 오토스케일링 연동을 통해 비용 절감시스템 안정성을 확보함

HPA의 한계와 KEDA 도입 배경

HPA는 CPU, 메모리 사용률 기반으로 스케일링을 수행하지만, Fluentd 버퍼와 같은 특정 지표를 고려하지 못한다. 따라서 OOM Kill 발생 시, 평균 사용률 왜곡으로 인해 적절한 스케일 아웃이 어려웠다. KEDA는 이러한 한계를 극복하기 위해 도입되었다.

KEDA ScaledObject 설정 심층 분석

ScaledObject를 통해 Prometheus 메트릭을 기반으로 스케일링을 설정하고, Fluentd 버퍼 사용률을 모니터링하여 스케일 아웃을 트리거링한다. metricType 설정 오류로 인한 과도한 스케일링 문제를 해결하기 위해 horizontalPodAutoscalerConfig를 활용하여 스케일 아웃 정책을 제어했다.

KEDA와 클러스터 오토스케일링 연동 전략

KEDA를 통해 Pod 수준의 오토스케일링을 구현하고, Karpenter를 활용하여 클러스터 오토스케일링을 연동하여 비용을 절감했다. Pod Requests를 기반으로 노드 수를 조절하여, 자원 효율성을 극대화하고, 전반적인 시스템 안정성을 향상시켰다.

100만 TPS 로그 시스템, KEDA를 이용한 오토스케일링 적용기