cleanUrl: /k8s/pod-cluster-node-auto-scaling
share: true
다루는 내용
- CPU 사용률 기반 pod auto scaling
- 사용자 정의 matric 기반 pod auto scaling
- pod 의 scale up 이 불가능한 이유 이해
- auto horizontal scaling of cluster node
k8s 은 replica 값을 늘려 수동으로 확장할 수 있지만, 이러한 경우 예상치 못하게 트래픽이 늘어나는 것은 대응할 수 없다. 물론 부하가 예측된다면 문제가 없지만, 개발자가 수동으로 개입하여 이러한 트래픽 증가를 대응하는 것은 이상적이지 않다.
k8s 은 모니터링을 수행하면서 CPU, matric 을 확인하여 자동으로 대응하는 것이 가능하다
이러한 auto scaling 은 1.6 → 1.7 에서 rewritten 되어 인터넷에서 찾은 정보가 옛날 정보일 수 있음으로 유의해야 한다.
Horizontal pod autoscaling
- 수평 파드 확장 (Horizontal Pod Autoscaling) 은 auto scaling controller 에 의해 자동으로 pod 의 개수를 조정하는 것을 말한다.
- HPA(HorizontalPodAutoscaler) 리소스를 작성해 HPA 에 설정된 값으로 metric 값이 만족되는 pod 의 개수를 계산한다
- 이 대상에 포함되면 replicas 필드 값을 조절한다
Understanding the autoscaling process
auto-scaling process 는 3단계로 나눈다
- 확장 가능한 resource object 에서 관리하는 모든 pod metric 을 가져온다
- metric 을 지정한 목표 값과 같거나 가깝도록 하기 위해 필요한 pod 수를 계산한다
- 확장 가능한 resource 의 replicas 필드를 갱신한다
각 단계를 살펴본다