Argo CD
Argo CD는 쿠버네티스에서 사용하는 GitOps 도구로,
Git 저장소의 YAML 정의를 기준으로 쿠버네티스 리소스를 자동 배포 및 동기화
GitOps
- kubectl apply 대신 Git에 변경사항을 커밋하면 자동 배포
- 코드 상태와 실제 클러스터 상태를 일치시키는 운영 방식
Argo CD의 주요 기능
- Git 저장소와 연동하여 리소스를 자동으로 관리
- 배포 현황을 웹 UI에서 실시간 확인
- 이전 상태로 간단히 롤백 가능
- 여러 클러스터 동시 관리 가능
- 멀티 네임스페이스 지원
Argo CD 설치
네임스페이스 생성
kubectl create namespace argocd
Argo CD 설치
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
Argo CD 서버 접속
포트포워딩으로 UI 접근
kubectl port-forward svc/argocd-server -n argocd 8889:443
브라우저에서 접속:
http://localhost:8889
관리자 비밀번호 확인 및 로그인
초기 관리자 계정은 admin
비밀번호는 다음 명령어로 확인
kubectl get secret argocd-initial-admin-secret -n argocd -o jsonpath="{.data.password}"
https://www.base64decode.org/ 사이트에서 admin 사용자의 초기 패스워드를 BASE64 디코딩
Git 저장소 연동 및 애플리케이션 생성
깃허브 레포지터리를 생성
git clone 후 해당 폴더에 deployment.yaml 생성
- replicas: 4로 설정(pod 4개 생성)
- deployment.yaml 파일 생성 후 git push
Argo CD UI에서 설정
상태 동기화
SYNC 버튼을 눌러 Git에 정의된 리소스를 클러스터에 실제로 배포합니다.
상태는 Healthy / Synced 로 표시됩니다.
Argo CD로 배포된 초기 상태 확인
replicas 변경
- deployment.yaml에서 replicas: 4 → 2로 수정
- git commit, git push
- Argo CD에서 Sync 버튼 클릭
반영 결과 확인
'Kubernetes' 카테고리의 다른 글
Kubernetes - nginx 파드 배포와 서비스로 외부 연결 (0) | 2025.06.21 |
---|---|
Kubernetes - 기초 개념과 클러스터 구조 이해 (0) | 2025.06.21 |