์ ๋ Prometheus ์์ถ์ ์ฒด์ธ Kube Eagle์ ๋ง๋ค์์ต๋๋ค. ์ค์ ๊ท๋ชจ ํด๋ฌ์คํฐ์ ์์์ ๋ ์ ์ดํดํ๋ ๋ฐ ๋์์ด ๋๋ ๋ฉ์ง ์ผ์ด์์ต๋๋ค. ๊ฒฐ๊ตญ ์ฌ๋ฐ๋ฅธ ๋จธ์ ์ ํ์ ์ ํํ๊ณ ์ํฌ๋ก๋์ ๋ํ ์ ํ๋ฆฌ์ผ์ด์ ๋ฆฌ์์ค ์ ํ์ ๊ตฌ์ฑํ๊ธฐ ๋๋ฌธ์ ์๋ฐฑ ๋ฌ๋ฌ๋ฅผ ์ ์ฝํ์ต๋๋ค.
์ฅ์ ์ ์๋ ค๋๋ฆด๊ฒ์
์ ๋ 4~50๊ฐ ๋ ธ๋๋ก ๊ตฌ์ฑ๋ ์ฌ๋ฌ ํด๋ฌ์คํฐ๋ฅผ ๊ด๋ฆฌํ์ต๋๋ค. ๊ฐ ํด๋ฌ์คํฐ์๋ ์ต๋ 200๊ฐ์ ๋ง์ดํฌ๋ก์๋น์ค์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ํฌํจ๋ฉ๋๋ค. ๊ธฐ์กด ํ๋์จ์ด๋ฅผ ๋ ์ ํ์ฉํ๊ธฐ ์ํด ๋๋ถ๋ถ์ ๋ฐฐํฌ๋ ๋ฒ์คํธ ๊ฐ๋ฅํ RAM ๋ฐ CPU ๋ฆฌ์์ค๋ก ๊ตฌ์ฑ๋์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํฌ๋๋ ํ์ํ ๊ฒฝ์ฐ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ๋์์ ์ด ๋ ธ๋์ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฉํดํ์ง ์์ต๋๋ค. ๊ธ์์, ์ข์ง ์๋์?
ํด๋ฌ์คํฐ๊ฐ ์๋์ ์ผ๋ก ์ ์ CPU(8%)์ RAM(40%)์ ์๋นํ์์๋ ๋ถ๊ตฌํ๊ณ ํฌ๋๊ฐ ๋ ธ๋์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒ๋ณด๋ค ๋ ๋ง์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๋ ค๊ณ ํ๋ฉด ํฌ๋๊ฐ ์ ์ ๋๋ ๋ฌธ์ ๊ฐ ์ง์์ ์ผ๋ก ๋ฐ์ํ์ต๋๋ค. ๋น์์๋ Kubernetes ๋ฆฌ์์ค๋ฅผ ๋ชจ๋ํฐ๋งํ๊ธฐ ์ํ ๋์๋ณด๋๊ฐ โโํ๋๋ฟ์ด์์ต๋๋ค. ์ด์ ๊ฐ์ด:
cAdvisor ์ธก์ ํญ๋ชฉ๋ง ํฌํจ๋ Grafana ๋์๋ณด๋
์ด๋ฐ ํจ๋์ ์ฌ์ฉํ๋ฉด ๋ฉ๋ชจ๋ฆฌ์ CPU๋ฅผ ๋ง์ด ๋จน๋ ๋ ธ๋๋ฅผ ๋ณด๋ ๊ฒ์ ๋ฌธ์ ๊ฐ ๋์ง ์์ต๋๋ค. ๋ฌธ์ ๋ ๊ทธ ์ด์ ๊ฐ ๋ฌด์์ธ์ง ์์๋ด๋ ๊ฒ์ด๋ค. Pod๋ฅผ ์ ์๋ฆฌ์ ์ ์งํ๋ ค๋ฉด ๋ฌผ๋ก ๋ชจ๋ Pod์ ๋ณด์ฅ๋ ๋ฆฌ์์ค๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค(์์ฒญ๋ ๋ฆฌ์์ค๊ฐ ํ๋์ ๋์ผํจ). ๊ทธ๋ฌ๋ ์ด๊ฒ์ด ํ๋์จ์ด๋ฅผ ๊ฐ์ฅ ํ๋ช ํ๊ฒ ์ฌ์ฉํ๋ ๊ฒ์ ์๋๋๋ค. ํด๋ฌ์คํฐ์๋ ์๋ฐฑ ๊ธฐ๊ฐ๋ฐ์ดํธ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์์์ง๋ง ์ผ๋ถ ๋ ธ๋๋ ๋ถ์กฑํ๊ณ ๋ค๋ฅธ ๋ ธ๋์๋ 4~10GB์ ์๋น ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋จ์ ์์์ต๋๋ค.
Kubernetes ์ค์ผ์ค๋ฌ๋ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฆฌ์์ค ์ ์ฒด์ ์ํฌ๋ก๋๋ฅผ ๊ณ ๋ฅด์ง ์๊ฒ ๋ถ์ฐํ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. Kubernetes ์ค์ผ์ค๋ฌ๋ ์ ํธ๋, ์ค์ผ ๋ฐ ํ์ฉ ๊ท์น, ์ฌ์ฉ ๊ฐ๋ฅํ ๋ ธ๋๋ฅผ ์ ํํ ์ ์๋ ๋ ธ๋ ์ ํ๊ธฐ ๋ฑ ๋ค์ํ ๊ตฌ์ฑ์ ๊ณ ๋ คํฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ ๊ฒฝ์ฐ์๋ ๊ทธ๋ฐ ๊ฒ ์์๊ณ , ๊ฐ ๋ ธ๋์์ ์์ฒญํ ๋ฆฌ์์ค์ ๋ฐ๋ผ ํฌ๋๋ฅผ ๊ณํํ์ต๋๋ค.
์ฌ์ฉ ๊ฐ๋ฅํ ๋ฆฌ์์ค๊ฐ ๊ฐ์ฅ ๋ง๊ณ ์์ฒญ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ ธ๋๊ฐ Pod๋ก ์ ํ๋์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ ธ๋์์ ์์ฒญํ ๋ฆฌ์์ค๊ฐ ์ค์ ์ฌ์ฉ๋๊ณผ ์ผ์นํ์ง ์๋๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ผ๋ฉฐ, Kube Eagle๊ณผ ๋ฆฌ์์ค ๋ชจ๋ํฐ๋ง ๊ธฐ๋ฅ์ด ์ด๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
๊ฑฐ์ ๋ชจ๋ Kubernetes ํด๋ฌ์คํฐ๋ฅผ ๋ค์์ผ๋ก๋ง ๋ชจ๋ํฐ๋งํ์ต๋๋ค.
Grafana์ ์์ฒญ ๋ฐ ์ ํ ์งํ์ ์ฌ์ฉ๋ ์งํ๋ฅผ ๊ฒฐํฉํด์ผ ๋ฌธ์ ์ ๋ํ ๋ชจ๋ ์ ๋ณด๋ฅผ ์ป์ ์ ์์ต๋๋ค. ๊ฐ๋จํด ๋ณด์ด์ง๋ง ๋ ๋๊ตฌ๋ ์ค์ ๋ก ๋ผ๋ฒจ ์ด๋ฆ์ ๋ค๋ฅด๊ฒ ์ง์ ํ๋ฉฐ ์ผ๋ถ ์ธก์ ํญ๋ชฉ์๋ ๋ฉํ๋ฐ์ดํฐ ๋ผ๋ฒจ์ด ์ ํ ์์ต๋๋ค. Kube Eagle์ ๋ชจ๋ ์์ ์ ์์ฒด์ ์ผ๋ก ์ํํ๋ฉฐ ํจ๋์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฐ๋ฆฌ๋ ์์๊ณผ ๊ด๋ จ๋ ๋ง์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์ฅ๋น๋ฅผ ์ ์ฝํ์ต๋๋ค.
- ์ผ๋ถ ๊ฐ๋ฐ์๋ ๋ง์ดํฌ๋ก์๋น์ค์ ์ผ๋ง๋ ๋ง์ ๋ฆฌ์์ค๊ฐ ํ์ํ์ง ๋ชฐ๋์ต๋๋ค(๋๋ ๋จ์ํ ์ ๊ฒฝ ์ฐ์ง ์์์ต๋๋ค). ๋ฆฌ์์ค์ ๋ํ ์๋ชป๋ ์์ฒญ์ ์ฐพ์ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์์ต๋๋ค. ์ด๋ฅผ ์ํด์๋ ์๋น์ ์์ฒญ ๋ฐ ํ๋๋ฅผ ์์์ผ ํฉ๋๋ค. ์ด์ ๊ทธ๋ค์ Prometheus ์งํ๋ฅผ ๋ณด๊ณ , ์ค์ ์ฌ์ฉ๋์ ๋ชจ๋ํฐ๋งํ๊ณ , ์์ฒญ๊ณผ ํ๋๋ฅผ ์กฐ์ ํฉ๋๋ค.
- JVM ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฒ๋ฆฌํ ์ ์๋ ๋งํผ์ RAM์ ์ฌ์ฉํฉ๋๋ค. ๊ฐ๋น์ง ์์ง๊ธฐ๋ 75% ์ด์ ์ฌ์ฉ๋ ๋๋ง ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋ถ๋ถ์ ์๋น์ค์๋ ๋ฒ์คํธ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์์ผ๋ฏ๋ก ํญ์ JVM์ด ์ด๋ฅผ ์ ์ ํ์ต๋๋ค. ๋ฐ๋ผ์ ์ด๋ฌํ ๋ชจ๋ Java ์๋น์ค๋ ์์๋ณด๋ค ํจ์ฌ ๋ง์ RAM์ ์๋ชจํ์ต๋๋ค.
- ์ผ๋ถ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ฌด ๋ง์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์์ฒญํ์ผ๋ฉฐ Kubernetes ์ค์ผ์ค๋ฌ๋ ์ค์ ๋ก ๋ค๋ฅธ ๋ ธ๋๋ณด๋ค ๋ ์์ ๋ก์ด ๋ ธ๋์๋ ๋ถ๊ตฌํ๊ณ ์ด๋ฌํ ๋ ธ๋๋ฅผ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๊ณตํ์ง ์์์ต๋๋ค. ํ ๊ฐ๋ฐ์๋ ์ค์๋ก ์์ฒญ์ ์ซ์ ํ๋๋ฅผ ๋ ์ถ๊ฐํ์ฌ 20GB ๋์ 2GB๋ผ๋ ํฐ RAM์ ํ๋ณดํ์ต๋๋ค. ์๋ฌด๋ ๋์น์ฑ์ง ๋ชปํ์ต๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์๋ 3๊ฐ์ ๋ณต์ ๋ณธ์ด ์์ผ๋ฏ๋ก ์ต๋ 3๊ฐ์ ๋ ธ๋๊ฐ ์ํฅ์ ๋ฐ์์ต๋๋ค.
- ๋ฆฌ์์ค ์ ํ์ ๋์ ํ๊ณ ์ฌ๋ฐ๋ฅธ ์์ฒญ์ผ๋ก ํฌ๋ ์ผ์ ์ ๋ณ๊ฒฝํ์ผ๋ฉฐ ๋ชจ๋ ๋ ธ๋์์ ํ๋์จ์ด ์ฌ์ฉ๋์ ์ด์์ ์ธ ๊ท ํ์ ์ป์์ต๋๋ค. ๋ ๊ฐ์ ๋ ธ๋๊ฐ ์์ ํ ๋ซํ์ ์๋ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋์ ์ฐ๋ฆฌ๋ ์๋ชป๋ ๋จธ์ (๋ฉ๋ชจ๋ฆฌ ์งํฅ์ด ์๋ CPU ์งํฅ)์ ๊ฐ์ง๊ณ ์๋ค๋ ๊ฒ์ ์๊ฒ ๋์์ต๋๋ค. ์ ํ์ ๋ณ๊ฒฝํ๊ณ ๋ ธ๋๋ฅผ ๋ช ๊ฐ ๋ ์ญ์ ํ์ต๋๋ค.
๊ฒฐ๊ณผ
ํด๋ฌ์คํฐ์ ๋ฒ์คํธ ๊ฐ๋ฅํ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ ๊ฐ๋ฅํ ํ๋์จ์ด๋ฅผ ๋ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ง๋ง Kubernetes ์ค์ผ์ค๋ฌ๋ ๋ฆฌ์์ค ์์ฒญ์ ๋ฐ๋ผ Pod๋ฅผ ์์ฝํ๋ฏ๋ก ์ด๋ ๋ฌธ์ ๊ฐ ๋ฉ๋๋ค. ์ผ์์ด์กฐ๋ฅผ ์ด๋ฃจ๋ ค๋ฉด ๋ฌธ์ ๋ฅผ ํผํ๊ณ ์์์ ์ต๋ํ ํ์ฉํ๋ ค๋ฉด ์ข์ ๋ชจ๋ํฐ๋ง์ด ํ์ํฉ๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ ์ฉํ ๊ฒ์
๋๋ค.
์ถ์ฒ : habr.com