..

ArgoCD 입문: Kubernetes를 위한 GitOps 선언적 배포

1. ArgoCD란 무엇인가?

ArgoCD는 Kubernetes를 위한 선언적 GitOps 배포 도구입니다. 어플리케이션의 설정 상태가 담긴 Git 리포지토리와 실제 클러스터 상태를 비교하여, 항상 동일한 상태(Desired State)로 유지시켜주는 역할을 합니다.

2. 주요 아키텍처 및 워크플로우

  1. 이미지 빌드 및 푸시: 소스코드가 수정되면 CI 도구(Jenkins, Actions 등)가 이미지를 빌드하고 레지스트리(Harbor 등)에 푸시합니다.
  2. 매니페스트 업데이트: 프로젝트의 K8s 설정 파일(Helm, Kustomize 등)이 담긴 리포지토리를 업데이트합니다.
  3. 감지 및 동기화 (Sync): ArgoCD가 Git의 변경 사항을 감지하고, 클러스터에 배포된 리소스를 Git에 정의된 최신 상태로 업데이트합니다.

3. 핵심 기능

  • 실시간 모니터링: 클러스터 내 리소스 상태를 웹 UI를 통해 직관적으로 확인할 수 있습니다.
  • 자동 동기화 (Auto Sync): Git에 코드가 푸시되면 자동으로 클러스터에 반영되도록 설정할 수 있습니다.
  • 롤백 (Rollback): 문제가 발생했을 때 클릭 한 번으로 이전의 안정적인 상태로 되돌릴 수 있습니다.

ArgoCD는 “Git이 곧 진실의 원천(Source of Truth)”이 되게 하는 인프라 자동화의 필수 도구입니다.