๋ฉ๋ชจ. ๋ฒ์ญ: ํ๋ก์ ํธ์ Kubernetes ์ ํธ๊ฐ์ ํจ๊ป
๊ทธ๋ (๋์ผํ ์ด๋ฆ์) ๋ฉ์ธ์ ๋ํด ์ด์ผ๊ธฐํฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก ํ๊ณ ์ถ์ ์ผ์ ๋ ธํธ๋ถ์์ Kubernetes๋ก ์์ ํ๋ ๊ฒ์ ๋๋ค. ํ์ผ๋ฟ์ ํ๋ก์ธ์์ ๋ฐฐํฐ๋ฆฌ๋ฅผ ์๋ชจํ๊ณ ์ฟจ๋ฌ๋ฅผ ์ฌ์ง ์๊ณ ๋๊ฒ ํ๋ฉฐ ์ ์ง ๊ด๋ฆฌ๊ฐ ์ด๋ ต์ต๋๋ค.
๊ฐ์กฐ๋ ํจ๊ณผ๋ฅผ ์ํ ํ
๋ง์ ์คํก ์ฌ์ง
Minikube, kind, k3s, Docker Desktop, microk8s ๋ฑ - ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์ต๋ํ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ํ๋ฅญํ ๋๊ตฌ๋ค ๋๋ถ์ ๊ฐ๋ฅํฉ๋๋ค. ์ง์งํ๊ฒ. ๊ทธ๋ฌ๋ ์ด๋ป๊ฒ ๋ณด๋ ๊ฐ์ ํ ๊ฐ์ง ๋ถ๋ช ํ ์ฌ์ค์ Kubernetes๊ฐ ๋ด ๋ ธํธ๋ถ์์ ์คํ๋๋๋ก ์ค๊ณ๋์ง ์์๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ธํธ๋ถ ์์ฒด๋ ๊ฐ์ ๋จธ์ ๊ณ์ธต์ ํฉ์ด์ ธ ์๋ ์ปจํ ์ด๋ ํด๋ฌ์คํฐ์ ํจ๊ป ์๋ํ๋๋ก ์ค๊ณ๋์ง ์์์ต๋๋ค. ๊ฐ์พ์ ๋์ ์ต์ ์ ๋คํ์ง๋ง ๋ถ๋ช ํ ๋ง์์ ๋ค์ง ์๋ ๋ชจ์์ด๋ค. ์ฟจ๋ฌ์ ์ธ๋ถ์ง๋ ์๋ฆฌ์ ๋ถ๋ง์ ๋๋ฌ๋ด๊ณ ๋ด๊ฐ ๋ฌด์์ ๋ฌด๋ฆ์ ๊ฟ์ ํ๋ฒ ์ง๋ฅผ ๋ถํ์ฐ๋ ค ํ๋ค.
์๋ฅผ ๋ค์ด ๋ ธํธ๋ถ - ๋ ธํธ๋ถ.
์ฝ 18๊ฐ์ ์ Garden ์์ ์ด๊ธฐ๋ถํฐ ์ฐ๋ฆฌ๋ ํ์ง์ ๋ถ์ฐ ์์คํ ์ ๊ฐ๋ฐ์ ์ผ์์ ์ธ ํด๊ฒฐ์ฑ ์ด๋ฏ๋ก Garden์ ๋ง์ ์ ์ฐ์ฑ๊ณผ ๊ฒฌ๊ณ ํ ๊ธฐ๋ฐ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
์ด์ ๋ก์ปฌ ๋ฐ ์๊ฒฉ Kubernetes ํ๊ฒฝ์ ๋ชจ๋ ์ง์ํ ์ค๋น๊ฐ ๋์์ต๋๋ค. ์์ ์ด ํจ์ฌ ์ฌ์์ก์ต๋๋ค. ์ด์ ์กฐ๋ฆฝ, ๋ฐฐํฌ ๋ฐ ํ ์คํธ๋ฅผ ์๊ฒฉ ํด๋ฌ์คํฐ์์ ์ํํ ์ ์์ต๋๋ค.
๊ฐ๋จํ ๋งํด์ :
Garden v0.10์ ์ฌ์ฉํ๋ฉด ๋ก์ปฌ Kubernetes ํด๋ฌ์คํฐ์ ๋ํด ์์ ํ ์๊ณ ์ฝ๋ ๋ณ๊ฒฝ์ ๋ํ ๋น ๋ฅธ ์๋ต์ ์ป์ ์ ์์ต๋๋ค. ์ด ๋ชจ๋ ๊ฒ์ ๋ฌด๋ฃ์ด๋ฉฐ ์คํ ์์ค์ ๋๋ค.
๋ก์ปฌ ๋ฐ ์๊ฒฉ ํ๊ฒฝ์์ ๋์ผํ ํธ๋ฆฌํจ์ ์ฆ๊ธฐ์ญ์์ค.
์ฃผ์๋ฅผ ๋์์ต๋๊น?
๋ ๋ง์ ํฅ๋ฏธ๋ก์ด ๊ธฐ๋ฅ์ด ์๊ธฐ ๋๋ฌธ์ ๊ธฐ์ฉ๋๋ค! ๊ฐ๋ฐ ํด๋ฌ์คํฐ์ ์ผ๋ฐ์ ์ธ ์ฌ์ฉ์ ํนํ ํ์ ํ ๋ฐ CI ํ์ดํ๋ผ์ธ์ ๋ํด ๋ ๊ด๋ฒ์ํ ์๋ฏธ๋ฅผ ๊ฐ์ต๋๋ค.
ะะฐะบ ัะฐะบ?
์ฐ์ ํด๋ฌ์คํฐ ๋ด ๋น๋(ํ์ค Docker ๋ฐ๋ชฌ ๋๋ Kaniko)์ ํด๋ฌ์คํฐ ๋ด ๋ ์ง์คํธ๋ฆฌ๊ฐ ๊ณต์ ๋ฉ๋๋ค. ์ ์ฒด ํด๋ฌ์คํฐ์ ๋ํด. ํ์ ๋ชจ๋ ๊ฐ๋ฐ์๊ฐ ์ฌ์ฉํ ์ ์๋ ๋น๋ ์บ์ ๋ฐ ์ด๋ฏธ์ง์ ํจ๊ป ๊ฐ๋ฐ ํด๋ฌ์คํฐ๋ฅผ ๊ณต์ ํ ์ ์์ต๋๋ค. Garden์ ์์ค ํด์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ด๋ฏธ์ง์ ํ๊ทธ๋ฅผ ํ ๋นํ๋ฏ๋ก ํ๊ทธ์ ๋ ์ด์ด๊ฐ ๊ณ ์ ํ๊ณ ์ผ๊ด๋๊ฒ ์ ์๋ฉ๋๋ค.
์ฆ, ๊ฐ๋ฐ์๊ฐ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ฉด ํ ์ ์ฒด ์ฌ์ฉ ๊ฐ๋ฅ. ๋งค์ผ ๋์ผํ ๊ธฐ๋ณธ ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ก๋ํ๊ณ ์ปดํจํฐ์์ ๋์ผํ ๋น๋๋ฅผ ๋ง๋ญ๋๋ค. ์ผ๋ง๋ ๋ง์ ํธ๋ํฝ๊ณผ ์ ๊ธฐ๊ฐ ๋ญ๋น๋๋์ง ๊ถ๊ธํ์ญ๋๊น?..
ํ ์คํธ์ ๋ํด์๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ๊ฒฐ๊ณผ๋ ์ ์ฒด ํด๋ฌ์คํฐ์ ๋ชจ๋ ํ ๊ตฌ์ฑ์์ด ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ฐ๋ฐ์ ์ค ํ ๋ช ์ด ํน์ ๋ฒ์ ์ ์ฝ๋๋ฅผ ํ ์คํธํ ๊ฒฝ์ฐ ๋์ผํ ํ ์คํธ๋ฅผ ๋ค์ ์คํํ ํ์๊ฐ ์์ต๋๋ค.
์ฆ, minikube๋ฅผ ์คํํ ํ์๊ฐ ์๋ค๋ ๊ฒ๋ง์ด ์๋๋๋ค. ์ด ๋์ฝ์ ํ์ด ๋ง์ ์ต์ ํ ๊ธฐํ - ๋ ์ด์ ๋ถํ์ํ ๋น๋ ๋ฐ ํ ์คํธ ์คํ์ด ์์ต๋๋ค!
CI๋ ์ด๋ป์ต๋๊น?
์ฐ๋ฆฌ ๋๋ถ๋ถ์ CI์ ๋ก์ปฌ ๊ฐ๋ฐ์ด ๋ณ๋๋ก ๊ตฌ์ฑํด์ผ ํ๋ ๋ ๊ฐ์ ๊ฐ๋ณ ์ธ๊ณ๋ผ๋ ์ฌ์ค์ ์ต์ํฉ๋๋ค(๊ทธ๋ฆฌ๊ณ ๊ณต์ ์บ์๋ฅผ ์ฌ์ฉํ์ง ์์). ์ด์ ๊ทธ๊ฒ๋ค์ ๊ฒฐํฉํ๊ณ ์ด๊ณผ๋ถ์ ์ ๊ฑฐํ ์ ์์ต๋๋ค.
CI์ ๊ฐ๋ฐ ์ค์ ๋์ผํ ๋ช ๋ น์ ์คํํ ์ ์์ต๋๋ค. ๋ฟ๋ง ์๋๋ผ, ๋จ์ผ ํ๊ฒฝ, ์บ์ ๋ฐ ํ ์คํธ ๊ฒฐ๊ณผ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋ณธ์ง์ ์ผ๋ก ๋น์ ์ CI๋ ๋น์ ๊ณผ ๊ฐ์ ํ๊ฒฝ์์ ์ผํ๋ ๊ฐ๋ฐ์ ๋ด์ด ๋ฉ๋๋ค.
์์คํ
์์; ์ํํ ๊ฐ๋ฐ ๋ฐ ํ
์คํธ
CI ํ์ดํ๋ผ์ธ์ ๊ตฌ์ฑ์ ํฌ๊ฒ ๋จ์ํํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ๋น๋, ํ ์คํธ ๋ฐ ๋ฐฐํฌ๋ฅผ ์ํด CI์์ Garden์ ์คํํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ๊ทํ์ CI๋ ๋์ผํ ํ๊ฒฝ์ ์ฌ์ฉํ๋ฏ๋ก CI ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ํจ์ฌ ์ ์ต๋๋ค.
์ ์ ์์ด ๋ง์ ๊ตฌ์ฑ๊ณผ ์คํฌ๋ฆฝํธ ๋ผ์ธ์ ํ๊ณ ๋ค๊ณ , ๋ฐ๊ณ , ๊ธฐ๋ค๋ฆฌ๊ณ , ํฌ๋งํ๊ณ , ๋์๋ ๋ฐ๋ณต... ์ด ๋ชจ๋ ๊ฒ์ ๊ณผ๊ฑฐ์ ์ผ์ ๋๋ค. ๋น์ ์ ๋จ์ง ๋ฐ์ ํ๊ณ ์์ต๋๋ค. ์ถ๊ฐ ์ด๋์ด ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ช ํํ๊ฒ ํ๊ธฐ ์ํด: ๊ทํ ๋๋ ๋ค๋ฅธ ํ์์ด Garden์ผ๋ก ๋ฌด์ธ๊ฐ๋ฅผ ๊ตฌ์ถํ๊ฑฐ๋ ํ ์คํธํ ๋ CI์๋ ๋์ผํ ์ผ์ด ๋ฐ์ํ์ต๋๋ค.. ํ ์คํธ๊ฐ ์คํ๋ ์ดํ์ ์๋ฌด ๊ฒ๋ ๋ณ๊ฒฝํ์ง ์์๋ค๋ฉด CI์ ๋ํ ํ ์คํธ(๋๋ ๋น๋)๋ฅผ ์คํํ ํ์๊ฐ ์์ต๋๋ค. Garden์ ๋ชจ๋ ๊ฒ์ ์์ฒด์ ์ผ๋ก ์ํํ ๋ค์ ์ฌ์ ์ถ์ ํ๊ฒฝ ์ค์ , ์ํฐํฉํธ ํธ์ ๋ฑ๊ณผ ๊ฐ์ ๋ค๋ฅธ ์์ ์ผ๋ก ์ด๋ํฉ๋๋ค.
์ ํนํ๋ ์๋ฆฌ. ์๋ํ๋ ๋ฐฉ๋ฒ?
์ ์ค์ ๊ฒ์ ํ์ํฉ๋๋ค
๋ฒ์ญ๊ฐ์ ์ถ์
๊ณง ์ฐ๋ฆฌ๋ Garden ์ธ์๋ ๋ค๋ฅธ ํฅ๋ฏธ๋ก์ด ํ๋ก์ ํธ๋ฅผ ํฌํจํ๋ Kubernetes์์ ์๋ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์๋ฅผ ์ํ ์ ์ฉํ ์ ํธ๋ฆฌํฐ์ ๋ํ ๋ฆฌ๋ทฐ๋ฅผ ๊ฒ์ํ ์์ ์ ๋๋ค. ๊ทธ ๋์ ๋ธ๋ก๊ทธ์์๋ ์ฝ์ด๋ณด์ธ์.
- ยซ
Kubernetes ํ ๋ฐ ์๋ น: ๋ก์ปฌ ๊ฐ๋ฐ ๋ฐ Telepresence ์ ๋ณด "; - ยซ
Kubernetes ํฌ๋์์ ๋๋ฒ๊น ์ ์ํ kubectl-debug ํ๋ฌ๊ทธ์ธ "; - ยซ
Kubernetes ํ ๋ฐ ์๋ น: ๊ฐ๋ฐ ์ฌ์ดํธ์ ๋ํ ์ก์ธ์ค "; - ยซ
Minikube๋ก Kubernetes ์์ํ๊ธฐ ".
์ถ์ฒ : habr.com