방법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'ops > kubernetes' 카테고리의 다른 글
| 워커노드의 disk-usage에 따라 alert발생 시키기 - 1(쿼리문) (0) | 2026.01.12 |
|---|---|
| ingress로 traefik 설정하기 (0) | 2026.01.12 |
| nodeSelector vs nodeName vs nodeAffinity (0) | 2026.01.07 |
| kubectl명령어 결과에서 헤더 제외하고 출력하기 (0) | 2026.01.07 |
| 리소스 정의파일에서 configmap 사용하기 (0) | 2026.01.07 |