Argo CD 설치 및 Autotrade app 자동배포 파이프 만들기 - Gitops 형상관리
개요
Git 리포지토리에 저장된 Kubernetes 매니페스트를 클러스터와 연동하여, 변경 사항을 자동으로 감지·반영하거나 필요 시 수동으로 동기화하는 GitOps 기반 배포 자동화 도구입니다. 이를 통해 애플리케이션 배포 과정을 코드로 관리하여 일관성과 안정성을 높이고, 배포 파이프라인의 투명한 변경 이력 관리를 가능하게 합니다.
설치
helm install argocd oci://ghcr.io/argoproj/argo-helm/argo-cd \
--namespace argocd \
--create-namespace \
--set configs.params."server\.insecure"=true \
--set server.ingress.enabled=true \
--set server.ingress.hostname="argocd.apps.lab3.dslee.lab"
암호확인
암호 수정
깃허브 리포지토리 추가 예시
애플리케이션 생성
생성되며, Sync 하고, 정상 상태가 확인 됩니다.(Healthy, Synced)
수동으로 새로운 버전으로 배포하기:
1. 새 버전 감지
-
애플리케이션의 Git 리포지토리에 코드 변경(커밋·푸시)이나 새로운 태그가 올라가면, UI 상에서 해당 애플리케이션의 상태가 OutOfSync로 표시됩니다.
-
이는 “내부(클러스터)에 반영된 버전”과 “Git상의 최신 버전”이 일치하지 않음을 의미합니다.
2. OutOfSync 상태 확인
-
대시보드의 애플리케이션 리스트에서 OutOfSync 뱃지가 붙은 항목을 찾습니다.
-
혹은 애플리케이션 상세 페이지로 들어가서 상단 상태 표시줄에서 OutOfSync를 확인할 수 있습니다.
3. Sync 버튼 클릭
-
OutOfSync 상태인 애플리케이션의 상세 페이지 우측 상단에 있는 Sync 버튼을 클릭합니다.
4. 동기화 옵션 설정 (선택사항)
Sync 창이 뜨면 다음 옵션을 필요에 따라 활성화할 수 있습니다:
-
Prune Resources: Git에서 제거된 리소스를 클러스터에서도 함께 삭제
-
Dry Run: 실제로 적용하지 않고 시뮬레이션만 수행
-
Force Apply: 충돌이 있더라도 강제로 덮어쓰기
옵션을 선택한 뒤 Synchronize(또는 Sync) 버튼을 눌러 배포를 시작합니다.
5. 배포 진행 및 결과 확인
-
동기화 로그가 실시간으로 출력되며, 각 Kubernetes 리소스가 업데이트되는 과정을 볼 수 있습니다.
-
완료되면 상태가 Synced로 바뀌고, Health 상태(
Healthy등)를 통해 정상 여부를 최종 확인합니다.
Tip.
매번 수동으로 배포하는 번거로움을 줄이려면, 애플리케이션 설정에서 자동 동기화(Auto‑Sync) 기능을 켜두세요. Git 리포지토리가 변경될 때마다 자동으로 동기화가 수행됩니다.
댓글
댓글 쓰기