์ง๋ ๋ช ๊ฐ์๊ฐ Azure Kubernetes Service, Amazon EKS, ๊ทธ๋ฆฌ๊ณ ๊ธฐ์กด ์๋น์ค ์ ํ๊น์ง ์งํํ๋ฉฐ ์ฃผ์ ์๋น์ค๋ฅผ Kubernetes ํ๊ฒฝ์ผ๋ก ์ด์ ํ์ต๋๋ค.
์ง๊ธ๋ ๊ณ์ ๋ค๋ฅธ ์์ ์ ์งํํ๊ณ ์์ง๋ง, ์ง๊ธ๊น์ง ์์ ์ ํ๋ฉด์ ๋๊ผ๋ ๋ด์ฉ๊ณผ ์ฐจ๋ง ์ด์ผ๊ธฐํ์ง ๋ชปํ๋ ๋ด์ฉ๋ค์ ๋์๋ณด๋ ค๊ณ ํฉ๋๋ค.
K8s๋ก ์ ํํ๊ณ ์ป์ ๊ฒ
๊ธฐ์กด ํ๊ฒฝ์ด Docker Compose ๊ธฐ๋ฐ์ด์๊ณ ์ด๋ก ์ธํ ๊ตฌ์กฐ์ ํ๊ณ๊ฐ ๋ง์๊ธฐ ๋๋ฌธ์,
๋จ์ํ K8s๋ก ์ ํํ๋ ๊ฒ๋ง์ผ๋ก๋ ๋ง์ ๊ฐ์ ์ ์ด ์์์ต๋๋ค.
๊ธฐ๋ณธ์ ์ธ ์์ ์ฑ
ํ์คํ ์์ ์ฑ์ด๋ ์ ์ง๋ณด์ ์ธก๋ฉด์์๋ ๋ฐ์ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๊ธฐ์กด Docker Compose ํ๊ฒฝ์ ์ปจํ
์ด๋์ ๋ฌธ์ ๊ฐ ์๊ฒผ์ ๋ ๋ณต๊ตฌ๋ ์ด๋ ค์ ๊ณ , ๋คํธ์ํฌ ์๋จ ๋ฑ ์ฌ๋ฌ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
K8s์์ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ผ๋ก Pod ์ฌ์์์ด๋ Graceful shutdown ๋ฑ์ ์ง์ํ๊ธฐ ๋๋ฌธ์, ๊ธฐ์กด ํ๊ฒฝ์์ ๋ณต์กํ๊ฒ ๊ตฌํํ๊ฑฐ๋ ํฌ๊ธฐํ๋ ๋ถ๋ถ๋ค์ด ๊ฐ๋จํ๊ฒ ๊ตฌํ๋์์ต๋๋ค.
๋ก๊ทธ๋ฅผ ๋ณด๊ธฐ๋ ํธํ๊ณ , ํ๊ฒฝ์ด๋ ๋ฆฌ์์ค๋ฅผ ๋ฐ๊พธ์ด์ผ ํ ๋๋ ๋ค์ดํ์์ ์ต์ํํ๋ฉด์ ์งํํ ์ ์์์ต๋๋ค.
Auto-scaling
K8s๋ฅผ ์ ํํ๋ฉด์ ๊ฐ์ฅ ๋ง์ด ์ ๊ฒฝ ์ผ๋ ๋ถ๋ถ์ด ๋ฐ๋ก Auto-scaling์ด์๋ ๊ฒ ๊ฐ๋ค์.
Azure์์๋ Cluster Autoscaler๋ฅผ ์ฌ์ฉํ๊ณ , EKS์์๋ Karpenter๋ฅผ ๋์
ํ์ต๋๋ค.
Docker Compose ํ๊ฒฝ์์๋ Scaling ์์
์ ์๋์ผ๋ก ํด์ผ ํ์ง๋ง K8s๋ ๊ทธ๋ ์ง ์์๋ ๋์๊ณ , ํธ๋ํฝ ์ํฉ์ ๋ฐ๋ผ ๋ฆฌ์์ค ์กฐ์ ์ ์ ์ฐํ๊ฒ ํ ์ ์๊ฒ ๋์์ต๋๋ค.
B2B ์๋น์ค์ ํน์ฑ์ ํน์ ์๊ฐ๋์ ํธ๋ํฝ์ด ๋ชฐ๋ฆฌ๊ฑฐ๋, ๋ฐ๋๋ก ํน์ ์๊ฐ๋์ ์ฌ์ฉ์๊ฐ ์ ์ด ๋ฆฌ์์ค ๋ญ๋น๊ฐ ์๊ธธ ๋๋ ์๊ธฐ ๋๋ฌธ์ ๋๋์ฑ ํฐ ํจ๊ณผ๊ฐ ๋์จ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ฐฐํฌ ํ๋ก์ธ์ค์ ๊ฐ์
Argo CD์ Helm์ ํ์ฉํ GitOps ๋ฐฉ์์ผ๋ก ๋ฐฐํฌ ํ๋ก์ธ์ค๋ฅผ ํ์คํํ๊ณ ์์ต๋๋ค.
์์ง ์งํ ์ค์ด์ง๋ง ๊ฐ ์๋น์ค๋ง๋ค ์ ๊ฐ๊ฐ์ด์๋ ๋ฐฐํฌ ๋ฐฉ์์ ํต์ผํ๋ฉด์ ์ ์ง๋ณด์์ ๋ค์ด๊ฐ๋ ๋ฆฌ์์ค๋ฅผ ์ค์ด๊ณ ์์ต๋๋ค.
์๋ง์ ์คํ์์ค ๋๊ตฌ
K8s๋ ์ด์ ๋ 10๋
์ด ๋ ์คํ์์ค ํ๋ก์ ํธ์ด๊ธฐ ๋๋ฌธ์ ์๋ง์ ์คํ์์ค ๋๊ตฌ๋ค์ด ์์ต๋๋ค.
Argo CD, ExternalDNS ๋ฑ ์๋ง์ ๋๊ตฌ๋ค์ด ๋ฆฌ์์ค ๊ด๋ฆฌ ๋ฉด์์ ํธ์์ฑ์ ๋์ฌ์ฃผ๊ณ , ์ง๊ธ๋ ๊ณ์ ์๋ก์ด ๋๊ตฌ๋ค์ด ๋์ค๊ฑฐ๋ ์์ ํ๋๊ณ ์์ต๋๋ค.
์ค์ ๋ก ๋ช ๊ฐ์ง ๋๊ตฌ๋ฅผ ๋์ ํ์ฌ ํจ๊ณผ๋ฅผ ์ง์ ์ ์ผ๋ก ๋๋ผ๊ธฐ๋ ํ๊ณ , ์์ผ๋ก๋ ์ด๋ฌํ ๋๊ตฌ๋ฅผ ํ์ฉํ๋ฉด์ ๋ ๋์ ํ๊ฒฝ์ ๋ง๋ค์ด ๊ฐ ์ ์๊ฒ ๋์์ต๋๋ค.
K8s๋ ๋ชจ๋ ๊ฒ์ ํด๊ฒฐํด ์ฃผ์ง ์๋๋ค
Kubernetes๋ ๋ถ๋ช
ํ ์ข์ ๊ธฐ์ ์ด ๋ง์ต๋๋ค.
ํ์ง๋ง Kubernetes๋ก ์ ํํ๋ค๊ณ ํด์ ๋ชจ๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋ ๊ฒ์ ์๋์์ต๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ๋ ๋ฒจ์ ๋ฌธ์ ๋ฅผ DevOps ๊ธฐ์ ๋ง์ผ๋ก๋ ๊ทผ๋ณธ์ ์ธ ํด๊ฒฐ์ด ์ด๋ ต๋ค๋ ๊ฒ์ ์งํํ๋ฉด์ ์ฌ๋ฌ ๋ฒ ๋๊ผ์ต๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ์ ํ๊ณ
ํ์ฌ ์ฃผ๋ ฅ ์๋น์ค์ ๊ฒฝ์ฐ, MSA ๊ตฌ์กฐ์๋ ๊ฑฐ๋ฆฌ๊ฐ ๋จผ ๊ฑฐ๋ํ ๋จ์ผ ์ด๋ฏธ์ง์ ์น์์ผ์ด ๋ฌธ์ ๊ฐ ๋์์ต๋๋ค.
๋จ์ผ ์ด๋ฏธ์ง๊ฐ ๋งค์ฐ ๋ฌด๊ฒ๊ธฐ ๋๋ฌธ์ Image Pull๋ถํฐ ์๋, ์ข
๋ฃ๊น์ง ๋ชจ๋ ์ค๋ ๊ฑธ๋ ธ๊ณ ,
ํ์์ HPA์ PreStop ์ด๋ฒคํธ, Graceful shutdown ๋ฑ ์๋ง์ ์ต์ ํ ์์
์ ํ์ง๋ง ๋คํธ์ํฌ ์๋จ ๋ฌธ์ ๋ฅผ ์์ ํ ํด๊ฒฐํ ์ ์์์ต๋๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ Application ์์ฒด๋ฅผ ๊ฐ๋ณ๊ฒ ๋ง๋ค์ด์ผ ํฉ๋๋ค.
์น์์ผ์ ๊ฒฝ์ฐ Pod๊ฐ ์ข
๋ฃ๋ ๋ ์ฐ๊ฒฐ์ด ๋์ด์ง๊ธฐ ๋๋ฌธ์ Auto-scaling ๊ณผ์ ์์ Pod๋ฅผ ๋๋ฆฌ๋ฉด ์คํ๋ ค 502 ์๋ฌ๊ฐ ๋์ด๋๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
์น์์ผ์ ๋ถ๋ฆฌํ๊ฑฐ๋ ๋ค๋ฅธ ๋์์ ์ฐพ๋ ๊ฒ๋ ๊ณ ๋ คํด์ผ ํ์ง๋ง, ํ์ฌ ์ฌ์ ์ ์ด๋ ค์ด ๋ถ๋ถ์ด ๋ง์์ต๋๋ค.
๊ทธ ์ธ์๋ ์ฑ๋ฅ์์ ์ด์ ๋ก Supervisor๋ฅผ ํตํ ๋ฉํฐ ํ๋ก์ธ์ค ๊ตฌ์กฐ๋ฅผ ์ ์งํด์ผ ํ๋๋ฐ, ์ด๋ Kubernetes์ Single Process ์์น๊ณผ๋ ๋ง์ง ์๋ ๋ถ๋ถ์ด์๊ณ ์ด๋ก ์ธํด Pod 1๊ฐ๋น ์๋นํ๋ ๋ฆฌ์์ค๊ฐ ๊ณผ๋ํ๊ฒ ์ฑ
์ ๋์์ต๋๋ค.
์ด ์ธ์๋ ๊ธฐ์ ๋ถ์ฑ๋ก ์ธํด ์ํ๋ ๊ตฌ์กฐ๋ฅผ ์ ์ฉํ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์์ต๋๋ค.
Kubernetes ์ ํ์ ํ์ฌ ์ ์ฒด๊ฐ ํ๋ ๊ฒ
์์์ ์ด์ผ๊ธฐํ ๊ฒ์ฒ๋ผ Kubernetes ๋์ ์ ํ๋ค๊ฒ ํ๋ ์์๋ Kubernetes ๊ทธ ์์ฒด๊ฐ ์๋ ๊ฒฝ์ฐ๋ ๋ง์ต๋๋ค. ๋ฐ๋ผ์ ํ๋ฟ๋ง ์๋๋ผ ํ์ฌ ์ ์ฒด๊ฐ Kubernetes๋ฅผ ๋์ ํ๊ธฐ ์ํ ์ค๋น๊ฐ ํ์ํฉ๋๋ค.
ํ์ง๋ง Kubernetes๋ง ๋์ ํ๋ฉด ๋ชจ๋ ๊ฒ ํด๊ฒฐ๋๋ค๊ณ ์๊ฐํ๊ณ , ๋ชจ๋ ๋ฌธ์ ๋ฅผ Kubernetes์ DevOps ํ์๊ฒ ๋ ๋๊ธฐ๋ ๊ฒฝ์ฐ๋ ์ ๋ง ๋ง์ ๊ฒ ๊ฐ์ต๋๋ค. ์ฌํ ๋ค๋ฅธ ๊ธฐ์ ์ฒ๋ผ Kubernetes๋ Silver Bullet์ด ๋ ์๋ ์๋๋ฐ ๋ง์ด์ฃ .

