1
HPA(Horizontal Pod Autoscaler) ?
수평 파드 자동 증가 (파드의 숫자를 늘리는 것이다.)
파드는 서버이다. IP가 할당 된다.
파드의 CPU사용률을 기반으로 증가시켜준다.
확장/축소시 최대/최소 파드수는 디플로이먼트에 설정에 의해 지정되어 있다.
NKS설치하면 메트릭 서버도 자동 배포 되어 별도로 설치하지 않아도 된다.
오픈소스 쿠버네티스 사용시는 메트릭 서버를 배포해야 한다.
2
HPA는 30초 간격으로 파드의 사용률을 모니터링한다. 이부분의 시간은 사용자가 조정가능하다.
임계값을 초과할 경우 확장한다.
확장이후 3분 동안 대기하고, 스케일이 줄어들 경우 이벤트 이후 5분동안 대기한다. 이부분의 시간은 사용자가 조정가능하다.
3
동작?
1
# 모니터링
kwn
2
k apply -f https://k8s.io/examples/application/php-apache.yaml
3
k autoscale deployment php-apache --cpu-percent=5 --min=1 --max=10
4
k get hpa
5
k run -i --tty load-generator --rm --image=busybox --restart=Never -- /bin/sh -c "while sleep 0.001; do wget -q -O- http://php-apache; done"
k get hpa php-apache
6
k get hpa
7
# 삭제
k delete deployment.apps/php-apache service/php-apache horizontalpodautoscaler.autoscaling/php-apache
10
참고 자료
https://www.youtube.com/watch?v=vM_6pAWz-Co
다음
https://brunch.co.kr/@topasvga/4198