Prometheus를 통해서 리소스를 모니터링한 결과 상대적으로 부하가 심한 Receiver / Sender 서버에 HPA를 적용했다. 다음 영상은 아키텍처상에서 HPA가 동작해 경고 및 자가치유 알람이 발생하는 과정이며, 이때 주어진 트래픽은 부하테스트 결과를 참고해 ‘Jmeter/10thread/10000건의 메시지를 발송’의 결과이다.
scale-out 순서:
트래픽이 몰려 부하가 발생한다
(우측) DevOps팀을 대상으로한 Slack 채널에서 Prometheus Resource 경고 알람이 발생한다.
(좌측) k8s Metrics Server에서 리소스 변화를 감지하고 HPA(오토스케일링)이 trigger된다.
→ 새로운 파드 생성시 readiness probe를 거쳐서 파드가 준비가 됬을때 트래픽이 로드밸런싱된다.
→ 상대적으로 부하가 심한 Receiver 서버가 1→4로 증가했고, Sender Server는 1→2로 증가했음을 볼 수 있다.
(우측) DevOps팀을 대상으로한 Slack 채널에서 KubeWatch가 클러스터에 변화를 감지하고 자가치유 알림 메시지를 발송한다.
scale-in 순서: