'15단계로 배우는 도커와 쿠버네티스' 기반으로 내용 정리하였습니다.
오토스케일은 CPU와 메모리 사용률에 따라 파드나 노드의 수를 자동으로 늘리고 줄이는 기능을 말한다.
특히 퍼블릭 클라우드에서는 노드의 개수, 이용 시간에 따라 비용이 달라지기 때문에 비용 최적화와도 연결된다.
온프레미스에서는 제한된 서버의 자원을 최대한 활용하는 것이 좋다.
(우리도 오토스케일 처리가 되어있나?? cloud-dev)
예를 들면, 업무 시간대에는 사용자의 요청을 처리하는 파드의 비중을 높이고, 심야 시간대에는 배치를 수행하는 파드의 비중을 높이는 식으로 활용하여 처리한다.
HPA는 파드의 CPU 사용률을 감시하면서 파드의 레플리카 수를 늘리거나 줄인다.
그러나 새로운 노드를 추가하지는 않는다.
CA는 필요할 때 노드를 자동으로 추가한다.
클라우드의 API와 연동하여 노드를 늘리거나 줄여 비용 절약이 가능하다. (HPA는 불가능)
오토스케일을 사용하기 위해서는 컨테이너가 갑작스런 종료 후, 대응을 할 수 있어야 한다.
즉, 종료 요청 시그널 SIGTERM을 받으면 종료 처리를 수행하고 컨테이너를 종료하도록 구현해야한다.
오토스케일링 작업
HPA는 루프를 돌면서 대상이 되는 파드의 CPU 사용률을 정기적으로 수집한다.
그리고 파드의 CPU 사용률의 평균을 목표값이 되도록 레플리카 수를 조절한다.
그냥 오토스케일이랑 오토스케일린 작업이 뭔지만..
마무리