CloudNet@ 팀의 가시다님께서 Leading 하시는 AEWS Study 5주차 스터디 내용 정리
Kubernetes 에서 기본으로 제공하는 Pod AutoScaling 기능으로는 HPA, VPA 가 존재합니다.
이번 포스팅에서는 EKS AutoScaling 중 Pod의 수직적 오토스케일링을 할 수 있는 VPA 에 대해 알아보겠습니다.
1. VPA (Vertical Pod Autoscaling)
VPA 는 용어 그대로 수직적 파드 오토스케일링 기능으로
현재의 Pod 사용 메트릭에 따라 Pod 의 적정 리소스 크기를 확장 축소 할 수 있습니다. [Scale Up - Down 기능]
HPA 와 함께 사용할 수 없으며,
VPA 작동 시 Pod 를 새로 배포하고 기존 Pod 는 삭제하는 식으로 동작합니다. (updateMode 를 Off로 수정하여 기능을 끌 수 있습니다.)
1.1. VPA 설치
vpa는 별도의 helm 설치를 제공하고 있지않아 GitHub 에서 소스를 다운받아 설치합니다.
GitHub - kubernetes/autoscaler: Autoscaling components for Kubernetes
Autoscaling components for Kubernetes. Contribute to kubernetes/autoscaler development by creating an account on GitHub.
github.com
vpa 는 openssl 1.1.1 버전 이상이 필요하기에 openssl 버전을 확인해보고 필요하다면 최신 버전을 설치합니다.
1.2. VPA 테스트 앱 배포
VPA 가 동작한 후 Pod 가 변경된 것을 확인할 수 있습니다.
VPA 사용 시 Pod 를 자동으로 변경하는 것이 어려운 상황이 있습니다.
이 때, VPA Update Mode 를 Off 로 변경하면 최적의 리소스를 추천받을 수 있지만 VPA 가 자동으로 변경해주지는 않습니다.
Default = Auto 입니다.
관련 문서
GitHub - kubernetes/autoscaler: Autoscaling components for Kubernetes
Autoscaling components for Kubernetes. Contribute to kubernetes/autoscaler development by creating an account on GitHub.
github.com