본문 바로가기
devops/Kubernetes

Spring boot KEDA 예제

by 아이티.파머 2025. 10. 12.
728x90

keda란?

kubenetes base event driven autoscaler로 외부로 부터 다양한 이벤트를 받아 애플리케이션 파드들을 오토스케일링하기 위한 목적으로 개발된 경량의 쿠버네티스 컴포넌트 입니다.

https://keda.sh/

 

왜 그리고 언제 사용하나요?

이번 예제에서는 KEDA를 사용하여 이벤트가 많이 발생되었을때 Kafka의 leg 부분을 모니터링 하고 우리가 지정한 leg 범위까지 늘어 졌을때 keda가 어떻게 잘 동작되는지 알아 보려 합니다.

그럼왜? HPA를 안쓰고 KEDA를 사용하나요!?

HPA로 늘어난 CPU 및 메모리 리소스의 사용량 대해서 스케일업이 가능하게 구성 할 수도 있으나, 이는 위에 언급한 요청량에 의한 모니터링은 불가능합니다.

만약 갑자기 많은 요청에 의해 Kafka Topic의 leg가 벌어지게 되면 어떻게 될가요? HPA 설정 만으로는 처리량을 모두 감당 할 수 없습니다.

KEDA를 사용하여, kafka의 특정 부분을(leg) 모니터링 하고 이에 따라 pod를 늘려 주는 설정으로 갑자기 대규모 트래픽이 몰렸을때 대응할 수 있습니다.

kind : scaledObject 를 사용합니다.

조건

topic에서 leg가 벌어지는 범위를 모니터링합니다.

  • leg 범위 : 1000
  • 모니터링 주기 : 30초
  • 스케일링 범위 : 최소 1 최대 10

다이어그램

<<이미지>>

 

 

글 순서

  1. kafka docker , cluster 설정 (zookiper 를 사용하지 않고 kraft 사용해보기)
  2. keda 성능 테스트를 위한 spring boot server 예제
  3. kubernetes keda 네임스페이스 설정 및 어플리케이션 (pod) 실행
  4. keda 테스트 및 결과

'devops > Kubernetes' 카테고리의 다른 글

kubernetes Ingress 란?  (0) 2025.10.30
helm으로 argo cd install (nginx ingress 사용)  (0) 2025.10.11
kubernetes namespage  (0) 2024.04.25
kubernetes nodeport 란? k8s 네트워크 구성  (1) 2024.04.25
kubernetes minikube install  (0) 2024.04.25