728x90
helm을 먼저 설치하자.
https://sh970901.tistory.com/150
1. helm 설치
wget https://get.helm.sh/helm-v3.9.4-linux-amd64.tar.gz
tar xvfz helm-v3.9.4-linux-amd64.tar.gz
mv linux-amd64/helm /usr/bin/
helm version
2. prometheus, grafana 패키지로 만들어진 helm repo를 추가한다.
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
3. kube-prometheus-statck을 다운로드한다. 개인적으로 해당 repo가 가장 구축하기 편리했다.
helm pull prometheus-community/kube-prometheus-stack
tar xfz kube-prometheus-stack-48.3.3.tgz
cd kube-prometheus-stack/
4. 해당 환경에 맞게 values.yaml 파일을 수정하자.
필자는 패스워드 변경하였고 외부 접근을 위해 svc 타입을 NodePort, 모니터링 관련 노드를 분리하기 위해 nodeSelector를 수정하였다.
vim values.yaml
## 원하는 설정 값 변경
nodeSelector:
nodetype: monitor
adminPassword: admin1234!
5. prometheus, grafana 설치
helm install prometheus . -n <네임스페이스명> -f values.yaml
helm list -n <네임스페이스명>
6. 대시보드 생성
필요한 대시보드의 json을 import 하여 사용하자.
사용 시 메트릭이 나오지 않는 것들이 있는데, 해당 지표의 promql을 보면 pod를 pod_name으로 조회하거나 하는 등 맞지 않는 경우가 있으니 prometheus 버전에 맞게 수정하여 사용하면 된다.
https://grafana.com/grafana/dashboards/
values.yaml 파일에서 프로메테우스, 그라파나, 알럿매니저 등에 대한 영속적으로 데이터를 저장하기 위해서 volumeClaimTemplate을 활성화하여 저장하도록 한다.
예시)
storageSpec:
## Using PersistentVolumeClaim
##
volumeClaimTemplate:
spec:
storageClassName: gp2
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 100Gi
'IT' 카테고리의 다른 글
쿠버네티스[EKS] argocd 설치 및 AWS ALB 외부 노출, Slack 설정 (0) | 2024.10.09 |
---|---|
쿠버네티스[EKS] EFK (Elastic, Fluent-bit, Kibana) helm 설치 (1) | 2024.10.09 |
Helm, Helm chart (0) | 2024.08.26 |
Pinpoint-docker 설치하고 적용하기 [ agent 분리 ] (0) | 2024.08.25 |
ElasticSearch&Kibana v8.15 docker 설치 & 토큰 발급 (0) | 2024.08.24 |