23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
3. AWS EKS 에서 Istio 와 Application Load Balancer 연결
5. AWS EKS 의 Cluster Autoscaler 설정
6. Loki를 이용한 손쉬운 Kubernetes Logging
7. Kubernetes/Istio 를 위한 Datadog 설정
8. Argo CD 설치 및 설정
Kubernetes 의 Autoscaler 를 사용하기 위해서는 우선
여기서 Resource의 request, limit 설정을 위해 Vertical Pod Autoscaler 및 Goldilocks를 활용하고 이를 통해 request, limit 을 설정하는데 참고 할 수 있다.
사실 VPA는 Kubernetes 의 Autoscaler 중 하나로 Horizontal 하게 Pod/ Node를 늘리는 HPA와 달리 Vertical 하게 스펙을 높이는 방법이다. 그런데 VPA controller stack은 recommendation engine 을 포함하고 있고, 가이드라인을 제공하기 위해 현재 resource 사용량을 계속 수집한다. 결국 보통 실제 VPA를 사용한 Autoscale을 사용 하지는 않고, recommendation engine 만 사용하도록 설정하여 request, limit을 정하고 HPA, CA를 통해 Autoscale을 한다.
여기서 Goldilocks 의 역할은 불편하게 kubectl 을 통해 필요한 서비스의 VPA recommendation 을 확인하는 대신 쉽게 Web UI를 통해 이를 확인 할 수 있게 도와준다.
우선 지표 수집을 위해 Kubernetes 의 metrics-server를 설치해야 한다.
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
제대로 적용되었는지 확인한다.
kubectl get deployment metrics-server -n kube-system
우리는 full VPA install 이 필요하지 않고 recommender 만 필요하다. 아래와 같이 설치하면 VPA recommender와 Goldilocks를 설치한다.
$ helm repo add fairwinds-stable https://charts.fairwinds.com/stable
$ helm install --set updater.enabled=false vpa fairwinds-stable/vpa --namespace vpa --create-namespace
$ helm install goldilocks fairwinds-stable/goldilocks --namespace goldilocks --create-namespace
Goldilocks 의 chart를 통해 VPA를 설치하면 쉽게 원하는 recommendation engine 만을 설치할 수 있다. https://github.com/FairwindsOps/charts/tree/master/stable/vpa#components 참고
VPA recommender를 사용할 namespace를 지정한다.
$ kubectl label ns default goldilocks.fairwinds.com/enabled=true
kubernetes port forwarding 을 통해 Goldilocks 에 접속한다.
$ kubectl -n goldilocks port-forward svc/goldilocks-dashboard 8080:80
kubernetes port forwarding을 remote 에서 하는 경우 localhost를 통해 Goldilocks를 접근하기 위해 local 에서 Local Port Forwarding을 해야한다.
ssh -L 8080:127.0.0.1:8080 ec2-~~.compute.amazonaws.com
http://localhost:8080 을 열어본다.
서비스가 배포되지 않은 상황에서는 아무것도 없을것이다. 서비스를 올리고 사용하면서 확인하면 각 서비스의 설정과 recommendation 을 확인할 수 있다. 하지만... 실제 사용해본 결과 참고는 할 수 있지만 이 수치가 절대적인 값이 될 수는 없다. Language와 서비스의 성격에 따라 실제 운영하면서 맞추어 나가는 방법이 좋은거 같다.
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.