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"


암호확인

kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d

암호 수정

argocd login localhost:8080 
argocd account update-password

깃허브 리포지토리 추가 예시

argocd repo add https://gitlab.cicd.local/pj1/pilot-app-1.git \
 --username admin@example.com \
 --password ...-rzfqbCiMr97Pbc- \
 --insecure-skip-server-verification

깃러브 Manifests (deployment 와 kustomization 파일을 생성 합니다.)
https://github.com/dslee1371/gitops/tree/main/autotrade-binance

애플리케이션 생성





생성되며, Sync 하고, 정상 상태가 확인 됩니다.(Healthy, Synced)




수동으로 새로운 버전으로 배포하기: 

GitOps 기반 배포 도구(예: Argo CD)에서는 애플리케이션을 자동 동기화(Auto‑Sync) 또는 수동 동기화(Manual Sync) 방식으로 배포할 수 있습니다. 이 절차에서는 수동 동기화를 통해 새 버전을 배포하는 과정을 단계별로 설명합니다.


1. 새 버전 감지

  • 애플리케이션의 Git 리포지토리에 코드 변경(커밋·푸시)이나 새로운 태그가 올라가면, UI 상에서 해당 애플리케이션의 상태가 OutOfSync로 표시됩니다.

  • 이는 “내부(클러스터)에 반영된 버전”과 “Git상의 최신 버전”이 일치하지 않음을 의미합니다.

2. OutOfSync 상태 확인

  1. 대시보드의 애플리케이션 리스트에서 OutOfSync 뱃지가 붙은 항목을 찾습니다.

  2. 혹은 애플리케이션 상세 페이지로 들어가서 상단 상태 표시줄에서 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 리포지토리가 변경될 때마다 자동으로 동기화가 수행됩니다.




댓글

이 블로그의 인기 게시물

금융권 망분리 환경에서 클로드 코드 도입할 때 실제로 걸리는 5가지 — 보안팀 질문과 대응 설정

맥 스튜디오 M5 Ultra 512GB, 3,000만원을 어떻게 결제할까 — 카드 한도 상향·18개월 무이자·잔존가치 금융리스 총정리

Kubernetes Pod Pending 해결법: FailedScheduling 원인별 실전 점검 가이드