π Argo CD κ°μ (Overview)
πΉ Argo CDλ?
Argo CDλ Kubernetesλ₯Ό μν μ μΈν(Declarative) GitOps κΈ°λ° μ§μμ λ°°ν¬(CD) λꡬμ
λλ€. Git μ μ₯μλ₯Ό **λ¨μΌ μ§μ€ μμ€(source of truth)**λ‘ μ¬μ©νμ¬, Kubernetes μ ν리μΌμ΄μ
μ λ°°ν¬ λ° μν κ΄λ¦¬λ₯Ό μλνν©λλ€.
β μ Argo CDλ₯Ό μ¬μ©νλκ°?
- μ ν리μΌμ΄μ
μ μ, ꡬμ±, νκ²½μ **μ μΈμ (Declarative)**μΌλ‘ μμ±λμ΄μΌ νκ³ , λ²μ κ΄λ¦¬λμ΄μΌ ν©λλ€.
- μ ν리μΌμ΄μ
λ°°ν¬ λ° λΌμ΄νμ¬μ΄ν΄ κ΄λ¦¬λ μλνλκ³ , **κ°μ¬(auditable)**κ° κ°λ₯ν΄μΌ νλ©°, μ΄ν΄/μΆμ μ΄ μ¬μμΌ ν©λλ€.
βοΈ μλ μ리 (How it works)
- Argo CDλ GitOps ν¨ν΄μ λ°λ₯΄λ©°, Git μ μ₯μμ μ μλ μνλ μν(desired state)μ Kubernetes ν΄λ¬μ€ν°μ μ€μ μν(live state)λ₯Ό μ§μμ μΌλ‘ λΉκ΅ν©λλ€.
- Kubernetes λ§€λνμ€νΈλ μ¬λ¬ ν¬λ§·μ μ§μν©λλ€:
- Kustomize, Helm charts, Jsonnet, μΌλ° YAML/JSON λ±.
- μν μ°¨μ΄κ° λ°κ²¬λλ©΄ Argo CDλ μ΄λ₯Ό μκ°ννκ³ μλ λλ μλμΌλ‘ λκΈ°ν(sync) ν©λλ€.
ποΈ ν΅μ¬ μν€ν
μ²
Argo CDλ Kubernetes 컨νΈλ‘€λ¬λ‘ ꡬνλμ΄ μμΌλ©°, νμ¬ Kubernetes μνμ Git μ μ₯μμ μνλ μνλ₯Ό κ²μ¬ν©λλ€.
- μνκ° λ€λ₯΄λ©΄ OutOfSyncλ‘ νμλ©λλ€.
- μλ λλ μλ λκΈ°ν(sync) κΈ°λ₯μ ν΅ν΄ ν΄λ¬μ€ν°λ₯Ό Git κΈ°λ° μνλ‘ λλ립λλ€.
β¨ μ£Όμ κΈ°λ₯
- Kubernetes μ ν리μΌμ΄μ
μλ λ°°ν¬