[k8s] helm으로 Grafana와 Prometheus 설치하기

2025. 4. 1. 16:29·Cloud/Kubernetes
코드는 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를 설치하는 방법은 여기서 마치겠다.

저작자표시 비영리 변경금지 (새창열림)

'Cloud > Kubernetes' 카테고리의 다른 글

[k8s] kubeadm으로 클러스터 구성(2)  (2) 2025.07.17
[k8s] kubeadm으로 클러스터 구성(1)  (1) 2025.07.12
[k8s] GKE에서 ArgoCD 설치 및 Github Repository 연결  (0) 2025.02.24
[k8s] Kubernetes Scheduling  (0) 2024.12.04
[k8s] Pod란?  (0) 2024.11.25
'Cloud/Kubernetes' 카테고리의 다른 글
  • [k8s] kubeadm으로 클러스터 구성(2)
  • [k8s] kubeadm으로 클러스터 구성(1)
  • [k8s] GKE에서 ArgoCD 설치 및 Github Repository 연결
  • [k8s] Kubernetes Scheduling
The Engineer, Lucy
The Engineer, Lucy
  • The Engineer, Lucy
    Growing up for My Future💕
    The Engineer, Lucy
    • Instagram
    • GitHub
  • 전체
    오늘
    어제
    • 분류 전체보기 (171)
      • Linux (26)
      • Infra (9)
      • Cloud (25)
        • AWS (2)
        • GCP (3)
        • Docker (4)
        • Kubernetes (14)
        • IaC (2)
      • NGINX (1)
      • DevOps (3)
      • Computer Science (17)
        • Data Structure (0)
        • Algorithms (1)
        • Operating System (3)
        • Network (11)
        • Database System (2)
      • Coding Test (85)
        • Algorithms (77)
        • SQL (7)
      • ETC (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 공지사항

  • 링크

    • Lucy's Instagram
    • Lucy's GitHub
  • 인기 글

  • 태그

    리눅스마스터
    Baekjoon
    network
    bfs
    백준
    프로그래머스
    리눅스
    쉘 스크립트
    자바
    Shell Script
    도커
    코딩테스트 공부
    티스토리챌린지
    docker
    셸 스크립트
    너비우선탐색
    네트워크 기초 지식
    네트워크
    오블완
    Shell
    programmers
    K8s
    cs 기초 지식 정리
    Kubernetes
    dfs
    쿠버네티스
    다이나믹 프로그래밍
    리눅스마스터 2급
    Java
    Linux
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
The Engineer, Lucy
[k8s] helm으로 Grafana와 Prometheus 설치하기
상단으로

티스토리툴바