Docker ์ปจํ ์ด๋ํ ๋ฐ Kubernetes ์ค์ผ์คํธ๋ ์ด์ ์๋น์ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ์ปจํ ์ด๋ํํ๊ณ ํ๋ก๋์ ๊ธ Kubernetes ํด๋ฌ์คํฐ์ ๋ฐฐํฌํฉ๋๋ค.
์์ํ๊ธฐ
์ปจํ ์ด๋์ Kubernetes๋ ํ์ฅ ๊ฐ๋ฅํ๊ณ ์ด์ ๊ฐ๋ฅํ๋ฉฐ ํจ์จ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ๋ฅผ ์ํ ๊ธฐ๋ฐ์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฏธ์ง ํฌ๊ธฐ์ ๋น๋ ์๊ฐ์ ์ต์ ํํ๋ ์ปจํ ์ด๋ํ, ๊ทธ๋ฆฌ๊ณ ์๋ ์ค์ผ์ผ๋ง, ์๊ฐ ์น์ ๋ฐ ๋ฌด์ค๋จ ๋ฐฐํฌ๋ฅผ ์ง์ํ๋ Kubernetes ๋ฐฐํฌ๋ฅผ ๊ตฌํํ์ฌ ๋ณต์กํ ์์ ์ ์๋ํ๋ ์ํฌํ๋ก์ฐ๋ก ์ ํํฉ๋๋ค.
์ฐ๋ฆฌ๋ ํจํค์ง ๊ด๋ฆฌ๋ฅผ ์ํด Helm, GitOps๋ฅผ ์ํด ArgoCD, ์๋น์ค ๋ฉ์๋ฅผ ์ํด Istio, ๋ชจ๋ํฐ๋ง์ ์ํด Prometheus/Grafana์ ํจ๊ป EKS (AWS), GKE (GCP) ๋๋ AKS (Azure)์ ๋ฐฐํฌํฉ๋๋ค. Docker ๋ฉํฐ ์คํ ์ด์ง ๋น๋๋ก ๊ตฌ์ถ๋ ์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ ECR, GCR ๋๋ GitHub Container Registry์ ์ ์ฅ๋ฉ๋๋ค.
VM ๊ธฐ๋ฐ ๋ฐฐํฌ์์ ์ปจํ ์ด๋๋ก ์ ํํ๋ ํ, ๋ค์ค ์๋น์ค ์ค์ผ์คํธ๋ ์ด์ ์ด ํ์ํ ๊ธฐ์ , ๋๋ ํ๊ฒฝ ์ ๋ฐ์ ๊ฑธ์ณ ์ผ๊ด๋ ๋ฐฐํฌ ํจํด์ ์ํ๋ ์กฐ์ง์ ์ํ ์๋น์ค์ ๋๋ค. ์ฒซ ๋ฒ์งธ ์ฑ์ ์ปจํ ์ด๋ํํ๋ ๊ธฐ์กด Kubernetes ๋ฐฐํฌ๋ฅผ ํ์ฅํ๋ , ์ฐ๋ฆฌ๋ ํ๋ก๋์ ๊ธ ์๋ฃจ์ ์ ์ ๊ณตํฉ๋๋ค.
์ต์ ํ๋ Dockerfile์ ์์ฑํ๊ณ , ๋น๋ ํ์ดํ๋ผ์ธ์ ์ค์ ํ๋ฉฐ, ์ปจํ ์ด๋ ๋ ์ง์คํธ๋ฆฌ๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
Kubernetes ํด๋ฌ์คํฐ ์ํคํ ์ฒ โ ๋ ธ๋ ํ, ๋คํธ์ํน, ์คํ ๋ฆฌ์ง ๋ฐ ๋ณด์ ์ ์ฑ ์ ์ค๊ณํฉ๋๋ค.
Helm ์ฐจํธ๋ฅผ ์์ฑํ๊ณ , ArgoCD๋ฅผ ์ฌ์ฉํ์ฌ GitOps๋ฅผ ๊ตฌ์ฑํ๋ฉฐ, ๋ฐฐํฌ ์ ๋ต์ ๊ตฌํํฉ๋๋ค.
์๋ ์ค์ผ์ผ๋ง, Pod ์ค๋จ ์์ฐ, ์ํ ํ์ธ ๋ฐ ๋ฆฌ์์ค ์ ํ์ ๊ตฌ์ฑํฉ๋๋ค.
๊ฐ์์ฑ ์คํ์ ๋ฐฐํฌํ๊ณ , ์๋ฆผ์ ์ค์ ํ๋ฉฐ, ๋ฐ๋ถ์ ๋ฌธ์ํํ๊ณ , ์ด์ ํ์ ๊ต์กํฉ๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ์ ์ปจํ ์ด๋ํํ๊ณ ํ๋ก๋์ ๊ธ Kubernetes ์ธํ๋ผ์ ๋ฐฐํฌํด ๋ณด์ธ์.
์ ํฌ๋ Kubernetes ํด๋ฌ์คํฐ ์ค์ ๋ฐ ๊ด๋ฆฌ, ์ ํ๋ฆฌ์ผ์ด์ ์ปจํ ์ด๋ํ, Helm ์ฐจํธ ๊ฐ๋ฐ, ์๋น์ค ๋ฉ์ ๊ตฌ์ฑ, ์คํ ์ค์ผ์ผ๋ง, ๋ชจ๋ํฐ๋ง, ๊ทธ๋ฆฌ๊ณ ๊ธฐ์กด ์ ํ๋ฆฌ์ผ์ด์ ์ AWS EKS, GKE ๋๋ Azure AKS ์์ Kubernetes๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๋ ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
MicrocosmWorks์์ ์ ๊ณตํ๋ Docker ๋ฐ Kubernetes ์ปจ์คํ ๋ฐ ๊ฐ๋ฐ ์๋น์ค๋ ์ปจํ ์ด๋ํ, ํด๋ฌ์คํฐ ๊ด๋ฆฌ, ๋ฐฐํฌ ์๋ํ ๋ฐ ์ฑ๋ฅ ์ต์ ํ๋ฅผ ํฌํจํ์ฌ ์๊ฐ๋น $20~$50์ ๋๋ค.
๋ค, ์ ํฌ๋ ์ต์ ํ๋ ๋ฉํฐ ์คํ ์ด์ง Dockerfiles๋ฅผ ์์ฑํ๊ณ , ์ํ ํ์ธ(health checks)์ ๊ตฌ์ฑํ๋ฉฐ, ์ ์ ํ ์๊ทธ๋ ํธ๋ค๋ง์ ๊ตฌํํ๊ณ , ๊ตฌ์ฑ์ ์ธ๋ถํํ๋ฉฐ, ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ํด Docker Compose๋ฅผ ์ค์ ํจ์ผ๋ก์จ ๋ ๊ฑฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ปจํ ์ด๋ํํฉ๋๋ค.
์ ํฌ๋ CPU, memory ๋๋ ์ฌ์ฉ์ ์ ์ ๋ฉํธ๋ฆญ์ ๊ธฐ๋ฐ์ผ๋ก Horizontal Pod Autoscalers๋ฅผ ๊ตฌ์ฑํ๊ณ , right-sizing์ ์ํด Vertical Pod Autoscalers๋ฅผ ๊ตฌํํ๋ฉฐ, ์๊ตฌ๋์ ๋ฐ๋ผ ๋ ธ๋๋ฅผ ์๋์ผ๋ก ํ๋ก๋น์ ๋ ๋ฐ ํ๋ก๋น์ ๋ ํด์ ํ๊ธฐ ์ํด Karpenter์ ๊ฐ์ ํด๋ฌ์คํฐ ์คํ ์ค์ผ์ผ๋ฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์, ์ ํฌ๋ ๋ชจ๋ Kubernetes ๋งค๋ํ์คํธ๊ฐ Git์์ ๋ฒ์ ์ ์ด๋๋ GitOps ์ํฌํ๋ก์ฐ๋ฅผ ArgoCD ๋๋ Flux๋ฅผ ์ฌ์ฉํ์ฌ ์ค์ ํฉ๋๋ค. ๋ณ๊ฒฝ ์ฌํญ์ ํด๋ฌ์คํฐ์ ์๋์ผ๋ก ๋๊ธฐํ๋์ด ์์ ํ ๊ฐ์ฌ ์ถ์ ๊ณผ ์์ฌ์ด ๋กค๋ฐฑ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.