Dev/KUBERNETES

ArgoCD 동기화 설정 마스터하기

Andrea.K 2025. 7. 8. 12:02
반응형

📋 ArgoCD 동기화 설정 완벽 가이드

이 설정 화면은 ArgoCD에서 애플리케이션 배포 시 어떤 방식으로 동기화할지 결정하는 중요한 옵션들을 제공합니다. 각 옵션은 배포의 안정성, 성능, 그리고 복구 능력에 직접적인 영향을 미칩니다.

주요 설정 분석

SYNC POLICY: Manual 수동 동기화 모드로 설정되어 있어 개발자가 직접 배포 타이밍을 제어할 수 있습니다. 이는 프로덕션 환경에서 예상치 못한 자동 배포를 방지하는 안전장치 역할을 합니다.
SET DELETION FINALIZER: 비활성화 애플리케이션 삭제 시 추가적인 안전 검증 없이 즉시 삭제됩니다. 빠른 정리는 가능하지만, 실수로 인한 데이터 손실 위험이 있습니다.

핵심 동기화 옵션들

SKIP SCHEMA VALIDATION (비활성화)

  • Kubernetes API 스키마 검증을 수행하여 잘못된 YAML 배포를 방지
  • 커스텀 리소스나 베타 API 사용 시에만 활성화 고려

AUTO-CREATE NAMESPACE (비활성화)

  • 네임스페이스가 미리 존재해야 배포 가능
  • 네임스페이스 관리를 별도로 수행해야 함

APPLY OUT OF SYNC ONLY (비활성화)

  • 모든 리소스를 매번 재적용하여 일관성 보장
  • 성능보다 안정성을 우선시하는 설정

SERVER-SIDE APPLY (비활성화)

  • 클라이언트 측에서 리소스 병합 처리
  • 복잡한 리소스 충돌 상황에서는 제한적일 수 있음

리소스 삭제 정책

PRUNE PROPAGATION POLICY: foreground 리소스 삭제 시 부모-자식 관계를 고려하여 안전하게 처리합니다:

  • 자식 리소스가 모두 삭제된 후 부모 리소스 삭제
  • 삭제 과정이 명확하고 예측 가능
  • 일시적으로 삭제 시간이 길어질 수 있음

현재 설정의 장단점

장점:

  • 안전하고 예측 가능한 배포
  • 수동 제어로 인한 실수 방지
  • 리소스 정리 시 안전성 보장

단점:

  • 자동화 부족으로 인한 운영 부담
  • 성능 최적화 옵션 미활용
  • 네임스페이스 수동 관리 필요

개선 제안

프로덕션 환경에서는 현재 설정이 적절하지만, 다음과 같은 상황에서는 조정을 고려해보세요:

  1. 개발/스테이징 환경: AUTO-CREATE NAMESPACE 활성화
  2. 대규모 애플리케이션: APPLY OUT OF SYNC ONLY 활성화로 성능 개선
  3. 복잡한 리소스 관계: SERVER-SIDE APPLY 활성화 고려
  4. 자동화 필요 시: SYNC POLICY를 자동으로 변경

 

반응형