728x90
keda란?
kubenetes base event driven autoscaler로 외부로 부터 다양한 이벤트를 받아 애플리케이션 파드들을 오토스케일링하기 위한 목적으로 개발된 경량의 쿠버네티스 컴포넌트 입니다.
왜 그리고 언제 사용하나요?
이번 예제에서는 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
다이어그램
<<이미지>>
글 순서
- kafka docker , cluster 설정 (zookiper 를 사용하지 않고 kraft 사용해보기)
- keda 성능 테스트를 위한 spring boot server 예제
- kubernetes keda 네임스페이스 설정 및 어플리케이션 (pod) 실행
- 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 |