ArgoCD

지원 버전: ArgoCD v2.9+, Argo Rollouts v1.6+ 마지막 업데이트: 2026년 2월 23일

목차

ArgoCD란?

ArgoCD는 Kubernetes를 위한 선언적 GitOps 지속적 배포(Continuous Delivery) 도구입니다. CNCF(Cloud Native Computing Foundation) Graduated 프로젝트로, Git 저장소에 정의된 애플리케이션 상태를 Kubernetes 클러스터에 자동으로 동기화합니다.

ArgoCD는 Git 저장소를 "진실의 원천(Single Source of Truth)"으로 사용하여:

  • 애플리케이션 배포를 자동화

  • 클러스터 상태를 지속적으로 모니터링

  • 원하는 상태와 실제 상태의 차이를 감지하고 조정

  • 배포 이력을 추적하고 롤백 지원

주요 이점

1. 선언적 배포

2. 자동화된 동기화

  • Git 변경 시 자동 배포

  • 드리프트(Drift) 감지 및 자체 치유

  • 수동 변경 자동 복구

3. 멀티 클러스터 관리

  • 중앙 집중식 다중 클러스터 관리

  • ApplicationSet을 통한 대규모 배포

  • 클러스터 간 일관성 유지

4. 가시성과 감사

  • 직관적인 웹 UI

  • 배포 이력 및 롤백

  • 실시간 상태 모니터링

  • 감사 로그 자동 생성

5. 프로그레시브 딜리버리

  • Argo Rollouts 통합

  • 블루/그린, 카나리 배포

  • 자동 롤백

아키텍처

ArgoCD는 Kubernetes 컨트롤러 패턴을 따르며, 여러 구성 요소로 이루어져 있습니다:

spinner

핵심 컴포넌트

컴포넌트
역할
설명

API Server

인터페이스

gRPC/REST API 제공, 인증/인가 처리

Application Controller

핵심 로직

애플리케이션 상태 모니터링 및 동기화

Repo Server

매니페스트 생성

Git 저장소에서 매니페스트 렌더링

Redis

캐싱

매니페스트 캐시, 세션 저장

Dex

SSO

OIDC/SAML/LDAP 인증 브로커

ApplicationSet Controller

대규모 배포

템플릿 기반 Application 생성

Notifications Controller

알림

Slack, Email 등 알림 발송

데이터 흐름

spinner

핵심 개념

Application

ArgoCD의 기본 배포 단위입니다. Git 저장소의 매니페스트를 특정 클러스터와 네임스페이스에 배포합니다.

AppProject

Application을 논리적으로 그룹화하고 접근 제어를 설정합니다.

ApplicationSet

템플릿을 사용하여 여러 Application을 자동 생성합니다.

동기화 상태

상태
설명

Synced

Git과 클러스터 상태 일치

OutOfSync

Git과 클러스터 상태 불일치

Unknown

상태 확인 불가

헬스 상태

상태
설명

Healthy

모든 리소스 정상

Progressing

배포 진행 중

Degraded

일부 리소스 비정상

Suspended

일시 중지됨

Missing

리소스 없음

버전 지원 정보

ArgoCD 버전

버전
Kubernetes 지원
주요 기능

v2.13

1.27 - 1.31

최신 안정 버전

v2.12

1.26 - 1.30

ApplicationSet Progressive Syncs

v2.11

1.26 - 1.30

Server-side Apply

v2.10

1.25 - 1.29

Multiple Sources

v2.9

1.24 - 1.28

ApplicationSet Matrix/Merge

Argo Rollouts 버전

버전
주요 기능

v1.7

최신 안정 버전, ALB 개선

v1.6

Istio Gateway API 지원

v1.5

Analysis improvements

Kubernetes 호환성

spinner

하위 가이드

이 ArgoCD 가이드는 다음 하위 문서로 구성되어 있습니다:

가이드
설명
난이도

ArgoCD 설치, CLI 설정, 초기 구성

초급

Application CRD 상세, 소스 유형, 훅

중급

자동/수동 동기화, 웨이브, 윈도우

중급

9가지 생성기, 템플릿, 대규모 배포

고급

Argo Rollouts, 블루/그린, 카나리

고급

AppProject, RBAC 정책, 멀티테넌시

중급

SSO, 시크릿 관리, TLS

중급

Slack, Teams, Webhook 연동

중급

프로덕션 구성, 성능 최적화, 문제 해결

고급

학습 경로

spinner

빠른 시작

1. ArgoCD 설치

2. CLI 설치

3. 초기 접근

4. 첫 번째 Application 배포

5. 웹 UI 접근

브라우저에서 https://localhost:8080으로 접속합니다.

  • 사용자명: admin

  • 비밀번호: 위에서 얻은 초기 비밀번호

Amazon EKS 통합

ArgoCD는 Amazon EKS와 원활하게 통합됩니다:

자세한 EKS 통합 가이드는 설치 및 구성을 참조하세요.

다음 단계

  1. 설치 및 구성: ArgoCD를 클러스터에 설치하고 기본 구성을 완료하세요.

  2. Application 심층 분석: Application CRD의 모든 옵션을 학습하세요.

  3. 동기화 전략: 자동 동기화와 동기화 웨이브를 구성하세요.

참고 자료

퀴즈

이 장에서 배운 내용을 테스트하려면 ArgoCD 설치 퀴즈를 풀어보세요.

마지막 업데이트