๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Argo CD ๊ฐœ๋…๊ณผ ์„ค์น˜

์‹œํ๋ฆฌํ‹ฐ์ง€ํ˜ธ 2025. 8. 31.

 

 

Argo CD๋ž€?


Argo CD๋ž€(Argo Continous Delivery)๋Š” Kubernetes ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ Git ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์ •์˜๋œ ๋Œ€๋กœ ์ž๋™์œผ๋กœ ๋™๊ธฐํ™”ํ•˜๊ณ  ๋ฐฐํฌํ•ด์ฃผ๋Š” GitOps ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

 

  • Git์— ์ €์žฅ๋œ Kubernets ๋งค๋‹ˆํŽ˜์ŠคํŠธ(YAML) ํŒŒ์ผ์„ ๊ธฐ์ค€์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ์˜ ์‹ค์ œ ์ƒํƒœ๋ฅผ ๋™๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.
  • UI / CLI / API / Webhook ๋“ฑ์„ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒํƒœ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐฐํฌ ์ด๋ ฅ ์ถ”์ , ๋กค๋ฐฑ, ๊ถŒํ•œ ๊ด€๋ฆฌ ๋“ฑ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

 

 

 

Argo CD ์ฃผ์š” ๊ธฐ๋Šฅ

๊ธฐ๋Šฅ ์„ค๋ช…
GitOps ๊ธฐ๋ฐ˜ ๋ฐฐํฌ Git์„ ๋‹จ์ผ ์ง„์‹ค์˜ ์†Œ์Šค๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์ž๋™์œผ๋กœ ๋ฐฐํฌ
์‹ค์‹œ๊ฐ„ ๋™๊ธฐํ™” Git๊ณผ ํด๋Ÿฌ์Šคํ„ฐ ์ƒํƒœ๋ฅผ ๋น„๊ตํ•˜๊ณ  ์ฐจ์ด๊ฐ€ ์žˆ์œผ๋ฉด ์ž๋™/์ˆ˜๋™์œผ๋กœ ๋™๊ธฐํ™”
์ž๋™ ๋กค๋ฐฑ ๋ฐ ๋กค์•„์›ƒ ๋ฐฐํฌ ์‹คํŒจ ์‹œ ์ž๋™ ๋กค๋ฐฑ ๋˜๋Š” ์ˆ˜๋™ ์ œ์–ด ๊ฐ€๋Šฅ
RBAC ๋ฐ SSO ์ง€์›  ์‚ฌ์šฉ์ž ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ์ œ์–ด ๊ธฐ๋Šฅ ๋‚ด์žฅ
UI ์ œ๊ณต ์‹œ๊ฐ์ ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒํƒœ ํ™•์ธ ๋ฐ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ
Helm, Kustomize ๋“ฑ ์ง€์› ๋‹ค์–‘ํ•œ Kubernetes ๋งค๋‹ˆํŽ˜์ŠคํŠธ ๋„๊ตฌ ์ง€์›

 

 

Argo CD ๊ตฌ์„ฑ ์š”์†Œ

  • Application Controller : ์ƒํƒœ ๋น„๊ต ๋ฐ ๋™๊ธฐํ™” ์ˆ˜ํ–‰
  • API Server : UI ๋ฐ CLI ๋ช…๋ น์–ด ์ˆ˜์‹ 
  • Repository Server : Git์—์„œ ๋งค๋‹ˆํŽ˜์ŠคํŠธ ๊ฐ€์ ธ์˜ค๋Š” ์—ญํ• 
  • UI : ์›น ๊ธฐ๋ฐ˜ ์‹œ๊ฐํ™” ๋Œ€์‹œ๋ณด๋“œ

 

Argo CD์˜ ์žฅ์ 

  • ๋ฐฐํฌ ์ž๋™ํ™” ๋ฐ ์•ˆ์ „์„ฑ ํ™•๋ณด
  • Git ๊ธฐ๋ฐ˜์˜ ์ด๋ ฅ ๊ด€๋ฆฌ์™€ ์ถ”์  ๊ฐ€๋Šฅ์„ฑ
  • Kubernetes ํ™˜๊ฒฝ์—์„œ ์„ ์–ธ์  ์ธํ”„๋ผ ๊ด€๋ฆฌ
  • CI ๋„๊ตฌ์™€ ์—ฐ๋™ ์‹œ ์™„์ „ํ•œ CI/CD ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌํ˜„ ๊ฐ€๋Šฅ

 

Argo CD ๊ตฌ์ถ• ์˜ˆ์‹œ

์ถœ์ฒ˜: https://beer1.tistory.com/40

 

Argo CD๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด GitOps์˜ Pull-based pipeline์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 


 

Argo CD ์„ค์น˜ ๋ฐฉ๋ฒ•


Argo CD ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 

 

Argo CD๋ฅผ ์„ค์น˜ํ•˜๋ ค๋ฉด Kubernetes ํ™˜๊ฒฝ + Argo CD ์„ค์น˜ ๋‘ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ์•ผ ํ•ฉ๋‹ˆ๋‹ค. 

 

์‚ฌ์ „ ์ค€๋น„

1. Homebrew ์„ค์น˜ (์—†๋‹ค๋ฉด)

 

2. kubectl ์„ค์น˜

brew install kubectl

 

3. Kubernetes ํด๋Ÿฌ์Šคํ„ฐ ์ค€๋น„ (๋กœ์ปฌ์—์„œ minikube ์‚ฌ์šฉ)

 

์„ค์น˜ ๋ฐฉ๋ฒ•์€ ์ด์ „์— ์ •๋ฆฌํ–ˆ๋˜ ์•„๋ž˜์˜ ๋ธ”๋กœ๊ทธ๋ฅผ ํ™•์ธํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

https://jiholine10.tistory.com/735

 

Minikube ์„ค์น˜ํ•˜๊ธฐ

1. Minikube ์„ค์น˜ ์ €๋Š” ๋งฅ๋ถ m2๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ, ์ด์— ํ•ด๋‹นํ•˜๋Š” Minikube๋ฅผ ์„ค์น˜ํ•˜๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค. [Mac OS (Apple Silicon; ARM64)]curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-arm64sudo install m

jiholine10.tistory.com

 

Argo CD ์„ค์น˜

 

1. Argo CD ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ ์šฉ

*๋งค๋‹ˆํŽ˜์ŠคํŠธ : kubernetes์—์„œ ํด๋Ÿฌ์ŠคํŠธ์— ์–ด๋–ค ๋ฆฌ์†Œ์Šค๋ฅผ ์–ด๋–ป๊ฒŒ ๋ฐฐํฌํ• ์ง€ ์ •์˜ํ•œ ์„ค์ •ํŒŒ์ผ

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

 

2. Argo CD CLI ์„ค์น˜

 

3. Argo CD ์„œ๋ฒ„ ํฌํŠธ ํฌ์›Œ๋”ฉ

 

4. ์ดˆ๊ธฐ ๊ด€๋ฆฌ์ž ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ

 

5. ๋กœ๊ทธ์ธ (CLI)

'CI,CD > ArgoCD' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

GitOps๋ž€ ?  (1) 2025.07.23

๋Œ“๊ธ€