[k8s] kube-prometheus-stack

kube-prometheus-stack์€ k8s ํด๋Ÿฌ์Šคํ„ฐ์—์„œ Grafana+Prometheus ๊ธฐ๋ฐ˜์˜ ๋ฆฌ์†Œ์Šค ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์‰ฝ๊ฒŒ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์ˆ์ปท ํŒจํ‚ค์ง€๋‹ค.

์–ด๋–ค ๋…ธ๋“œ์—์„œ ์–ผ๋งˆ๋‚˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์“ฐ๋Š”์ง€, Pod๋“ค์ด ๋ฆฌ์†Œ์Šค๋ฅผ ์–ผ๋งˆ๋‚˜ ๋จน๊ณ ์žˆ๋Š”์ง€ ๋“ฑ์„ ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.

helm์„ ํ†ตํ•ด ๊ฐ„ํŽธํ•˜๊ฒŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm install prometheus prometheus-community/kube-prometheus-stack

์„ค์น˜ํ•˜๊ณ  ๋‚˜๋ฉด, ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•ด์„œ ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰์ด ๋˜๋Š”์ง€๋ฅผ ๋จผ์ € ํ™•์ธํ•ด๋ณด์ž.

kubectl --namespace default get pods -l "release=prometheus"

๋‹ค Running์ด๋ฉด ์ •์ƒ์ด๋‹ค.

์ด์ œ Grafana ๋Œ€์‹œ๋ณด๋“œ์— ๋Œ€ํ•œ ์—”๋“œํฌ์ธํŠธ๋ฅผ ๋šซ์–ด์•ผ ํ•œ๋‹ค. ์˜จํ”„๋ ˆ๋ฏธ์Šค ํ™˜๊ฒฝ์ธ ๊ฒฝ์šฐ์—๋Š” ์ ๋‹นํžˆ ์™ธ๋ถ€IP ์—ด๋ฉด ๋˜๊ณ , ํด๋ผ์šฐ๋“œ๋ผ๋ฉด ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ฅผ ์“ฐ๋ฉด ๋œ๋‹ค.

kubectl patch svc prometheus-grafana --type=json -p='[{"op": "replace", "path": "/spec/ports", "value": [{"name":"default", "port":28080, "targetPort": 3000, "protocol": "TCP"}]}]'
kubectl patch svc prometheus-grafana -p '{"spec": {"type":"ClusterIP", "externalIPs": ["192.168.0.8"]}}'



๋Œ€์‹œ๋ณด๋“œ ์ ‘์†

๋ฐฉ๊ธˆ ์—ด์–ด๋†“์€ Grafana ๋Œ€์‹œ๋ณด๋“œ Serive์˜ IP๋กœ ๋“ค์–ด๊ฐ€๋ฉด ๋กœ๊ทธ์ธ์ฐฝ๋ถ€ํ„ฐ ๋œฐ ๊ฒƒ์ด๋‹ค.

๊ธฐ๋ณธ ๊ด€๋ฆฌ์ž username์€ admin์ธ๋ฐ, ํŒจ์Šค์›Œ๋“œ๋Š” ๋žœ๋ค์ด๋ผ์„œ ์‹œํฌ๋ฆฟ์„ ํ†ตํ•ด ์ฝ์–ด์™€์•ผ ํ•œ๋‹ค.

kubectl --namespace default get secrets prometheus-grafana -o jsonpath="{.data.admin-password}" | base64 -d ; echo

์ด๊ฑธ ํŒจ์Šค์›Œ๋“œ๋กœ ๋„ฃ๊ณ  ๋กœ๊ทธ์ธํ•˜๋ฉด ๋œ๋‹ค.


๊ทธ๋Ÿผ ์œ„์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ๋Œ€์‹œ๋ณด๋“œ๋“ค์ด ๊น”๋ ค์žˆ์„ ๊ฒƒ์ด๋‹ค.
์ด๊ฒŒ ๋‹ค ๋‚ด๋ถ€์ ์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ ์ •๋ณด๋ฅผ ๊ณ„์† ์ฝ์œผ๋ฉด์„œ prometheus์— ๋ฉ”ํŠธ๋ฆญ์„ ์Œ“๊ณ , ๊ทธ๊ฑธ ์‹œ๊ฐํ™”ํ•ด์ฃผ๋Š” ๊ฒƒ๋“ค์ด๋‹ค.
๋ณด๊ณ ์‹ถ์€ ๊ฒƒ๋งŒ ๊ณจ๋ผ์„œ ๋ณด๋ฉด ๋œ๋‹ค.


์ด๊ฑด ํด๋Ÿฌ์Šคํ„ฐ ์ „์ฒด์˜ ์‚ฌ์šฉ๋Ÿ‰ ํ†ต๊ณ„๊ณ 


CoreDNS ์ˆ˜์ค€ ํŠธ๋ž˜ํ”ฝ ํ†ต๊ณ„


๋…ธ๋“œ๋“ค์ด ๋ฆฌ์†Œ์Šค๋ฅผ ์–ผ๋งˆ๋‚˜ ์“ฐ๊ณ  ์žˆ๋Š”์ง€


์ด๊ฑด ๊ฐœ๋ณ„ Pod์— ๋Œ€ํ•œ ํ†ต๊ณ„๋‹ค.

์„ฑ๋Šฅ์ด๋‚˜ ์‚ฌ์šฉ๋Ÿ‰ ์กฐ์‚ฌ ์ง€ํ‘œ๋กœ ํ™œ์šฉํ•˜๋ฉด ๋œ๋‹ค.



์ฐธ์กฐ
https://leehosu.github.io/kube-prometheus-stack
https://artifacthub.io/packages/helm/prometheus-community/kube-prometheus-stack