1. 개요
최근 미니PC를 활용해 쿠버네티스(Kubernetes) 환경을 구축하고, 실제로 서비스하지는 않지만 운영용으로 만든 family-photo-service를 운영 하기위해 띄웠습니다. 하지만 혼자서 서비스만 겨우 띄우고 실행하는 것을 제외한 무엇을 해야할 지, 그리고 단순히 파드(Pod)가 떠 있는 것만으로는 실제 운영 환경이라고 하기 어렵습니다.
시스템 리소스를 실시간으로 파악하고 장애에 대응하기 위해 가장 대중적인 모니터링 툴인 Prometheus와 Grafana를 구축해 봤습니다.
아래 이미지는 파드(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

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 |
