#1. 프로메테우스-스택에 포함된 그라파나 대시보드 사용
- 헬름 프로메테우스-스택으로 프로메테우스를 설치하면 헬름 차트에 이미 다양한 대시보드가 포함돼 있다.
- 전반적인 k8s 클러스터 현황 정보, 노드와 파드의 상세한 자원 사용량, k8s 주요 구성 요소(apiserver, scheduler, kubelet) 현황 대시보드 등을 제공한다.
01. 그라파나의 기본 사용법
[spkr@ubun20-01 ~ (⎈|ubun01:monitoring)]$ kgs
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
alertmanager-operated ClusterIP None <none> 9093/TCP,9094/TCP,9094/UDP 4d21h app.kubernetes.io/name=alertmanager
**prometheus-grafana** **LoadBalancer** 10.233.33.147 **192.168.119.151** 80:30173/TCP 4d21h app.kubernetes.io/instance=prometheus,app.kubernetes.io/name=grafana
prometheus-kube-prometheus-alertmanager ClusterIP 10.233.37.149 <none> 9093/TCP,8080/TCP 4d21h alertmanager=prometheus-kube-prometheus-alertmanager,app.kubernetes.io/name=alertmanager
prometheus-kube-prometheus-operator ClusterIP 10.233.34.231 <none> 443/TCP 4d21h app=kube-prometheus-stack-operator,release=prometheus
prometheus-kube-prometheus-prometheus NodePort 10.233.31.130 <none> 9090:30090/TCP,8080:31734/TCP 4d21h app.kubernetes.io/name=prometheus,operator.prometheus.io/name=prometheus-kube-prometheus-prometheus
prometheus-kube-state-metrics ClusterIP 10.233.6.21 <none> 8080/TCP 4d21h app.kubernetes.io/instance=prometheus,app.kubernetes.io/name=kube-state-metrics
prometheus-operated ClusterIP None <none> 9090/TCP 4d21h app.kubernetes.io/name=prometheus
prometheus-prometheus-node-exporter ClusterIP 10.233.26.92 <none> 9100/TCP 4d21h app.kubernetes.io/instance=prometheus,app.kubernetes.io/name=prometheus-node-exporter
[spkr@ubun20-01 ~ (⎈|ubun01:monitoring)]$ k get secrets prometheus-grafana -o yaml
apiVersion: v1
data:
admin-password: **cHJvbS1vcGVyYXRvcg==**
admin-user: YWRtaW4=
ldap-toml: ""
kind: Secret
metadata:
annotations:
[spkr@ubun20-01 ~ (⎈|ubun01:monitoring)]$ echo -n "cHJvbS1vcGVyYXRvcg==" |base64 --decode
**prom-operator**
- 계정: admin/prom-operator
- [Data Source]: 프로메테우스-스택 헬름 차트는 데이터 소스 설정을 이미 포함하고 있어 그라파나가 자동으로 프로메테우스를 데이터 소스로 추가한다.
prom-operator[spkr@ubun20-01 ~ (⎈|ubun01:monitoring)]$ k get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
alertmanager-operated ClusterIP None <none> 9093/TCP,9094/TCP,9094/UDP 4d21h
prometheus-grafana LoadBalancer 10.233.33.147 192.168.119.151 80:30173/TCP 4d21h
**prometheus-kube-prometheus-alertmanager** ClusterIP 10.233.37.149 <none> **9093/TCP,8080**/TCP 4d21h
prometheus-kube-prometheus-operator ClusterIP 10.233.34.231 <none> 443/TCP 4d21h
**prometheus-kube-prometheus-prometheus** NodePort 10.233.31.130 <none> **9090:30090**/TCP,8080:31734/TCP 4d21h
prometheus-kube-state-metrics ClusterIP 10.233.6.21 <none> 8080/TCP 4d21h
prometheus-operated ClusterIP None <none> 9090/TCP 4d21h
prometheus-prometheus-node-exporter ClusterIP 10.233.26.92 <none> 9100/TCP 4d21h


- 대시보드?
- 현재 서비스 현황을 빠르게 파악할 수 있고 장애에 빠르게 대처할 정보가 필요


- Kubernetes / Compute Resources / Cluster
- 클러스터 전반의 CPU, 메모리, 네트워크, 스토리지 사원 사용량 파악
- 장애 상황 시 CPU, 메모리, 디스크 용량 부족인 경우가 많은데 이를 빠르게 확인
- 노드 증설에 필요한 자원 사용량 근거도 오래전 날짜부터 사용량 패턴 변화 확인
- Node Exporter / USE Method / Cluster
02. 그라나파 공식 홈페이지의 템플릿 대시보드 추가




- kube-state-metrics-v2 대시보드
- 클러스터, 노드, 네임스페이스 선택 및, 특정 클러스터 노드, 네임스페이스별 사용 현황 파악
- 클러스터 전반의 POD 수량, CPU/메모리 할당 가용 용량 대비 요청량(Requests) 등을 그래프로 확인
- 노드, 워크로드(Deploy, Statefulset) 파드 등 개별 리소스에 대한 현황 및 에러 정보를 확인
- 유용한 정보로서 전체 클러스터 현황을 파악하거나 장애 상황이 발생했을 때 이전 히스토리 파악하는데 사용