본문 바로가기
융복합 프로젝트 PZONE

<PZONE 프로젝트> 9. HPA 적용하기 , Kube-ops 활용해보기

by 앙팡공기팡 2023. 2. 21.

지난 글

 

 

 

Cluster Autoscaling 적용하기 : https://cooookieeee.tistory.com/10

 

 

 

 

 

 

 

진행사항

 

 

 

본 작업은 EKS control plane instance에서 진행되었다.

 

 

 

<HPA 적용하기>

 

 

1.  metric 서버 pod 설치

 

    -kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.4.1/components.yaml

 

2.  autoscale deployment 명령어 입력 또는 yaml apply

 

    -kubectl autoscale deployment practice_deployment --cpu-percent=80 --min=2 --max=10

 

3.  deployment.yaml에서 resource 허용량을 지정한다.

    

   <예시>

 resources:
          requests:
            cpu: "250m"
          limits:
            cpu: "500m"

 

4. kubectl get hpa -w 명령어를 통해 CPU 사용량이 잘 나타나는지 지속적으로 확인해본다.

 

 

 

<Kube-ops 활용하기>

 

1. kube-ops-view를 설치한다. git clone 후 apply yaml

 

    - ref : https://github.com/dobal-production/eksworkshop-custom/blob/main/020_prerequisites/07.kube-ops-view.sh

 

 

2.  kubectl get svc를 통해 ops-view loadbalancer domain으로 접속한다.

 

 

 

3. HPA 를 생성한다.

 

 

4. pod 접속후  apt-get install stress한 뒤 stress -c core개수   를 통해 부하를 부여한다.

 

 

5. 잘 작동되는지 확인해보자

 

 

결과

 

 

https://youtu.be/skku0qkFp5I

 

 

문제점 및 개선점

 

 

1. 배포 시 일일이 kubectl apply -f 를 진행해야하는 문제:

 

    - Helm chart를 사용하여 진행할 필요 있음

    

https://nayoungs.tistory.com/entry/Kubernetes-Helm%EC%9D%B4%EB%9E%80-Helm%EC%9D%98-%EA%B0%9C%EC%9A%94%EC%99%80-%EC%82%AC%EC%9A%A9%EB%B2%95

https://freestrokes.tistory.com/151

https://helm.sh/

 

- helm 구성

 

 

 

Ref

 

 

 

https://skarlsla.github.io/2018/08/14/kubernetest_hpa/

https://haereeroo.tistory.com/22

 

-HPA 구성과 unknown 해결