๋ชฉ์ฐจ
ย Monitoring Solution
ํด๋ฌ์คํฐ์ ์๋ ๋
ธ๋์ ์, healty ๋
ธ๋์ ์, CPU, ๋ฉ๋ชจ๋ฆฌ, ๋คํธ์ํฌ, ๋์คํฌ ์ฌ์ฉ๋๊ณผ ๊ฐ์ ๋
ธ๋ ๋ ๋ฒจ์์์ ์ฑ๋ฅ ๋ฉํธ๋ฆญ์ ๋ชจ๋ํฐ๋ง ํ๊ณ , ํ๋์ ์์ ๊ฐ ํ๋์ ์ฑ๋ฅ ๋ฉํธ๋ฆญ, CPU ๋ฐ ๋ฉ๋ชจ๋ฆฌ ๋ฑ์ ํ๋ ๋ ๋ฒจ ๋ฉํธ๋ฆญ์ ๋ชจ๋ํฐ๋งํ๊ธฐ ์ํด์๋ Monitoring Solution์ด ํ์ํ๋ค. ํ์ง๋ง 2018๋
10์ ๊ธฐ์ค ์ฟ ๋ฒ๋คํฐ์ค์๋ ์์ ํ ๊ธฐ๋ฅ์ ๊ฐ์ถ ๋ด์ฅ(full-featured build-in) ๋ชจ๋ํฐ๋ง ์๋ฃจ์
์ ์ ๊ณตํ์ง ์๋๋ค. ๋ชจ๋ํฐ๋ง์ ํ๊ธฐ ์ํด์๋ Metrics Server, Prometheus, Elastic Stack ๋ฑ ์คํ์์ค ์๋ฃจ์
์ ํ์ฉํด์ผ ํ๋ค.
ย Heapster
์ฟ ๋ฒ๋คํฐ์ค์ feature๋ค์ ๋ชจ๋ํฐ๋งํ๊ณ , ๋ถ์ํ๊ธฐ ์ํ ํ๋ก์ ํธ๋ก, ๋ง์ ๋ ํผ๋ฐ์ค๋ค์ด ์กด์ฌํ์ง๋ง ํ์ฌ๋ ์ฌ์ฉํ ์ ์๋ค
ย Metrics Server
Heapster๊ฐ ์ฌ๋ผ์ง๊ณ (deprecated) ๊ฐ์ํ๋ ๋ฒ์ ์ผ๋ก Metrics Server๊ฐ ๋ง๋ค์ด์ก๋ค
โข
์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ ๋น ํ๋์ Metrics Server๋ฅผ ๊ฐ์ง ์ ์์
โข
๊ฐ ๋
ธ๋์ ํ๋์์ ๋ฉํธ๋ฆญ ์ ๋ณด๋ฅผ ์์งํ๊ณ , ์ด๋ฅผ ์ง๊ณํด ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ
โข
์ค์ง ๋ฉ๋ชจ๋ฆฌ ๋ด์์ ์๋ํ๋(in-memory) ๋ชจ๋ํฐ๋ง ์๋ฃจ์
์ด๋ฉฐ, ๋ฉํธ๋ฆญ์ ๋์คํฌ์ ์ ์ฅํ์ง ์์
โฆ
๋ฐ๋ผ์ ๊ณผ๊ฑฐ ์ฑ๋ฅ ๋ฐ์ดํฐ๋ฅผ ํ์ธํ ์ ์์
โฆ
๊ณผ๊ฑฐ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ธฐ ์ํด์๋ ๋ค๋ฅธ ์คํ์์ค ์๋ฃจ์
์ ์ฌ์ฉํด์ผ ํจ
How to Generate Metrics for Pods
โข
๊ฐ ๋
ธ๋์๋ kube-apiserver๋ก๋ถํฐ ์ง์๋ฅผ ๋ฐ๊ณ Pod๋ฅผ ์คํํ๋ ์ญํ ์ ํ๋ kublet์ด ์กด์ฌ
โข
kublet์ cAdvisor(Container Advisor)๋ผ๋ ํ์ ๊ตฌ์ฑ์์๋ฅผ ํฌํจ
โข
cAdvisor๋ ํ๋์ ์ฑ๋ฅ ๋ฉํธ๋ฆญ์ ์์งํ๊ณ , ์ด๋ฅผ kubelet API๋ฅผ ํตํด ๋
ธ์ถํ์ฌ Metrics Server์์ ์ฌ์ฉํ ์ ์๊ฒ ํจ
Getting Started
# Metrics Server ๋ฐฐํฌ ํ์ผ ๋ณต์
git clone https://github.com/kubernetes-incubator/metrics-server.git
# ํ์ ๊ตฌ์ฑ ์์ ๋ฐฐํฌ(Pod, Service, Role)
kubectl create -f deploy/1.8+
# CPU, Memory ์ฌ์ฉ๋ ํ์ธ
kubectl top node
kubectl top pod
Bash
๋ณต์ฌ