Ssoon

[5주차] EKS Autoscaling - Scaling App and Cluster - CONFIGURE HPA 본문

AWS EKS Workshop Study

[5주차] EKS Autoscaling - Scaling App and Cluster - CONFIGURE HPA

구구달스 2023. 5. 25. 19:02
CloudNet@ 팀의 AWS EKS Workshop Study 5주차 정리입니다.
# Karpenter Workshop 의 내용입니다.

Horizontal Pod Autoscaler (HPA) 와 애플리케이션이 CPU 임계값에 도달하면 스케일링하는 규칙을 배포합니다.

Horizontal Pod Autoscaler 는 관찰된 CPU 사용률 또는 메모리를 기반으로 복제 컨트롤러, 배포 또는 복제 세트의 파드 수를 자동으로 확장합니다.


Monte Carlo Pi Service 와 연결된 HPA 리소스 만들기

  • CPU가 할당된 컨테이너 리소스의 50%를 초과할 때 스케일업하는 규칙을 설정합니다.
kubectl autoscale deployment monte-carlo-pi-service --cpu-percent=50 --min=3 --max=100
  • 1~2분 동안 <unknown>/50%가 표시되다가 0%/50%로 표시됩니다.


STRESS-TEST THE SYTEM

애플리케이션을 강조하기 위해 python helper app 을 설치합니다. python helper application 은 monte-carlo-pi-service 에 대한 여러 프로세스 요청을 parallel 로 호출하기만 하면 됩니다. 이렇게 하면 파드에 부하가 발생하고, monte-carlo-pi-service replicaset 을 확장하기 위한 Horizontal Pod Autoscaler 동작도 트리거됩니다.

chmod +x ~/environment/ec2-spot-workshops/workshops/karpenter/submit_mc_pi_k8s_requests.py
sudo python3 -m pip install -r ~/environment/ec2-spot-workshops/workshops/karpenter/requirements.txt
URL=$(kubectl get svc monte-carlo-pi-service | tail -n 1 | awk '{ print $4 }')
~/environment/ec2-spot-workshops/workshops/karpenter/submit_mc_pi_k8s_requests.py -p 1 -r 1 -i 1 -u "http://${URL}"

 


Scaling our Application and Cluster

스트레스 테스트를 실행하십시오! 이번에는 각각 ~1.3초 정도 소요될 것으로 예상되는 3000개의 요청을 실행할 것입니다.

time ~/environment/ec2-spot-workshops/workshops/karpenter/submit_mc_pi_k8s_requests.py -p 100 -r 30 -i 35000000 -u "http://${URL}"

Horizontal Pod Autoscaler 에서 설정된 규칙의 진행 상황을 표시하기 위해 실행할 수 있습니다:

kubectl get hpa -w

현재 진행 상황과 대상 파드가 표시되고 몇 초마다 새 줄이 새로 고쳐집니다.

kubectl top nodes
kubectl top pods

 

Comments