CA(Cluster Autoscaler)
- Kubernetes 클러스터에 있는 노드를 관리하는 역할
1) CA는 기본 10초 간격으로 보류 상태의 파드를 확인
2) 클러스터에 사용할 수 있는 리소스가 부족하여 클러스터에 할당할 수 있는 하나 이상의 파드가 보류 상태인 경우 노드를 프로비저닝함
3) CSP가 노드를 부여하면 노드가 클러스터에 연결
4) K8S 스케줄러는 보류 중인 파드를 새 노드에 할당, 보류 상태인 파드가 많을 경우 위 프로세스를 반복함
5) 클러스터에 낭비되는 노드가 있을 경우 삭제
- 노드를 축소하기 전에는 기본적으로 10분 정도를 실제로 낭비되는 자원인지 지켜봄
HPA(Horizontal Pod Autoscaler)
- 파드의 개수를 증감시킴(Scale out, in)
- K8S API 리소스 및 컨트롤러로 구현
- Stateless App일 때 사용
1) HPA는 기본 15초 간격으로 지정된 메트릭의 리소스 사용률을 확인함
2) 지정된 임계값이 초과되면 HPA는 해당하는 파드를 scale out함
3) HPA는 주로 deployment, replica set의 replica 수를 업데이트 함
VPA(Vertical Pods Autoscaler)
- 파드의 스펙을 증감시킴(Scale up, down)
- 리소스를 변경하기 위해서는 파드를 다시 시작해야만 함
- Manual 모드로 설정 시, VPA가 적절하게 필요한 request 양을 추천함
- Stateful App일 때 사용
- VPA와 HPA는 양립할 수 없음
출처
https://st-soul.tistory.com/69
https://kubernetes.io/ko/docs/tasks/run-application/horizontal-pod-autoscale/
'IT > Kubernetes' 카테고리의 다른 글
imagePullPolicy:always (0) | 2022.05.28 |
---|---|
[K8S] Cluster Networking (0) | 2022.03.24 |
왜 Pod가 필요할까? (Container와 Pod의 관계) (0) | 2021.09.25 |
쿠버네티스의 내부 구성 (0) | 2021.09.25 |
쿠버네티스란 무엇일까? (0) | 2021.09.22 |
댓글