๋ชจ๋ํฐ๋ง ์๋น์ค ํ๋ซํผ
Heapster, Metrics Service, ...
- ์ฟ ๋ฒ๋คํฐ์ค์ ๋ฉํธ๋ฆญ ์์ง ๋ชจ๋ํฐ๋ง ์ํคํ
์ฒ์์ ์ฝ์ด ๋ฉํธ๋ฆญ ํ์ดํ๋ผ์ธ ๊ฒฝ๋ํ
kubectl top node
kubectl top pod
https://kubernetes.io/ko/docs/tasks/debug/debug-cluster/resource-usage-monitoring/
๋ฆฌ์์ค ๋ชจ๋ํฐ๋ง ๋๊ตฌ
- ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ ๋ด์ ์ ํ๋ฆฌ์ผ์ด์
์ฑ๋ฅ ๊ฒ์ฌ
- ์ฟ ๋ฒ๋คํฐ์ค ๊ฐ ๋ ๋ฒจ์์ ์ ํ๋ฆฌ์ผ์ด์
๋ฆฌ์์ค ์ฌ์ฉ๋ ์์ธ ์ ๋ณด ์ ๊ณต
- ์ ํ๋ฆฌ์ผ์ด์
์ ์ฑ๋ฅ์ ํ๊ฐํ๊ณ ๋ณ๋ชฉ ํ์์ ์ ๊ฑฐํ์ฌ ์ ์ฒด ์ฑ๋ฅ์ ํฅ์ํ ์ ์๊ฒ ํด์ค๋ค.
๋ฆฌ์์ค ๋ฉํธ๋ฆญ ํ์ดํ๋ผ์ธ
- HPA ์ปจํธ๋กค๋ฌ์ ๊ฐ์ ํด๋ฌ์คํฐ ๊ตฌ์ฑ ์์๋ kubectl top ์ ํธ๋ฆฌํฐ์ ๊ด๋ จ๋ ๋ฉํธ๋ฆญ๋ค๋ก ์ ํ๋ ์งํฉ์ ์ ๊ณต
- ์ด ๋ฉํธ๋ฆญ์ ๋จ๊ธฐ ์ธ ๋ฉ๋ชจ๋ฆฌ ์ ์ฅ์์ธ metrics-server์ ์ํด ์์ง
- metrics.k8s.io API๋ฅผ ํตํด ๋
ธ์ถ๋จ
- metrics-server๋ ํด๋ฌ์คํฐ ์์ ๋ชจ๋ ๋
ธ๋๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๊ฐ ๋
ธ๋์ kubelet์ CPU์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ง์
- kubelet์ ์ฟ ๋ฒ๋คํฐ์ค ๋ง์คํฐ์ ๋
ธ๋ ๊ฐ์ ๋ค๋ฆฌ ์ญํ ์ ํตํด ํ๋์ ์ปจํ
์ด๋๋ฅผ ๊ด๋ฆฌ
- kubelet์ ์ปจํ
์ด๋ ๋ฐํ์์ ํตํด์ ์ฌ์ฉ๋ ํต๊ณ๋ฅผ ๊ฐ์ ธ์ด. ํต๊ณ์น๋ฅผ ํผ๋ธ๋ฆฌ์ฑํ์ง ์๋ ๊ฒฝ์ฐ, cAdvisor ์ฝ๋๋ฅผ ํตํด ์ง์ ์กฐํ
- /metrics/resource/v1beta1 API๋ฅผ ํตํด ๋
ธ์ถ
์์ ํ ๋ฉํธ๋ฆญ ํ์ดํ๋ผ์ธ
- ๋ณด๋ค ํ๋ถํ ๋ฉํธ๋ฆญ์ ์ ๊ทผ
- HPA์ ๊ฐ์ ๋ฉ์ปค๋์ฆ์ ํตํด ๋ฉํธ๋ฆญ์ ๋ํ ๋ฐ์์ผ๋ก, ํด๋ฌ์คํฐ์ ํ์ฌ์ํ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋์ผ๋ก ์ค์ผ์ผ๋ง/ ํด๋ฌ์คํฐ ์กฐ์
- ๋ชจ๋ํฐ๋ง ํ์ดํ๋ผ์ธ์ kubelet์์ ๋ฉํธ๋ฆญ์ ๊ฐ์ ธ์์
custom.metrics.k8s.io
์ external.metrics.k8s.io
API๋ฅผ ๊ตฌํํ ์ด๋ํฐ๋ฅผ ํตํด ๋
ธ์ถํจ.
Metrics-Server
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
or
git clone https://github.com/kubernetes-sigs/metrics-server
kubectl create -f metrics-server/deploy/kubernetes
์ต์ด์ kubectl top pod
๋ช
๋ น์ด ์๋จนํ
-> Metrics ์ค์น ํ tlsํต์ ์ด ๊ฐ๋ฅํ๋๋ก ์ต์
์ ๋ฐ๊ฟ์ผํจ.
-> CA, ๊ฐ์ธํค ํ์ (but configuration์ผ๋ก ๋ณ๊ฒฝ ๊ฐ๋ฅ)
configuration
https://github.com/kubernetes-sigs/metrics-server#configuration
kubectl edit deployments.apps -n kube-system metrics-server
--kubelet-insecure-tls : Kubelet์ ๋ํ๋ ์๋ CA ์ ๊ณต ์ธ์ฆ์๋ฅผ ์ฆ๋ช
ํ์ง ์๋๋ค. (ํ
์คํ
๋ชฉ์ ์ผ๋ก๋ง ์ฌ์ฉํ ๊ฒ)
--kubelet-preferred-address-typs : ํน์ ๋
ธ๋์ ์ฐ๊ฒฐํ๊ธฐ์ํ ์ฃผ์๋ฅผ ๊ฒฐ์ ํ ๋ ์ฌ์ฉํ๋ ๋
ธ๋ ์ฃผ์์ ํ์
์ฐ์ ์์ (default: Hostname, internalDNS, externalDNS, externalIP)
metrics-server ๋ํ๋ก์ด์ edit ๋ช
๋ น์ด๋ฅผ ํตํด์ spec.containers.args ํ๋์ ํด๋น ์ต์
์ ์ค๋ค