Terraform & Kubernetes ๋์
ํ๊ธฐ
์ต๊ทผ ์ธํ๋ผ ๊ตฌ์ฑ๊ณผ ์๋น์ค ์ด์ ์ ๋ฐ์์ (๋ฆ์์ง๋งโฆ)
Terraform๊ณผ Kubernetes๋ฅผ ๋ณธ๊ฒฉ์ ์ผ๋ก ์ฌ์ฉํด ๋ณด์๊ณ ,
์๊ฐ๋ณด๋ค ๊ฒฝํ์ด ๊ฝค ์ข์์ ๊ธฐ๋ก ๊ฒธ ๊ณต์ ํด ๋๋ค.
TL;DR
์ด๊ฑธ ์ ์ด์ ์ผ์ง. ์ง์ ์จ๋ณผ ๊ฑธ. (feat. ๊ด๋ฆฌํ ์๋ฒ๊ฐ ๋ง์์ง์๋ก ์ฒด๊ฐ์ด ํผ)
๊ธฐ์กด์ ์ฌ์ฉํ๋ ๋ฐฉ์
- ์น ๋ธ๋ผ์ฐ์ โ AWS ์ฝ์์์ ๋ง์ฐ์ค ํด๋ฆญ์ผ๋ก ์ธํ๋ผ ๊ตฌ์ฑ (EC2 ์์ฑ, ๋คํธ์ํฌ ์ค์ ๋ฑ)
- ๋ก์ปฌ ์๋ฒ์ Docker / Docker Compose ๊ธฐ๋ฐ ์ด์
์ด๋ฒ์ ์ฌ์ฉํ ๋ฐฉ์
Terraform (IaC)
- VPC, Subnet, NAT, Kubernetes Cluster ๊น์ง ์ธํ๋ผ๋ฅผ ์ฝ๋๋ก ์ ์ธ
- ๋ณ๊ฒฝ ์ด๋ ฅ์ด Git์ ๋จ์ ๋ณ๊ฒฝ ์ถ์ ๊ณผ ๋ฆฌ๋ทฐ๊ฐ ๊ฐ๋ฅ
- ์ฝ๋๋ก ๋ช
ํํ ๋จ๊ธฐ๋ ์ฌ์ฌ์ฉ์ฑ๊ณผ ์ผ๊ด์ฑ์ด ํฌ๊ฒ ์ข์์ง
- ์ฝ์ ์์์
์ด ์ค์ด๋ค์ด ํด๋จผ ์๋ฌ ๊ฐ์
- '์ด ์ธํ๋ผ๊ฐ ์ ์ด๋ ๊ฒ ์๊ฒผ๋์ง'๊ฐ ์ฝ๋๋ก ์ค๋ช
๋จ
๋ด ๊ฒฝ์ฐ๋ NCP(Naver Cloud Platform) ๋ฅผ ์ฌ์ฉํ๋๋ฐ, ์ง์ํ๋ ๋ฆฌ์์ค ๋ฒ์๊ฐ ์ ํ์ ์ด๋ผ ์ผ๋ถ๋ ์ฌ์ ํ ์น ์ฝ์์์ ์์์
์ด ํ์ํ๋ค.
๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ , Terraform์ ๋์
ํ ๋ง์กฑ๋๋ ๊ฝค ๋์๋ค.
Kubernetes
- ๋ฐฐํฌ, ๋กค๋ง ์
๋ฐ์ดํธ(๋ฌด์ค๋จ), ์คํ ์ค์ผ์ผ๋ง์ด ์ ์ฑ
๊ธฐ๋ฐ์ผ๋ก ์๋ ๋์
- ๋ชจ๋ ์ค์ ์
yamlํ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋ ์ ์ด ๋งค์ฐ ํธ๋ฆฌ
- ์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ, ํฌ์ค ์ฒดํฌ, ์
ํ ํ๋ง ๋๋ถ์ ์ด์ ๋ถ๋ด์ด ์ฒด๊ฐ๋ ์ ๋๋ก ๊ฐ์
- Pod / Node / Resource ๋จ์๋ก ๋ฌธ์ ๋ฅผ ๋ถ๋ฆฌํด์ ๋ณผ ์ ์์ด ์ฅ์ ์์ธ ์ถ์ ์ด ์์
- ์๋น์ค ๊ท๋ชจ๊ฐ ์ปค์ง์๋ก ์ ๋ฆฌ๋ ์ํ๋ฅผ ์ ์งํ๊ธฐ ์ฌ์ด ๊ตฌ์กฐ
- GitLab CI + Container Registry + ArgoCD ์กฐํฉ์ ๋ฐฐํฌ ์๋ํ ๊ฒฝํ์ด ๋งค์ฐ ๋ง์กฑ์ค๋ฌ์ ์
๊ทธ๋ฆฌ๊ณ , AI์ ๋์
์ด๋ฒ์ ๋๋ ๋ ํ๋์ ํฐ ํฌ์ธํธ๋ AI์ ์กด์ฌ๊ฐ์ด์๋ค.
- Terraform module ๊ตฌ์กฐ ์ค๊ณ, variable ์ ๋ฆฌ
- Kubernetes manifest ์์ฑ ๋ฐ ๋ฆฌํฉํ ๋ง
(Deployment, HPA, Ingress ๋ฑ)
- ์๋ฌ ๋ฉ์์ง / ์ด๋ฒคํธ ๋ก๊ทธ ํด์
- ํ์ํ CLI ๋ช
๋ น์ด๋ฅผ ๋ฐ๋ก ๋ฐ๋ก ์๋ ค์ค
- โ์ด ๊ตฌ์ฑ, ๋ ๋์ ํจํด์ด ์๋๊ฐ?โ ๊ฐ์ ์ค๊ณ ํผ๋๋ฐฑ
- ๋ฌธ์๋ฅผ ์ฒ์๋ถํฐ ๋๊น์ง ํ๋ ๋ฐฉ์๋ณด๋ค, AI์ ๋ํํ๋ฉด์ ๊ฒ์ฆํ๊ณ ๋ค๋ฌ๋ ํ๋ฆ์ด ํจ์ฌ ํจ์จ์ ์ด์๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก,
- ๋ฌ๋ ์ปค๋ธ๋ ์ฌ์ ํ ์กด์ฌํ์ง๋ง AI๋ฅผ ๋ณด์กฐ ๋๊ตฌ๋ก ์ฌ์ฉํ๋ฉด์ ํ์ต ์๋์ ์ํ์ฐฉ์ค ๋น์ฉ์ด ํฌ๊ฒ ์ค์ด๋ ๋๋
์์ฝํ์๋ฉด,
- ์๋ง์(?) ์ฅ์ ์ ๋ฒฝ์ ๋ถ๋ชํ๋ ์๊ฐ์๋ ์ธ์ ๋ ๋์์ ๋ฐ์ ์ ์๋ค๋ ์ ์์ ๋ ๋๋ ค์ ๋ค.
๋ถ๋ก) K8S, ๋ค์์๋ ๋ฐ๋ก ์ธ ๊ฒ์ธ๊ฐ?
- ์๋น์ค ์ด๊ธฐ๋ถํฐ ๋ฐ๋ก ๋์
ํ ๊ฒ ๊ฐ์ง๋ ์๋ค
(K8S Cluster๋ง ํด๋ NCP ๊ธฐ์ค ์ ์ฝ 7๋ง ์)
- ์ด๊ธฐ์๋ ์ธ์คํด์ค 1~2๋ + ์คํ ์ค์ผ์ผ๋ง ์ ๋๋ก ์ถฉ๋ถํ ๋ฏ
(์์ ์คํ ์ค์ผ์ผ๋ง์ด ํ์ ์๋ ๊ฒฝ์ฐ๋ ๋ง๋ค)
- ์ฌ์ฉํ๋ ์ธ์คํด์ค ์๊ฐ ๋๊ณ , ์๋น์ค ๊ท๋ชจ๊ฐ ์ปค์ง๋ฉด ๊ทธ๋ ๋์
์ ๊ณ ๋ฏผ
- ์ฌ์ฉ ๊ฒฝํ์ ๊ธ์ ์ ์ด์ง๋ง ์์ ์๋น์ค์๋ ํ์คํ ์ค๋ฒ์คํ
- ์๋ฒ์ ๋ฐ๋ก SSH ์ ๊ทผํด์ ๋์ฐ๊ณ ๋ก๊ทธ๋ณด๊ณ ์ฌ๊ธฐ๋ ์ํค๊ณ ํ๋ ๊ฒ ๋ ํธ์ํ 1์ธ์ด๋ผ, ๊ทธ๋ฐ ๊ฑฐ ๋ชปํ ๋ ๊ฐ๋ ๋ถํธํ๊ฒ ๋๊ปด์ง๊ธฐ๋ ํ์ (๋ฌผ๋ก ์
ธ ์ ๊ทผ์ ๊ฐ๋ฅํ๋, ๊ทธ๋ฌ๊ธฐ์๋ Pod์ด ๋๋ฌด ๋ง..)
์ ๋ฆฌํ๋ฉด
- Terraform: ์๋น์ค ์ด๊ธฐ๋ถํฐ ๋์
ํ๊ณ ์ถ๋ค
- Kubernetes: ์ํฉ์ ๋ฐ๋ผ ์ ํ, ์์ ์๋น์ค๋ผ๋ฉด ์ด๋ฐ ๋์
์ X
Read more โ