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