์ ๊ฐ ๊ฐ์ฅ ์ค์ํ๊ฒ ์๊ฐํ๋ ๊ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- Kubernetes ์นํ์ ์ธ ๊ตฌ์กฐ์ ๋๊ตฌ๋ฅผ ์ ๊ทน ๊ถ์ฅํ๊ณ ํ์ฉํ ์ ์์ด์ผ ํฉ๋๋ค.
- ๊ผญ ์ด์์ ์ธ MSA๊ฐ ์๋๋๋ผ๋, ๋ถ๋ฆฌ๊ฐ ํ์ํ ์๋น์ค๋ ๊ณผ๊ฐํ ๋ถ๋ฆฌํ๋ ๋ฑ ๊ตฌ์กฐ ๊ฐ์ ์ด ์ด๋ฃจ์ด์ ธ์ผ K8s๋ฅผ 100% ํ์ฉํ ์ ์์ต๋๋ค.
- ์ด ๋ชจ๋ ๊ณผ์ ์์, ์กฐ์ง ์ ์ฒด๊ฐ Kubernetes์ ํต์ฌ ๊ฐ์น์ ๊ณต๊ฐํ๊ณ ์ฐธ์ฌํ๋ฉฐ, ์๋ก ๋์์ผ ํฉ๋๋ค.
์ค์ ๋ก K8s๋ฅผ ๋์ ํ๋ฉด์ ๋ง์ ๊ฒฝํ์ ์์๊ณ ๊ฐ์ธ์ ์ผ๋ก ์ฑ์ฅ๋ ๋ง์ด ํ๋ค๊ณ ์๊ฐํ์ง๋ง, ๊ทธ๋งํผ ํ๋ ์ ๋ ๋ง์์ต๋๋ค. ์์์ ๋งํ๋ฏ์ด ๊ธฐ์ ๋ถ์ฑ๋ก ์ธํด ํ์ค์ ์ธ ๊ตฌ์กฐ๋ฅผ ํฌ๊ธฐํด์ผ ํ ๋๋ ์์๊ณ , ์๋ก์ด ๋ฐฉ์์ ์ ์ํ์ง๋ง ์ ์ฉํ ์ ์์๋ ๊ฒฝ์ฐ๋ ์์์ต๋๋ค. ์ด ๊ธ์ ๋ชจ๋ ์ ์ ์๋ ์์ง๋ง, ๊ณผ๋๊ธฐ๋ผ๊ณ ์๊ฐํ๊ณ ์ดํ์๋ ๋ ๋์ ํ๊ฒฝ์ด ๋์์ผ๋ฉด ์ข๊ฒ ๋ค์.
๋ง์น๋ฉฐ
Kubernetes ์ ํ์ ํตํด ํ์คํ ์ธํ๋ผ์ ์์ ์ฑ๊ณผ ํจ์จ์ฑ์ ํฌ๊ฒ ํฅ์๋์์ต๋๋ค.
Auto-scaling, ๋ฌด์ค๋จ ๋ฐฐํฌ, ๋ฆฌ์์ค ํ์ฉ๋ฅ ๊ฐ์ ๋ฑ ๋ชฉํํ๋ ๊ฒ๋ค์ ๋ง์ด ๋ฌ์ฑํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
ํ์ง๋ง DevOps ๊ธฐ์ ๋ง์ผ๋ก๋ ํด๊ฒฐํ ์ ์๋ ์ ํ๋ฆฌ์ผ์ด์
๋ ๋ฒจ์ ๋ฌธ์ ๋ค๋ ๋ช
ํํ ๋๋ฌ๋ฌ์ต๋๋ค.
์ด๋ฌํ ๋ถ๋ถ์์๋ ๋ค๋ฅธ ๋ถ์์์ ํ์
๊ณผ ์ง์๋ ํ์์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ ๊ณผ์ ์์ ๋ง์ ์์ฌ์์ด ์์์ต๋๋ค.
1๋
์ ์ ์ด๋ค ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ์์ ๋ค๋ฅธ ๊ฐ๋ฐ์ ๋ถ์ด Kubernetes ์ ํ์ ๋ํ ์ง๋ฌธ์ ์ฌ๋ ธ๋๋ฐ,
๊ทธ๋ ๋ค๋ฅธ ํ์ฌ์ DevOps ํ ๋ฆฌ๋ ๋ถ์ด ์ด๋ฐ ์ญ์ง๋ฌธ์ ํ ์ ์ด ์์ต๋๋ค.
โ๊ทธ ์กฐ์ง์ด ์ผ๋ง๋ ์ค๋น๊ฐ ๋์ด ์๋์??โ
๊ทธ ๋น์์๋ ์ญ์ ๋ ์นด๋กญ๋ค๊ณ ์๊ฐํ ์ ๋์์ง๋ง, ์ง์ ๊ฒฝํํด ๋ณด๊ณ ๊ณฑ์น์ด ๋ณผ์๋ก ๋ง๋ ๋ง์ด๋ผ๊ณ ๋๋๋๋ค. ๋ฌผ๋ก ์ด๋ฌํ ๊ฒ๋ค์ ์กฐ์ ํ๋ ๊ฒ๋ DevOps ์์ง๋์ด์ ์ญํ ์ด๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ์๋ฏธ๋ก ์ด๋ ต์ง ์๋ ํ๋ ์๊ฐ๋ ์กฐ๊ธ ๋๋ค์.
๊ทธ๋๋ ์ฒ์์ ์๊ฐํด ๋ณด๋ฉด ๋ง์ ๊ฒ์ด ๋์์ก๋ค๊ณ ๋๋๋๋ค.
๋น๋ถ๊ฐ์ ์ฃผ์ด์ง ์๋ฆฌ์์ ๊ณ์ ์ ๊ฐ ํ ์ ์๋ ์ผ์ ํด ๋ณด๋ ค๊ณ ํฉ๋๋ค.