Kargo ์๊ฐ
- Kargo ๋ Argo CD ๋ฑ ๊ธฐ์กด GitOps ํด์ ๋ณด์ํ์ฌ, Kubernetes ํ๊ฒฝ์์ โ๋จ๊ณ(stage) ๊ฐ ์ฐ์ ํ๋ก๋ชจ์ (continuous promotion)โ์ ์ ์ธํ์ผ๋ก ์๋ํํด์ฃผ๋ ์คํ์์ค ์ ํ๋ฆฌ์ผ์ด์ ๋ผ์ดํ์ฌ์ดํด ๊ด๋ฆฌ ํ๋ซํผ์ ๋๋ค.
GitOps ํด์ด ๋ชปํ๋ ๊ฒ๋ค 
-
๊ธฐ์กด GitOps ํด(e.g. Argo CD)์ ๊ฐ ํด๋ฌ์คํฐ/ํ๊ฒฝ์ ๋ํด Git โ Kubernetes ์ํ ๋๊ธฐํ(sync) ๊น์ง๋ ์ง์ํ์ง๋ง, โ๊ฐ๋ฐ โ ์คํ ์ด์ง โ ํ๋ก๋์ โ ๊ฐ์ ์ฌ๋ฌ ํ๊ฒฝ์ ๊ฑธ์น ๋ฐฐํฌ ํ๋ก๋ชจ์ ์ํฌํ๋ก์ฐ(promotion pipeline) ์ ์ง์ ์ง์ํ์ง ์์ต๋๋ค.
-
ํ ๊ท๋ชจ๊ฐ ์ปค์ง๊ณ ํ๊ฒฝ์ด ๋ง์์ง์๋ก, ์๋ ์คํฌ๋ฆฝํธ ๋๋ CI ํ์ดํ๋ผ์ธ์ผ๋ก ํ๊ฒฝ ์ด๋(promotion)์ ๊ด๋ฆฌํ๋ ๊ฒ์ ์์์ ์ค๋ฅ, ๋ณต์กํ ์คํฌ๋ฆฝํธ ์ ์ง, ๋ฐฐํฌ ๋ณ๋ชฉ ๋ฑ์ ์ํ๊ณผ ๋นํจ์จ์ ๋๋ฐํฉ๋๋ค.
Kargo๊ฐ ํด๊ฒฐํด์ฃผ๋ ๊ฒ๋ค 
- Kargo๋ ์์์ ์ธ๊ธํ ๊ธฐ์กด GitOps ํด(e.g. Argo CD)์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ค๊ณ๋์ต๋๋ค. ์ฆ, Git โ Kubernetes ๋ฐฐํฌ์ ๋ค์ ๋จ๊ณ: โํ๊ฒฝ ๊ฐ artifact / manifest / ์ค์ ์ promotionโ์ ์ ์ธํ์ผ๋ก ์๋ํํด์ค๋๋ค.
Kargo์ ์ฃผ์ ๊ธฐ๋ฅ๋ค 
| ๊ฐ๋ / ๊ธฐ๋ฅ | ์ค๋ช |
|---|---|
| Continuous Promotion (์ฐ์ ํ๋ก๋ชจ์ ) | Git/Git-artifact / Helm / ์ด๋ฏธ์ง ๋ฑ์ ๊ธฐ์ค์ผ๋ก, ํ ํ๊ฒฝ์์ ๋ค์ ํ๊ฒฝ์ผ๋ก ๋ณ๊ฒฝ์ ์๋์ผ๋ก ๋๊น. ์๋ ์คํฌ๋ฆฝํธ ๋ถํ์. |
| Promotion Pipeline | ์ฌ๋ฌ ์คํ ์ด์ง(stage)๋ก ๋๋ , ๊ฐ๋ฐ โ ์คํ ์ด์ง โ ํ๋ก๋์ ๊ฐ์ ์ํฌํ๋ก์ฐ๋ฅผ ํ์ดํ๋ผ์ธ์ผ๋ก ๊ตฌ์ฑ ๊ฐ๋ฅ. |
| Project / Stage / Warehouse / Freight ๋ฑ์ CRD(Custom Resource) | Kubernetes ๋ฆฌ์์ค(CRD) ํํ๋ก pipeline์ ์ ์ํจ. ์: Project ๋ฆฌ์์ค โ ํ๋ก์ ํธ ๋จ์ ๊ฒฉ๋ฆฌ, Warehouse โ ์ด๋ฏธ์ง/์ฐจํธ ์ ์ฅ์, Freight โ ๋ฐฐํฌ ๊ฐ๋ฅํ artifact ๋ฑ. |
| GitOps ์นํ & ๊ธฐ์กด ์์คํ ํธํ | ๊ธฐ์กด Argo CD + Helm + Kubernetes ๊ตฌ์ฑ ์์์ ๋์ํ๋ฏ๋ก, ๊ธฐ์กด ์ธํ๋ผ ํฌ์ ํ์ฉ ๊ฐ๋ฅ. |
| ์๋ํ + ๊ฐ๋๋ ์ผ + ๊ฐ์์ฑ | Promotion ๊ณผ์ ๊ณผ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์๋ํํ๋ฉด์, ๋กค๋ฐฑ, ๋ณ๊ฒฝ ์ด๋ ฅ, ํ๊ฒฝ ๊ฐ ๊ด๊ณ ๋ฑ์ ๋ช ํํ๊ฒ ๊ด๋ฆฌ. |
์ฐธ๊ณ ๋งํฌ
- Kargo ๊ณต์ ์ฌ์ดํธ โ https://kargo.io
- Kargo Docs โ https://docs.kargo.io
- GitHub ์ ์ฅ์ (์์ค์ฝ๋ + ๋ผ์ด์ ์ค) โ GitHub - akuity/kargo: Application lifecycle orchestration
- Quickstart ์์ ๋ฐ ์ค์ต ๊ฐ์ด๋ โ Kargo Quickstart | Akuity Docs
- CRD ๋ ํผ๋ฐ์ค (ํ๋ก์ ํธ, Freight ๋ฑ) โ akuity/kargo
์ปค๋ฎค๋ํฐ ์๊ฒฌ [์ถ์ฒ] Reddit - The heart of the internet
์ฃผ์ ๊ธ์ ํ๊ฐ
- โDifferent types of artefacts (์ด๋ฏธ์ง, Helm ์ฐจํธ ๋ฑ)๋ฅผ ํ๊บผ๋ฒ์ ๋ค๋ฃจ๋ promotion ์ํฌํ๋ก์ฐโ๊ฐ ๊ฐ๋ฅํ๋ค๋ ์ ์ด โ์ค์ ํ๋ก๋์ ํ๊ฒฝ์ pain-point๋ฅผ ํด๊ฒฐํ ์ ์์โ์ด๋ผ๋ ํ๊ฐ ์์.
โLove the way Kargo tackles the topic around environment promotion of different types of artefacts (Images, Helm Charts, etc.)โ
- โ๊ธฐ์กด Argo CD + GitOps ํ๋ฆ์ Kargo๋ฅผ ๋ํ๋ฉด, dev โ staging โ prod์ฒ๋ผ ์ฌ๋ฌ ํ๊ฒฝ์ ๊ฑธ์น ๋ฆด๋ฆฌ์ฆ ํ์ดํ๋ผ์ธ์ ๊น๋ํ๊ฒ ๊ด๋ฆฌํ ์ ์๋คโ๋ ํผ๋๋ฐฑ์ด ์กด์ฌ.
์ง์ ๋ ๋จ์ ๋ฐ ์ ์ฝ
- ์ค์ ๋ฐ ํ์ดํ๋ผ์ธ ๊ตฌ์ฑ์ด CLI + CRD ๊ธฐ๋ฐ์ผ๋ก ๋์ด ์์ด, ๋จ์ Helm-chart ๊ธฐ๋ฐ ๋ฐฐํฌ๋ง ์ฌ์ฉํ๋ ํ์๊ฒ๋ ์ง์ ์ฅ๋ฒฝ์ด ์์.
- โ์ด๋ฏธ์ง ํ๊ทธ(update)๋ง์ผ๋ก๋ ๋ถ์กฑํ ์ ์์โ โ ํนํ Helm values, ์ฐจํธ ๋ฒ์ , config ๋ณ๊ฒฝ์ด ํจ๊ป ํ์ํ ๊ฒฝ์ฐ promotion ํ๋ฆ์ด ๋ณต์กํด์ง ์ ์๋ค๋ ์ง์ .
- ์ผ๋ถ๋ โ๊ธฐ์กด CD ํ์ดํ๋ผ์ธ(์: Argo CD + GitHub Actions)์ผ๋ก ์ถฉ๋ถํ๋คโ๊ณ ํ๋จํ๋ฉฐ, Kargo ๋์ ์ด ์คํ๋ ค ๋ถํ์ํ๋ค๊ณ ๋ด.
