3.3.5 부하에 따라 자동으로 파드 수를 조절하는 HPA
지금까지는 사용자 1명이 파드에 접근하는 방법을 알아봤습니다. 그런데 사용자가 갑자기 늘어난다면 어떻게 될까요? 파드가 더 이상 감당할 수 없어서 서비스 불가(여기서 서비스는 쿠버네티스의 서비스가 아닙니다)라는 결과를 초래할 수도 있습니다. 쿠버네티스는 이런 경우를 대비해 부하량에 따라 디플로이먼트의 파드 수를 유동적으로 관리하는 기능을 제공합니다. 이를 HPA(Horizontal Pod Autoscaler)라고 합니다. 이번에는 HPA를 어떻게 설정하고 사용하는지 알아보겠습니다.
1. 디플로이먼트 1개를 hpa-hname-pods라는 이름으로 생성합니다.
[root@m-k8s ~]# kubectl create deployment hpa-hname-pods --image=sysnet4admin/echo-hname
deployment.apps/hpa-hname-pods created
2. 앞에서 MetalLB를 구성했으므로 expose를 실행해 hpa-hname-pods를 로드밸런서 서비스로 바로 설정할 수 있습니다.
[root@m-k8s ~]# kubectl expose deployment hpa-hname-pods --type=LoadBalancer --name=hpa-hname-svc --port=80
service/hpa-hname-svc exposed