CloudNet@ 팀의 가시다님께서 Leading 하시는 AEWS Study 5주차 스터디 내용 정리
이번 포스팅에서는 EKS AutoScaling 중 Node 오토스케일링 기능인 CA 에 대해 알아보겠습니다.
1. CA (Cluster Autoscaler)
이전까지 Cluster 에 올라가는 Pod 의 AutoScaling 을 알아보았습니다.
경우에 따라서는 Pod 가 배포될 Node 의 리소스가 부족해질 때도 있는데, 이 때 CA 를 사용하게 됩니다.
CA 는 Pending 상태의 Pods 가 존재할 경우 Node 를 Scale Out 하며 AWS 에서는 AutoScaling Group 을 사용합니다.
1.1. EKS Tag 확인
CA 는 EKS Node 의 Tag 를 확인하여 Scaling을 해줍니다.
다음의 Tag 가 적용되어 있는 지 확인합니다.
1.2. CA 설치
CA 는 Helm 으로 설치가 가능합니다.
cluster-autoscaler 9.29.0 · kubernetes/cluster-autoscaler
Scales Kubernetes worker nodes within autoscaling groups.
artifacthub.io
이번에는 CA 에서 제공하는 배포 예제 파일로 설치하겠습니다.
1.3. ASG 설정 변경
다음의 명령어로 ASG 설정을 확인해봅니다. [Min/Desired/Max]
테스트를 위해 ASG 의 Max Node 숫자를 6으로 변경합니다.
1.4. Sample App 배포
CA 테스트를 위해 CPU/Memory 리소스를 500m 이상 요구하는 nginx 파드를 배포합니다.
Pod 개수를 늘려 Node 리소스가 부족하게 만들어 CA 를 동작시킵니다.
Node AutoScaling
참고 문서
https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md