Argo CD 는 Kubernetes 용 GitOps 배포 도구다. Git 저장소의 매니페스트(plain YAML · Helm · Kustomize)를 원하는 상태로 삼고, 클러스터의 실제 상태와 비교해 차이를 보여주며 동기화한다. 배포 이력이 Git 커밋이 되고, 롤백은 이전 커밋으로 돌리는 것이 된다.
현행 버전은 v3.5.3 이다[1].
| 구성 요소 | 역할 |
|---|---|
| argocd-server | API 서버와 웹 UI. CLI 와 UI 가 여기에 붙는다 |
| argocd-repo-server | Git 저장소를 받아 매니페스트를 렌더링한다 |
| argocd-application-controller | Application 오브젝트를 감시해 실제 상태와 비교 · 동기화한다 |
| argocd-redis | 캐시 |
| argocd-dex-server | SSO (OIDC · LDAP · GitHub) 연동. 선택 |
kubectl create namespace argocd
kubectl apply -n argocd --server-side --force-conflicts -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
kubectl -n argocd get pods
ARGOCD_VERSION=$(curl -s https://api.github.com/repos/argoproj/argo-cd/releases/latest | grep tag_name | cut -d '"' -f4)
curl -sSL -o argocd https://github.com/argoproj/argo-cd/releases/download/$ARGOCD_VERSION/argocd-linux-amd64
sudo install -m 0755 argocd /usr/local/bin/argocd
argocd version --client
LoadBalancer 를 쓸 수 있으면 서비스 타입을 바꾼다.
kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "LoadBalancer"}}'
kubectl get svc argocd-server -n argocd -o=jsonpath='{.status.loadBalancer.ingress[0].ip}'
없으면 포트 포워딩으로 붙는다.
kubectl port-forward svc/argocd-server -n argocd 8080:443
초기 admin 암호는 argocd-initial-admin-secret 에 들어 있다.
argocd admin initial-password -n argocd
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
argocd login <ARGOCD_SERVER>
argocd account update-password
암호를 바꾼 뒤에는 초기 Secret 을 지운다.
kubectl -n argocd delete secret argocd-initial-admin-secret
argocd app create guestbook \
--repo https://github.com/argoproj/argocd-example-apps.git \
--path guestbook \
--dest-server https://kubernetes.default.svc \
--dest-namespace default
argocd app get guestbook
UI 에서는 [+ New App] 에서 같은 항목을 넣는다.
argocd app sync guestbook
argocd app list
자동 동기화와 자동 정리를 켜면 Git 이 바뀔 때마다 알아서 맞춘다.
argocd app set guestbook --sync-policy automated --auto-prune --self-heal
kubectl config get-contexts -o name
argocd cluster add <CONTEXT_NAME>
최신 버전 v3.5.3 — 2026-09-20 확인. https://github.com/argoproj/argo-cd/releases/latest ↩︎