CI_CD
Argo CD Kubernetes 설치 방법
ipxy
2025. 3. 29. 16:31
728x90
🚀 Argo CD Kubernetes 설치 가이드 (식 방식)
✅ 1. 네임스페이스 생성
kubectl create namespace argocd
✅ 2. Argo CD 설치 (Stable Release)
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
⏱ 설치가 완료되면 여러 Argo CD 컴포넌트가 argocd 네임스페이스에 생성됩니다.
kubectl get pods -n argocd
✅ 3. Argo CD 서버 포트 포워딩 (간편 테스트용)
kubectl port-forward svc/argocd-server -n argocd 8080:443
웹 브라우저에서 접속:
https://localhost:8080
✅ 4. 관리자 초기 비밀번호 확인
기본 관리자 계정은 admin이고, 초기 비밀번호는 argocd-server Pod가 있는 **namespace의 argocd-initial-admin-secret**에서 확인합니다:
kubectl get secret argocd-initial-admin-secret -n argocd -o jsonpath="{.data.password}" | base64 -d
이 비밀번호는 로그인 후 변경해야 합니다.
✅ 5. CLI 설치 (선택)
# macOS
brew install argocd
# Linux
curl -sSL -o argocd https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64
chmod +x argocd
sudo mv argocd /usr/local/bin/
로그인 예시:
argocd login localhost:8080
🔐 (옵션) Ingress 또는 LoadBalancer 설정
기본적으로 Argo CD 서버는 ClusterIP로 생성됩니다. 실제 운영 환경에선 Ingress Controller 또는 LoadBalancer로 외부 노출을 설정합니다.
LoadBalancer 예시:
kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "LoadBalancer"}}'
📌 Argo CD 기본 구성요소
컴포넌트 역할
argocd-server | Web UI, API 서버 |
argocd-repo-server | Git Repo 분석 및 Kustomize/Helm 처리 |
argocd-application-controller | App 상태 모니터링 및 동기화 |
argocd-dex-server | 로그인 및 인증 (OIDC) |
argocd-redis | 캐시용 Redis |
⚙️ Argo CD App 예제 (Git에서 앱 배포)
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: nginx-app
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/argoproj/argocd-example-apps
targetRevision: HEAD
path: guestbook
destination:
server: https://kubernetes.default.svc
namespace: default
syncPolicy:
automated:
prune: true
selfHeal: true
위 YAML을 적용하면 GitHub에서 앱을 자동으로 배포합니다.
728x90