본문 바로가기
ops/kubernetes

워커노드에 node exporter 설치하기

by seohan1010 2026. 1. 11.

방법1.

-워커노드마다 prometheus node exporter를 설치
-> 단점 
: 워커 노드수가 늘어나면 새로 추가된 워커노드에 수동 설치를 
  진행해야함 
-> 장점 
: 쿠버네티스 클러스터가 정상 작동 여부와 상관없이 노드의 
  메트릭을 수집할수 있음


방법2.

-kubernetes 클러스터에 daemonsets으로 설치 
-> 단점 
: 쿠버네티스가 정상작동하지 않을시 메트릭을 수집하는데 
  어려움이 있을수 있음 
-> 장점 
: 신규 워커노드 추가시 자동으로 node exporter가 실행 
: 버전업/설정변경/재배포가 쿠버네티스 리소스 변경으로 끝남 
: taint/toleration, nodeSelector로 원하는 노드만 실행 가능 
: pod 로그/상태로 장애 확인에 용이함



유지보수의 용이성을 위해 방법2로 진행 

helm 설치 및 설정 

#helm 설치 (설치 필요시)
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

helm version

#helm repo 추가 
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts

helm repo update

#namespace 생성 
kubectl create namespace monitoring

#helm 프로메테우스 설치 (prometheus, alertmanager, grafana, node-exporter 모두 포함)
helm install kube-prometheus-stack prometheus-community/kube-prometheus-stack \ 
-n monitoring

#설치확인 
kubectl get pods -n monitoring


grafana 및 prometheus 확인 

#grafana 비밀번호 확인 
 kubectl --namespace monitoring get secrets \ 
 kube-prometheus-stack-grafana -o jsonpath="{.data.admin-password}"  \ 
 | base64 -d ; echo
 
#포트포워딩으로 그라파나 접속 (초기 id: admin)
kubectl port-forward svc/kube-prometheus-stacgrafana 3001:8090 -n monitoring

#포트포워딩으로 프로메테우스 접속 (9090포트로 포워딩)
kubectl port-forward svc/kube-prometheus-stack-prometheus 9090 -n monitoring