코드는 Window Powershell을 기반으로 작성했습니다.
GitHub - 5a6io/Monitoring-Project: Private Project/Web 서버 개발/Locust를 이용한 부하테스트/Grafana 시각화 목
Private Project/Web 서버 개발/Locust를 이용한 부하테스트/Grafana 시각화 목표 - 5a6io/Monitoring-Project
github.com
부하테스트를 해보고자 모니터링 시스템을 구축하려고 한다.
1. helm 설치하기
https://helm.sh/docs/intro/install/
Installing Helm
Learn how to install and get running with Helm.
helm.sh
우선 helm차트를 사용하기 위해서는 helm을 설치해야 한다. 총 4가지 방법이 있다.
첫번째는 파일로 다운받아서 하는 방법이 있다.
그 외의 방법은 터미널에서 명령어를 사용해서 설치하면 된다. 다만, chocolatey나 scoop의 경우에는 먼저 따로 설치해야 한다.
choco install kubernetes-helm
scoop install helm
winget insall Helm.Helm
2. helm repo 추가하기
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm fetch --untar prometheus-community/kube-prometheus-stack
helm show values prometheus-community/kube-prometheus-stack > customvalues.yaml
kube-prometheus-stack은 prometheus와 grafana를 한 번에 설치할 수 있어서 편리하다.
그리고 pull을 해서 .tgz파일을 받은 후 푸는 방법도 있지만 fetch 명령어에 untar 옵션을 이용해서 바로 풀 수도 있다. 압축파일을 가져와서 푸는 방법도 있지만 helm show 명령어로 values를 가져와서 볼 수도 있다.
3. values.yaml 수정하기
기본적으로 adminUser는 admin으로 되어있고, adminPassword는 prom-operator로 되어있다. 그러므로 이 부분을 바꾸겠다.
그라파나를 설치하고 prometheus datasource를 가져오는 부분에서 문제가 발생하였다. 내가 repo를 추가한 후로 업데이트되어서 url이 바꼈을 수도 있을 것 같다. 만약 url이 위와 같이 되어있지 않다면 위처럼 바꾸거나 datasource를 위 url로 새로 추가하면 된다.
그리고 나는 GKE에서 진행 중이므로 grafana의 service type을 Loadbalancer로 설정하였다. 로컬 환경이라면 NodePort로 배포 후 Ingress를 설치하면 될 것이다. prometheus도 GUI로 보고 싶다면 prometheus.sevice 부분을 ClusterIP를 바꾸면 된다.
그리고 나는 Persistent Disk 기반으로 동적 프로비저닝 가능하도록 위와 같이 설정하였다. storageClassName은 Cloud Provider에 따라 다르므로 확인하고 작성하면 된다.
4. Grafana와 Prometheus 설치하기
helm install grafana prometheus-community/kube-prometheus-stack -f customvalues.yaml -n monitoring
그리고 위 명령어를 실행하면 그라파나가 설치가 되고 외부에서 접근이 가능할 것이다. 만약 서비스를 ClusterIP로 한 경우에는 pod를 port-forwarding해서 localhost:<그라파나 포트 번호>로 접속하여 확인하면 된다.
helm으로 Grafana와 Prometheus를 설치하는 방법은 여기서 마치겠다.
'Kubernetes' 카테고리의 다른 글
[k8s] GKE에서 ArgoCD 설치 및 Github Repository 연결 (0) | 2025.02.24 |
---|---|
[k8s] Kubernetes Scheduling (0) | 2024.12.04 |
[k8s] Pod란? (0) | 2024.11.25 |
[k8s] Kubernetes 구성 요소 (0) | 2024.11.24 |
[k8s] Kubernetes란? (1) | 2024.11.16 |