인포그랩
home
회사 소개
home

Metrics Server와 Autoscaler 구축하기

소개

이번 과정에서는 Kubernetes 클러스터에서 리소스 메트릭을 수집하고 Autoscaler를 활용하여 리소스, 노드 수를 동적으로 확장하는 것을 학습합니다.

Metrics Server란?

Metrics Server는 클러스터에서 리소스 메트릭을 수집하고 이를 Kubernetes API server에 노출하여 Autoscaler에 포함된 HPA(Horizontal Pod Autoscaler) VPA(Vertical Pod Autoscaler)에서 사용할 수 있도록 합니다. 클러스터 내에 Metrics Server가 없을 경우 HPA, VPA에서 오류가 날 수 있습니다.

Autoscaler란?

Kubernetes Autoscaler는 Kubernetes Autoscaling과 관련된 컴포넌트들을 포함하고 있으며 항목은 다음과 같습니다.
Cluster Autoscaler : 리소스가 부족하여 파드 생성이 실패하거나 unscheduled 상태가 되면 클러스터의 노드 수를 자동으로 조정합니다.
HPA(Horizontal Pod Autoscaler) : 수집된 메트릭 정보를 기반으로 리소스 사용률을 정의하고 정의된 수치를 지속적으로 체크하여 초과할 경우 Deployment, Replicaset의 크기(replicas)를 조정합니다.
VPA(Vertical Pod Autoscaler) : Deployment 또는 Replicaset에 대해 resource request의 사용량을 학습하고 적합한 resource request 값을 제안합니다. 제안된 resource request 항목은 참조용으로 활용하거나 권장값으로 자동 업데이트할 수 있습니다.
Cluster Autoscaler의 경우 노드의 scale out이 필요할 때 , VPA는 Kubernetes 리소스의 Request, limit의 최적화가 필요할 때, HPA 리소스 scale out이 필요할 때 사용합니다.
<aside class="Positive">
Note: VPA의 경우 Beta 버전으로 제공되고 있어 실습에 포함되지 않습니다.
</aside>

아키텍처

학습 내용

Kubernetes 환경에서 Helm Chart를 통해 Metrics Server, Autoscaler를 배포하는 방법
Metrics Server를 이용하여 Kubernetes Metric 정보를 수집하는 방법
Autoscaler를 사용하여 클러스터 자원 사용량에 따른 리소스 및 노드 수를 조정하는 방법

사전 준비사항

실습을 시작하기 전에 준비되어야 하는 사항은 다음과 같습니다.
과정을 수행하여 사용할 수 있는 Kubernetes 클러스터가 구성되어 있어야 합니다.