[Kubernetes] 미니PC에 Prometheus + Grafana 모니터링 구축하기 (Helm 사용)

2026. 1. 1. 18:51·OS/Kubernetes

1. 개요

최근 미니PC를 활용해 쿠버네티스(Kubernetes) 환경을 구축하고, 실제로 서비스하지는 않지만 운영용으로 만든 family-photo-service를 운영 하기위해 띄웠습니다. 하지만 혼자서 서비스만 겨우 띄우고 실행하는 것을 제외한 무엇을 해야할 지, 그리고 단순히 파드(Pod)가 떠 있는 것만으로는 실제 운영 환경이라고 하기 어렵습니다.

시스템 리소스를 실시간으로 파악하고 장애에 대응하기 위해 가장 대중적인 모니터링 툴인 Prometheus와 Grafana를 구축해 봤습니다.

아래 이미지는 파드(Pod)만 띄워놓은 이미지 입니다.

서비스 Pod

 

2. 구축 환경

  • OS : Ubuntu (Mini PC)
  • Platform : Kubernetes
  • Tool : Helm (Kubernetes용 패키지 매니저)

 

3. 구축 단계

1) Helm 설치 및 레포지토리 추가

K8s 앱 설치를 자동화하기 위해 Helm을 설치하고, Prometheus 레포지토리를 추가합니다.

# Helm 설치
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

# 레포지토리 추가 및 업데이트
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update

 

설치 화면

 

2) 모니터링 스택 설치

kube-prometheus-stack은 프로메테우스, 그라파나, 노드 익스포터 등을 한 번에 묶어놓은 표준 스택입니다. 관리의 편의를 위해 별도의 monitoring 네임스페이스에 설치했습니다. 설치 후 테스트를 위한 명령어를 입력해 줍니다.

 

kubectl create namespace monitoring

# Grafana 초기 비밀번호를 'admin'으로 설정하여 설치
helm install prometheus-stack prometheus-community/kube-prometheus-stack \
  --namespace monitoring \
  --set grafana.adminPassword=admin

 

 

3) 설치 결과 명령어 확인

설치 후 모든 파드가 Running 상태가 될 때까지 기다립니다.

kubectl get pods -n monitoring

Running 상태 확인

 

4. Grafana 대시보드 접속

로컬 환경에서 외부 접속 설정을 하기 전이므로 포트 포워딩을 통해 우선 접속을 확인합니다.

kubectl port-forward -n monitoring svc/prometheus-stack-grafana 3000:80 --address 0.0.0.0

 

저는 미니PC를 사용하고 있기 때문에 브라우저에서 http://[미니PC_IP]:3000으로 접속하면 그라파나 로그인 화면이 나타납니다. (ID: admin / PW: admin)

설치 후 로그인 화면
초기 접속 화면

 

5. 마치며

현재 직접적으로 서버를 들어가 서비스들의 CPU와 메모리 점유율을 수동으로 봤다면, 이제는 CPU와 메모리 점유율을 그래프로 볼 수 있게 되었습니다.

이 전까지는 단순히 "파드를 띄웠다" 혹은 "파드를 띄웠는데 끝 아닌가"가 아닌 더 나아가 "지표를 보고 관리한다"는 운영의 관점으로 한 단계 나아간 기분이 듭니다.

 

이 후 목표는 이 모니터링 시스템을 이용해 특정 임계치가 넘었을 때 알람을 받는 Alertmanager 설정이나, 배포 자동화를 위한 ArgoCD 연동을 진행해 볼 예정입니다.

 

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

Kubernetes에서 Pod 재시작 전략  (0) 2025.08.27
kubectl 명령어 모음: 실무에서 꼭 쓰는 10가지  (0) 2025.07.18
쿠버네티스 ConfigMap 완전 정복: 설정 파일 관리 핵심 팁  (0) 2025.07.14
쿠버네티스란? 컨테이너 오케스트레이션의 핵심 이해하기  (0) 2025.07.12
Kubernetes에서 Pod랑 Node는 뭐가 다른 건가요?  (0) 2025.07.07
'OS/Kubernetes' 카테고리의 다른 글
  • Kubernetes에서 Pod 재시작 전략
  • kubectl 명령어 모음: 실무에서 꼭 쓰는 10가지
  • 쿠버네티스 ConfigMap 완전 정복: 설정 파일 관리 핵심 팁
  • 쿠버네티스란? 컨테이너 오케스트레이션의 핵심 이해하기
에블‘s
에블‘s
  • 에블‘s
    에블
    에블‘s
  • 전체
    오늘
    어제
    • 분류 전체보기 (127)
      • 이외 (16)
        • Git (5)
        • 임시 잡다함 (7)
        • IntelliJ (1)
        • 에러 모음 (2)
      • DataBase (2)
        • Mysql (1)
      • OS (33)
        • AWS (1)
        • Kubernetes (13)
        • Docker (6)
        • Linux (9)
        • DevOps (4)
      • Programing (39)
        • JAVA (24)
        • JSP (3)
        • Spring (7)
        • HTML (5)
      • 건강 & 생활 (18)
        • 여름 건강 (18)
      • 공부 · 자격증 (1)
      • 명언과 루틴 (3)
      • 부동산 or 주식 (8)
        • 부동산 (6)
        • 주식 (2)
      • 경제 (7)
  • 인기 글

  • 최근 글

  • 최근 댓글

  • 링크

    • 깃 허브 주소
  • 공지사항

  • 태그

    상속
    ubuntu
    IntelliJ
    개발환경
    클래스
    jsp
    MVC
    DevOps
    Docker
    쿠버네티스
    HTML
    spring
    엔지니어
    yaml
    spring-framwork
    kubernetes
    k8s
    인프라관리
    데브옵스
    java
  • hELLO· Designed By정상우.v4.10.3
에블‘s
[Kubernetes] 미니PC에 Prometheus + Grafana 모니터링 구축하기 (Helm 사용)
상단으로

티스토리툴바