동기화 정책, 자동 복구 및 Helm 지원을 포함한 GitOps 배포를 위한 ArgoCD 애플리케이션 매니페스트를 생성합니다.
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: my-app
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/org/repo
targetRevision: HEAD
path: k8s/overlays/prod
destination:
server: https://kubernetes.default.svc
namespace: productionkubectl apply -f argocd-app.yaml
ArgoCD는 쿠버네티스용 GitOps 지속적 배포 도구입니다. 이 도구는 Git 저장소의 변경 사항을 모니터링하여, 저장소에 정의된 목표 상태에 맞춰 쿠버네티스 리소스를 자동으로 동기화합니다. ‘애플리케이션(Application)’은 ArgoCD의 핵심 리소스로, 소스 저장소, 대상 클러스터, 대상 네임스페이스 및 동기화 정책을 정의합니다.
애플리케이션 이름, 네임스페이스, Git 저장소 URL, 그리고 해당 저장소 내에서 쿠버네티스 매니페스트나 헬름 차트가 위치한 경로를 입력하세요. 소스 유형으로 Git 또는 Helm을 선택하고, 대상 리비전(브랜치 또는 태그)을 설정한 다음, 동기화 정책을 선택하십시오. 생성기는 완전한 애플리케이션 YAML 파일과 함께 ArgoCD에 이를 등록하기 위한 <code>kubectl apply</code> 명령어를 출력합니다.
‘prune’ 및 ‘self-heal’ 기능이 포함된 자동 동기화가 권장되는 운영 환경 설정입니다. ArgoCD는 Git에서 제거된 리소스를 삭제하고, 드리프트 발생 시 자동으로 복구합니다. 첫 배포 시에는 수동 동기화를 통해 적용 전에 생성될 항목을 미리 확인할 수 있습니다. 네임스페이스 자동 생성이 활성화되면, 선택 사항인 <code>CreateNamespace=true</code> 서버 측 적용 옵션이 추가됩니다.