Updated:

less than 1 minute read

개요

  • 사이트/GitHub
  • Kubernetes를 위한 선언적 GitOps 지속적 전달 도구


특징

  • 지정된 대상 환경에 애플리케이션 자동 배포
  • 여러 구성 관리/템플릿 도구 지원(Kustomize, Helm, Jsonnet, plain-YAML)
  • 여러 클러스터를 관리하고 배포
  • SSO 통합(OIDC, OAuth2, LDAP, SAML 2.0, GitHub, GitLab, Microsoft, LinkedIn)
  • 승인을 위한 다중 테넌트 및 RBAC 정책
  • Git 저장소에 커밋된 모든 애플리케이션 구성으로 롤백/어디서나 롤백
  • 애플리케이션 자원의 상태 분석
  • 자동화된 구성 드리프트 감지 및 시각화
  • 애플리케이션을 원하는 상태로 자동 또는 수동 동기화
  • 애플리케이션 활동을 실시간으로 볼 수 있는 웹 UI
  • 자동화 및 CI 통합을 위한 CLI
  • 웹훅 통합(GitHub, BitBucket, GitLab)
  • 자동화를 위한 액세스 토큰
  • 복잡한 애플리케이션 롤아웃(예: 블루/그린 및 카나리아 업그레이드)을 지원하는 PreSync, Sync, PostSync 후크
  • 애플리케이션 이벤트 및 API 호출에 대한 감사 추적
  • 프로메테우스 측정 항목
  • Git에서 helm 매개변수를 재정의하기 위한 매개변수 재정의


설치(helm)

  • helm repo add argo https://argoproj.github.io/argo-helm
    helm repo update
        
    helm install argo-cd argo/argo-cd --namespace argo-cd --create-namespace --values values.yaml
    
  • values.yaml
    • server:
        service:
          type: NodePort
          nodePortHttp: 30080
      


설치 확인

  • {ip}:30080
    • Username
      • admin
    • Password
      • kubectl -n argo-cd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d


삭제

  • helm uninstall argo-cd --namespace argo-cd
    helm repo remove argo
    kubectl delete namespaces argo-cd