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 리소스 삭제 시 부모-자식 관계를 고려하여 안전하게 처리합니다:
- 자식 리소스가 모두 삭제된 후 부모 리소스 삭제
- 삭제 과정이 명확하고 예측 가능
- 일시적으로 삭제 시간이 길어질 수 있음
현재 설정의 장단점
장점:
- 안전하고 예측 가능한 배포
- 수동 제어로 인한 실수 방지
- 리소스 정리 시 안전성 보장
단점:
- 자동화 부족으로 인한 운영 부담
- 성능 최적화 옵션 미활용
- 네임스페이스 수동 관리 필요
개선 제안
프로덕션 환경에서는 현재 설정이 적절하지만, 다음과 같은 상황에서는 조정을 고려해보세요:
- 개발/스테이징 환경: AUTO-CREATE NAMESPACE 활성화
- 대규모 애플리케이션: APPLY OUT OF SYNC ONLY 활성화로 성능 개선
- 복잡한 리소스 관계: SERVER-SIDE APPLY 활성화 고려
- 자동화 필요 시: SYNC POLICY를 자동으로 변경
반응형