์๋ ํ์ธ์ ๊ตฌ๋ ์๋, DevOps ์์๊ณผ ๊ธฐ์ ์ง์์ ์ ๋ฆฌํด์ ๊ณต์ ํด๋๋ฆฌ๋ DevOps ์ฌํ์ ์ํ ์์์ง์ ๋๋ค.
Kubernetes๋ ์ปจํ ์ด๋๋ฅผ ๋ฐฐํฌ ๋ฐ ๊ด๋ฆฌํ ์ ์๋ ๊ฐ๋ ฅํ ํ๋ซํผ์ ๋๋ค. ํ์ง๋ง ์ฒ์๋ถํฐ Kubernetes ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ถํ๋ ค๋ฉด ์ค์น ๊ณผ์ ์ด ๋ณต์กํ๊ณ , ํด๋ฌ์คํฐ ๊ตฌ์ถ์ ๋ง์ ๋ฆฌ์์ค๊ฐ ์๊ตฌ๋๋ค๋ ๋จ์ ์ด ์์ต๋๋ค.
์ด๋ฐ ์ด๋ ค์์ ํด๊ฒฐํ๊ธฐ ์ํด, ํด๋ฌ์คํฐ๋ฅผ ๊ฐ๋ณ๊ณ ํธ๋ฆฌํ๊ฒ ๊ตฌ์ถํ ์ ์๋๋ก ๋์์ฃผ๋ Kubernetes์ ๊ฒฝ๋ํ ๋ฒ์ ๋ค์ด ๋ง์ด ๋์ค๊ณ ์๋๋ฐ์.
์ค๋์ ์ด๋ฌํ Kubernetes ๊ฒฝ๋ํ ๋ฒ์ ์ธ minikube, K3s, k0s์ ๋ํด ์ดํด๋ณด๊ฒ ์ต๋๋ค.
โจ๋ค์ํ ์ด์์ฒด์ ์์ Kubernetes ํ ์คํธ ํ๊ฒฝ์ ์ฝ๊ฒ ๊ตฌ์ถ ๊ฐ๋ฅํ minikube
minikube๋ macOS, Linux, Windows ๋ก์ปฌ ํ๊ฒฝ์ Kubernetes ํด๋ฌ์คํฐ๋ฅผ ์ฝ๊ฒ ๊ตฌ์ถํ๋๋ก ๋์์ฃผ๋ ํด์ ๋๋ค.
minikube๋ ๊ธฐ๋ณธ์ ์ผ๋ก Docker์ ๊ฐ์ ์ปจํ ์ด๋ ๋ฐํ์์ ์ด์ฉํด์ ํด๋ฌ์คํฐ ๊ตฌ์ฑ์์๋ฅผ ๋ก์ปฌ์ ๋ฐฐํฌ ํ ์๋์ํค๋๋ฐ์.
์ต์ Kubernetes ๋ฆด๋ฆฌ์ฆ ๋ฒ์ ์ ๊พธ์คํ ์ง์ํ๊ธฐ ๋๋ฌธ์ ์๋ก์ด Kubernetes ๊ธฐ๋ฅ์ ํ ์คํธํ๊ณ ์ถ์ ๋ ์ ์ฉํ๊ฒ ํ์ฉํ ์ ์์ต๋๋ค.
minikube ์ค์น๋ฅผ ์๋ฃํ๋ฉด CLI ํ๊ฒฝ์์ ๊ฐ๋จํ ๋ช ๋ น์ด๋ก Kubernetes ํด๋ฌ์คํฐ๋ฅผ ์์ํ ์ ์๊ณ ์ง๊ด์ ์ธ ์์ด์ฝ๋ค๋ก ๊ตฌ์ถ ์ํฉ์ ์๋ ค์ฃผ๋ ๋ฑ, ์ฌ์ฉ์๊ฐ ํธ๋ฆฌํ๋๋ก ์ ๊ฒฝ์ ๋ง์ด ์ผ๋ค๋ ๋๋์ ๋ฐ์ ์ ์๋๋ฐ์.
macOS, Linux, Windows ์ด์์ฒด์ ๋ฅผ ๋ชจ๋ ์ง์ํ๋ Cross-platform์ธ ๊ฒ๋ minikube์ ์ฅ์ ์ ๋๋ค.
๋ค๋ง, ์ด๋ฒ์ ์ดํด๋ณผ ๊ฒฝ๋ํ ๋ฒ์ ์ค์์ ๊ฐ์ฅ ๋ง์ ๋ฆฌ์์ค(2 CPU / 2GB RAM)๊ฐ ํ์ํ๊ณ Docker๋ Hyper-V์ ๊ฐ์ ์ปจํ ์ด๋ ํด ํน์ ๊ฐ์ ๋จธ์ ์ด ๋จผ์ ์ค๋น๋์ด ์์ด์ผ ํ๋ค๋ ๋จ์ ๋ ์กด์ฌํฉ๋๋ค.
minikube๋ Kubernetes๋ฅผ ํ์ตํ์๋ ๋ถ๋ค์๊ฒ ์ค์ต ํ๊ฒฝ์ผ๋ก ์ถ์ฒํด๋๋ฆด ์ ์๋ ํด์ธ๋ฐ์. ๋ฌผ๋ก Kubernetes ๊ด๋ จ ๊ธฐ๋ฅ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ ์คํธํ๋ ํ๊ฒฝ์ผ๋ก ์ฌ์ฉํ๊ธฐ์๋ ์ข์ต๋๋ค.
minikube ์ค์น ์๋ด ํ์ด์ง: ๋งํฌ
๐ซ๋ ๊ฐ๋ฒผ์ด Kubernetes ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ถํด์ฃผ๋ K3S์ K0S
๋ค์์ Kubernetes์ ๊ฒฝ๋ํ๋ฅผ ์งํฅํ๋ K3S์ K0S์ ๋๋ค.
Kubernetes๋ฅผ ์ค์ฌ์ ์ผ์ปซ๋ k8s์ ๋น๊ตํด๋ณด๋ฉด, ์ด ํ๋ก์ ํธ๋ค์ ์ด๋ฆ(K3S, K0S)์์๋ถํฐ ์ผ๋ง๋ ๊ฒฝ๋ํ๋ฅผ ์งํฅํ๊ณ ์๋์ง ๋๋ ์ ์๋๋ฐ์.
์ด ๋ ํ๋ก์ ํธ๋ค์ ๋ชจ๋ Kubernetes ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ถํ๋ ๋ฐ์ ํ์์ ์ธ ๊ตฌ์ฑ์์๋ค์ ๊ฐ์ถ๋ ค์ ๋จ์ผ ํ์ผ๋ก ์ค์น ๋ฐ ์คํํ๊ธฐ ๋๋ฌธ์ ๋ฆฌ์์ค ๊ฒฝ๋ํ์ ํด๋ฌ์คํฐ ๊ตฌ์ถ ๊ฐ์ํ๋ฅผ ๋ชจ๋ ์ป์ ์ ์์์ต๋๋ค.
๊ธฐ์กด Kubernetes๋ ํด๋ฌ์คํฐ์ ๋ฐ์ดํฐ ์ ์ฅ์๋ก etcd๋ฅผ ์ฌ์ฉํ๋๋ฐ์. K3S์ K0S๋ ๊ฒฝ๋ํ๋ฅผ ์ํด etcd๋ณด๋ค ๋ ๊ฐ๋ฒผ์ด sqlite3๋ฅผ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ์ ์ฅ์๋ก ์ฌ์ฉํฉ๋๋ค. ๋ฌผ๋ก etcd๋ MySQL ๊ฐ์ ๋ค๋ฅธ ์ ์ฅ์๋ ์ง์ํ๊ธฐ ๋๋ฌธ์, ํ์ํ ๊ฒฝ์ฐ๋ผ๋ฉด ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
์ด๋ ๊ฒ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ๊ฒฝ๋ํ๋ฅผ ๊พํ K3S์ K0S์ ์ต์ ์๊ตฌ์ฌํญ์ ์๋์ ๊ฐ์ต๋๋ค.
- K3S: 1 CPU / 512MB RAM
- K0S: 1 CPU / 1GB RAM
๋ ํ๋ก์ ํธ ๋ชจ๋ minikube์ ์ต์ ์๊ตฌ์ฌํญ์ ์ ๋ฐ ์์ค์ด์ฃ .
๊ทธ๋์ K3S์ K0S ๋ชจ๋ ํ ์คํธ ๋ฐ ๋ฐฐํฌ ํ๊ฒฝ์๋ ์ ํฉํ์ง๋ง, ์ ์ ๋ฆฌ์์ค ์ฌ์ฉ๋ ๋์ IoT ํ๊ฒฝ์๋ ์ฌ์ฉํ๊ธฐ ์ ํฉํ๋ค๊ณ ํ๋๋ฐ์.
๋ค๋ง ๋ ํ๋ก์ ํธ ๋ชจ๋ ๋จ์ผ ํ์ผ๋ก ํด๋ฌ์คํฐ ๊ตฌ์ฑ์์๋ฅผ ์๋์ํค๋ ๋ฐฉ์์ด๊ธฐ ๋๋ฌธ์, ํ์ฌ Linux ๊ณ์ด ์ด์์ฒด์ ๋ง ๊ณต์ ์ง์ํ๊ณ ์์ต๋๋ค.
K3S์ K0S๋ Linux ํ๊ฒฝ์ ์ต์ํ์๋ฉด์ Kubernetes ๊ฐ๋ฐ ๋๋ ํ ์คํธ ํ๊ฒฝ์ด ํ์ํ์ ๋ถ๋ค์๊ฒ ์ถ์ฒํด๋๋ฆด ์ ์๋ ๊ฒฝ๋ํ ๋ฒ์ ์ ๋๋ค.
K3S ์ค์น ์๋ด ํ์ด์ง: ๋งํฌ
K0S ์ค์น ์๋ด ํ์ด์ง: ๋งํฌ
๐ญ๋ง์น๋ฉฐ...
์ด๋ฒ ์์์ง์์ Kubernetes์ ๊ฒฝ๋ํ ๋ฒ์ ๋ค์ ๋ํด ์ดํด๋ดค์ต๋๋ค.
Kubernetes๋ฅผ ๊ฐ์ธ์ ์ผ๋ก ์ค์ตํ๊ฑฐ๋ ํ ์คํธํ๊ธฐ ์ํด ํด๋ฌ์คํฐ๋ฅผ ์ง์ ๊ตฌ์ถํ๊ธฐ์ ์ค๋นํด์ผ ํ ๊ฒ๋ค์ด ๋ง์์ ์ฝ์ง ์์ ์ ์๋๋ฐ์.
๊ทธ๋ด ๋ ์ค๋ ์๊ฐํด๋๋ฆฐ ๊ฒฝ๋ํ ๋ฒ์ ์ ํ๋ฒ ๊ณ ๋ คํด๋ณด์๋ ๊ฒ๋ ์ข์ ๋ฏํฉ๋๋ค.
ํน์ ์ด๋ฒ ๋ด์ฉ ๊ด๋ จํด์ ๋ ๊ถ๊ธํ ์ ์ด ์์ผ์๋ค๋ฉด ์๋ ๋ฉ์ผ๋ฆฌ ๋๊ธ ๋จ๊ฒจ์ฃผ์ธ์.๐
๊ทธ๋ผ, ๋ค์ ์์์ง์์ ๋ณด๋ค ์์ฐจ๊ณ ํฅ๋ฏธ๋ก์ด ๋ด์ฉ์ผ๋ก ์ฐพ์๋ต๊ฒ ์ต๋๋ค.
์ค๋๋ ๊ฐ์ฌํฉ๋๋ค, ๊ตฌ๋ ์๋ ๐บ
๐References
์๊ฒฌ์ ๋จ๊ฒจ์ฃผ์ธ์