본문 바로가기
클라우드(Cloud)

GitOps의 표준, 쿠버네티스 배포 자동화 도구 ArgoCD에 대해 알아보겠습니다.

by forward error correction Circle 2026. 4. 26.
반응형

Ⅰ. ArgoCD 란?

 ArgoCD(아르고시디)는 2018년 미국 핀테크 기업 Intuit 가 사내 쿠버네티스 멀티 클러스터 배포 자동화를 위해 개발하여 오픈소스로 공개한 선언형(Declarative) GitOps 지속적 배포(Continuous Delivery) 도구입니다. "Git 저장소가 인프라·애플리케이션의 단일 진실의 원천(Single Source of Truth)이며, 클러스터의 실제 상태는 항상 Git 의 선언과 일치해야 한다" 는 GitOps 철학을 가장 충실히 구현한 도구로, 2020년 Argo Project(Argo Workflows·Argo Events·Argo Rollouts·Argo CD) 의 핵심 구성요소로 CNCF(Cloud Native Computing Foundation)에 기증된 후 2022년 12월 CNCF Graduated 등급으로 승격되었습니다. 2025~2026년 현재 v2.13.x / v3.x 가 표준이며, Intuit·BlackRock·Adobe·Tesla·Spotify·Capital One·삼성SDS·SK텔레콤·네이버·카카오·우아한형제들·쿠팡 등 글로벌·국내 주요 기업에서 K8s 배포 파이프라인의 사실상 표준(de facto standard)으로 활용되고 있으며, AWS·GCP·Azure 의 매니지드 K8s 환경에서도 가장 많이 설치되는 GitOps 도구입니다.

 

■ ArgoCD vs 경쟁 GitOps / CD 도구 비교

비교 항목 ArgoCD Flux CD Spinnaker Jenkins X
패러다임 선언형 GitOps Pull 선언형 GitOps Pull 파이프라인 기반 Push 하이브리드(Push/Pull)
제공 형태 단일 컨트롤러 + 강력한 UI 여러 컨트롤러 조합(Toolkit) 대형 마이크로서비스 묶음 Tekton 기반 파이프라인
UI/시각화 최고 수준의 트리/리소스 뷰 CLI 위주, UI 별도 설치 파이프라인 단계 시각화 Tekton Dashboard
멀티 클러스터 단일 컨트롤 플레인 N 개 클러스터 클러스터별 설치 권장 강력 지원 제한적
렌더링 엔진 Helm·Kustomize·Jsonnet·Plugin Helm·Kustomize 자체 매니페스트 Helm
관리 주체 CNCF (Argo Project) CNCF (Flux Project) Netflix·Google CD Foundation
학습 곡선 낮음 (UI 기반) 중간 (CLI/CRD) 높음 (운영 부담) 중간
대표 사용처 Intuit, Tesla, Adobe, 카카오 Microsoft, Volvo Netflix, Target CloudBees 진영
CNCF 등급 Graduated (2022.12) Graduated (2022.11) 미참여 CDF Graduated

Ⅱ. ArgoCD 주요 특징

 ⅰ. 선언형 GitOps Pull 모델

   : Git 저장소의 매니페스트(Helm·Kustomize·plain YAML·Jsonnet)를 단일 진실의 원천으로 삼아, ArgoCD 가 클러스터 안에서 주기적으로 Git 을 Pull 하여 자동 동기화하는 방식으로 외부 CI 가 클러스터 자격증명을 보유하지 않는 안전한 모델을 구현합니다.

 ⅱ. 강력한 시각화 Web UI 와 CLI

   : Application 의 리소스 트리·헬스·동기화 상태·Diff·이벤트·로그를 한 화면에서 확인할 수 있는 직관적인 UI 와, CI/CD 파이프라인 통합용 argocd CLI 를 함께 제공합니다.

 ⅲ. 멀티 클러스터·멀티 테넌시

   : 단일 ArgoCD 컨트롤 플레인이 수십~수백 개 K8s 클러스터(EKS/GKE/AKS/On-Prem)를 동시에 관리하며, AppProject·RBAC·SSO 로 팀별 권한을 세밀하게 분리할 수 있습니다.

 ⅳ. 다양한 매니페스트 렌더링 엔진

   : Helm·Kustomize·Jsonnet·plain YAML 을 네이티브로 지원하고, Config Management Plugin(CMP) 으로 Tanka·Kapitan·yq 등 사용자 정의 도구도 자유롭게 통합할 수 있습니다.

 ⅴ. ApplicationSet 으로 대규모 자동화

   : List/Cluster/Git/Matrix/Pull Request 등 8종의 Generator 로 수백 개 환경·클러스터·브랜치별 Application 을 단일 ApplicationSet 으로 자동 생성·관리하여 모놀리식 운영 부담을 제거합니다.

 ⅵ. 자동·수동 동기화와 Drift 감지

   : Auto-Sync, Self-Heal, Prune, Sync Window 정책으로 Git 과 클러스터 상태의 차이(Drift)를 즉시 감지·교정하며, OutOfSync/Healthy/Degraded 상태를 실시간 표시합니다.

 ⅶ. Sync Wave 와 Hooks

   : argocd.argoproj.io/sync-wave 어노테이션으로 리소스 적용 순서를 제어하고, PreSync·Sync·PostSync·SyncFail 훅으로 DB 마이그레이션·스모크 테스트·롤백 같은 복합 워크플로우를 구성할 수 있습니다.

 ⅷ. SSO·RBAC·감사 로그

   : Dex 를 통해 OIDC·LDAP·SAML·GitHub·Google·Okta 등과 연동되며, RBAC Policy CSV 로 팀·프로젝트·동작 단위의 세밀한 권한 통제를 제공합니다.

 ⅸ. Notifications 와 외부 통합

   : argocd-notifications 컨트롤러가 Slack·Teams·Email·Webhook·Telegram·Grafana 등으로 동기화 결과·헬스 변화 이벤트를 즉시 전달하여 운영 가시성을 확보합니다.

 ⅹ. Argo Rollouts 와의 결합

   : 같은 Argo Project 의 Argo Rollouts(Canary·Blue/Green·Progressive Delivery) 와 결합해 GitOps 기반의 안전한 점진적 배포 전략을 손쉽게 구현할 수 있습니다.

Ⅲ. ArgoCD 동작 방식

 ArgoCD 는 "Repo Server + Application Controller + API Server + Redis + Dex + ApplicationSet Controller + Notifications Controller" 의 협력으로 동작하며, 사용자가 Application(또는 ApplicationSet) CR 을 등록하면 다음 8단계 사이클이 반복됩니다.

ⅰ. Application 등록 : 개발자가 argocd app create 또는 Application CR YAML 로 "어떤 Git 저장소·경로·리비전을, 어느 클러스터·네임스페이스에 배포할지"를 선언합니다.

ⅱ. 매니페스트 가져오기(Fetch) : Repo Server 가 Git 저장소를 clone 하여 캐시하고, 지정된 리비전에서 Helm·Kustomize·plain YAML 을 읽어옵니다.

ⅲ. 매니페스트 렌더링(Render) : Repo Server 가 Helm template / kustomize build 를 실행해 최종 K8s 매니페스트(Desired State)를 생성하고 Redis 에 캐시합니다.

ⅳ. 라이브 상태 조회(Observe) : Application Controller 가 대상 클러스터 API 서버에 watch/list 를 걸어 실제 리소스(Live State)를 가져옵니다.

ⅴ. Diff 계산(Compare) : Desired State 와 Live State 를 비교해 OutOfSync/Synced 상태와 리소스별 변경 항목을 산출합니다.

ⅵ. 동기화(Sync) : 자동(syncPolicy.automated) 또는 수동(argocd app sync) 으로 kubectl apply / replace / prune 을 수행해 클러스터 상태를 Git 과 일치시킵니다.

ⅶ. 헬스 평가(Health) : 내장 + 사용자 정의 Lua 스크립트로 각 리소스의 Healthy/Progressing/Degraded/Missing 상태를 평가하고 Application 전체 헬스를 결정합니다.

ⅷ. 알림·후속 조치(Notify) : Notifications Controller 가 Slack·Webhook 으로 결과를 전송하고, Self-Heal 이 켜져 있으면 외부 변경(drift)을 자동 되돌립니다.

단계 처리 주체 핵심 동작 / 산출물
Application 등록 사용자 / API Server Application CR 생성, 저장소·경로·리비전·대상 지정
Fetch Repo Server Git Clone + 리비전 체크아웃, 자격증명·SSH 처리
Render Repo Server helm template / kustomize build → 매니페스트 캐시
Observe Application Controller 대상 클러스터의 라이브 리소스 watch/list
Compare Application Controller Desired vs Live Diff → OutOfSync/Synced 결정
Sync Application Controller apply/replace/prune, Hook(PreSync/PostSync) 실행
Health Application Controller 리소스별 Lua 헬스 평가 → Healthy/Degraded
Notify Notifications Controller Slack/Webhook 전송, Self-Heal 자동 교정

Ⅳ. ArgoCD 구성 및 흐름도

 ArgoCD 의 표준 구성은 "Web UI / CLI → API Server → Application Controller / Repo Server / ApplicationSet Controller / Notifications Controller → Redis(캐시) / Dex(SSO) → Git Repository / Target K8s Cluster(N개)" 로 이루어집니다.

 [ Developer / Platform Engineer ]

  ↓  (1) Git Push (manifests / Helm / Kustomize)

 [ Git Repository (GitHub / GitLab / Bitbucket) ]

  ↓  (2) Webhook 또는 3분 주기 Polling

 [ ArgoCD Repo Server ] ←→ [ Redis Cache ]

  ↓  (3) Helm/Kustomize 렌더링 결과

 [ ArgoCD Application Controller ] ←→ [ ArgoCD API Server ] ←→ [ Web UI / CLI ]

  ↓  (4) Diff & Sync (kubectl apply/prune)

 [ Target K8s Cluster #1 ]  [ #2 ]  [ #3 ]  …  [ #N ]

  ↓  (5) 라이브 상태 watch / 헬스 평가

 [ Notifications Controller ] → [ Slack / Teams / Email / Webhook ]

  ↓  (6) SSO / RBAC

 [ Dex (OIDC) ] → [ GitHub / Okta / Azure AD / Keycloak ]

컴포넌트 역할 비고
argocd-server (API Server) REST/gRPC API, Web UI, 인증·권한 검증, CLI 진입점 기본 포트 80/443
argocd-application-controller Application 의 동기화·헬스 평가·자가 치유 핵심 루프 수행 Reconcile 주기 기본 3분
argocd-repo-server Git Clone, Helm/Kustomize 렌더링, Plugin 실행 CMP/Sidecar 확장
argocd-redis 매니페스트·Diff·세션 캐시 HA 시 Sentinel
argocd-dex-server OIDC SSO 게이트웨이 (GitHub·Okta·LDAP 연동) 선택적 활성화
applicationset-controller ApplicationSet 으로 대규모 Application 자동 생성 Generator 8종
notifications-controller Slack/Email/Webhook 으로 이벤트 알림 전송 Trigger·Template DSL
Application (CR) Git 저장소·경로·대상 클러스터·동기화 정책 선언 argoproj.io/v1alpha1
AppProject (CR) 소스 저장소·대상 네임스페이스·RBAC 경계 정의 멀티 테넌시 단위
argocd CLI 로그인·앱 생성·동기화·롤백·Diff·로그 등 CLI 운영 CI/CD 통합용

Ⅴ. ArgoCD 설치 방법

 ArgoCD 는 단일 매니페스트, Helm 차트, Operator, ArgoCD Autopilot 등 다양한 방식으로 설치할 수 있습니다. 실무에서 자주 쓰이는 4가지 방식을 정리합니다.

ⅰ. 공식 매니페스트 설치 (가장 단순한 PoC 방식)

# 1) 네임스페이스 생성
kubectl create namespace argocd

# 2) 안정 버전 매니페스트 적용 (v2.13.x 기준)
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.13.0/manifests/install.yaml

# 3) Pod 기동 확인
kubectl -n argocd get pods -w

# 4) 초기 admin 비밀번호 확인
kubectl -n argocd get secret argocd-initial-admin-secret \
  -o jsonpath="{.data.password}" | base64 -d ; echo

# 5) 포트 포워딩 후 UI 접속
kubectl -n argocd port-forward svc/argocd-server 8080:443
# https://localhost:8080 (id: admin / pw: 위 출력값)

ⅱ. Helm Chart 로 운영 환경 설치 (HA 권장)

# 1) Helm 저장소 등록
helm repo add argo https://argoproj.github.io/argo-helm
helm repo update

# 2) values.yaml 작성 (HA + Ingress + SSO)
cat > values.yaml <<EOF
global:
  domain: argocd.example.com
redis-ha:
  enabled: true
controller:
  replicas: 2
server:
  replicas: 2
  ingress:
    enabled: true
    ingressClassName: nginx
    hosts: ["argocd.example.com"]
    tls:
     - secretName: argocd-tls
       hosts: ["argocd.example.com"]
repoServer:
  replicas: 2
applicationSet:
  replicas: 2
notifications:
  enabled: true
configs:
  cm:
    url: https://argocd.example.com
    admin.enabled: "true"
EOF

# 3) 설치 / 업그레이드
helm upgrade --install argocd argo/argo-cd \
  -n argocd --create-namespace -f values.yaml --version 7.7.0

# 4) 상태 확인
helm -n argocd status argocd
kubectl -n argocd get pods

ⅲ. argocd CLI 설치 및 로그인

# [Linux x86_64]
curl -sSL -o /usr/local/bin/argocd \
  https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64
chmod +x /usr/local/bin/argocd

# [macOS] brew install argocd
# [Windows] choco install argocd-cli    # 또는 scoop install argocd

# 버전 확인
argocd version --client

# 로그인 (포트 포워딩 사용 시)
argocd login localhost:8080 --username admin --password '****' --insecure

# SSO 로그인
argocd login argocd.example.com --sso

# 컨텍스트 확인
argocd context

ⅳ. ArgoCD Autopilot (베스트 프랙티스 자동 부트스트랩)

# 1) Autopilot 설치
curl -L --output - \
  https://github.com/argoproj-labs/argocd-autopilot/releases/latest/download/argocd-autopilot-linux-amd64.tar.gz \
  | tar zx && sudo mv argocd-autopilot-* /usr/local/bin/argocd-autopilot

# 2) Git 토큰 환경변수
export GIT_TOKEN=ghp_xxxxxxxxxxxxxxxx

# 3) 부트스트랩 (App-of-Apps + Project + Bootstrap 자동 생성)
argocd-autopilot repo bootstrap \
  --repo https://github.com/myorg/gitops-bootstrap.git \
  --recover false

# 4) Project 와 Application 생성
argocd-autopilot project create platform
argocd-autopilot app create nginx \
  --app github.com/argoproj/argocd-example-apps/guestbook \
  --project platform

Ⅵ. ArgoCD 사용 방법

 실무에서 가장 자주 쓰이는 다섯 가지 사용 패턴 "Application 직접 정의", "App-of-Apps 패턴", "ApplicationSet 으로 멀티 환경", "Sync Wave & Hooks", "Argo Rollouts 결합" 을 살펴봅니다.

ⅰ. Application CR 로 단일 앱 배포

# gitops/apps/guestbook.yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: guestbook-prod
  namespace: argocd
  finalizers: ["resources-finalizer.argocd.argoproj.io"]
spec:
  project: default
  source:
    repoURL: https://github.com/myorg/k8s-manifests.git
    path: apps/guestbook/overlays/prod
    targetRevision: main
  destination:
    server: https://kubernetes.default.svc
    namespace: guestbook
  syncPolicy:
    automated:
      prune: true
      selfHeal: true
    syncOptions:
      - CreateNamespace=true
      - ApplyOutOfSyncOnly=true
    retry:
      limit: 5
      backoff:
        duration: 10s
        factor: 2
        maxDuration: 5m

ⅱ. App-of-Apps 패턴 (한 개의 부모 앱이 여러 자식 앱 관리)

# gitops/bootstrap/root-app.yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: root-app
  namespace: argocd
spec:
  project: default
  source:
    repoURL: https://github.com/myorg/gitops.git
    path: apps      # 이 디렉토리에 자식 Application YAML 들이 들어 있음
    targetRevision: main
    directory:
      recurse: true
  destination:
    server: https://kubernetes.default.svc
    namespace: argocd
  syncPolicy:
    automated: { prune: true, selfHeal: true }
# root-app 만 한 번 적용하면, apps/ 폴더의 모든 자식 Application 이 자동 등록·동기화됩니다.

ⅲ. ApplicationSet 으로 다중 클러스터·환경 자동화

apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
  name: web-multicluster
  namespace: argocd
spec:
  generators:
    - matrix:
        generators:
          - clusters: {}          # 등록된 모든 K8s 클러스터
          - list:
             elements:
              - { env: "dev",   replicas: "1" }
              - { env: "stg",   replicas: "2" }
              - { env: "prod",  replicas: "5" }
  template:
    metadata:
      name: 'web-{{name}}-{{env}}'
    spec:
      project: default
      source:
        repoURL: https://github.com/myorg/web.git
        path: deploy/overlays/{{env}}
        targetRevision: main
        helm:
          parameters:
            - { name: replicaCount, value: '{{replicas}}' }
      destination:
        server: '{{server}}'
        namespace: web
      syncPolicy:
        automated: { prune: true, selfHeal: true }

ⅳ. Sync Wave & Hooks (DB 마이그레이션 → 앱 배포 → 스모크 테스트)

# 1) DB 마이그레이션 Job (PreSync, wave -1)
apiVersion: batch/v1
kind: Job
metadata:
  name: db-migrate
  annotations:
    argocd.argoproj.io/hook: PreSync
    argocd.argoproj.io/hook-delete-policy: HookSucceeded
    argocd.argoproj.io/sync-wave: "-1"
spec:
  template:
    spec:
      restartPolicy: Never
      containers:
       - name: migrate
         image: myorg/migrate:1.4.0
         args: ["up"]
# 2) 앱 Deployment (Sync, wave 0) — 일반 매니페스트
# 3) 스모크 테스트 Job (PostSync, wave 1)
apiVersion: batch/v1
kind: Job
metadata:
  name: smoke-test
  annotations:
    argocd.argoproj.io/hook: PostSync
    argocd.argoproj.io/hook-delete-policy: HookSucceeded,BeforeHookCreation
    argocd.argoproj.io/sync-wave: "1"
spec:
  template:
    spec:
      restartPolicy: Never
      containers:
       - name: curl
         image: curlimages/curl:8.10.1
         args: ["-fsSL", "http://web/health"]

ⅴ. Argo Rollouts 와 결합한 Canary 점진적 배포

apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
  name: web
spec:
  replicas: 10
  strategy:
    canary:
      steps:
        - setWeight: 10
        - pause: { duration: 5m }
        - setWeight: 30
        - pause: { duration: 10m }
        - setWeight: 60
        - pause: { duration: 10m }
        - setWeight: 100
      analysis:
        templates:
          - templateName: success-rate
        startingStep: 1
  selector:
    matchLabels: { app: web }
  template:
    metadata: { labels: { app: web } }
    spec:
      containers:
       - name: web
         image: myorg/web:1.42.0
# ArgoCD 가 이 Rollout 매니페스트를 동기화하면 Argo Rollouts 컨트롤러가 점진 배포를 수행합니다.

Ⅶ. ArgoCD 자주 쓰는 명령어

 운영·개발 시 가장 자주 사용되는 argocd CLI, kubectl 명령, REST API 호출을 정리했습니다.

분류 명령 설명
로그인 argocd login argocd.example.com --username admin --password '****' API 서버 인증·세션 발급
SSO 로그인 argocd login argocd.example.com --sso OIDC 브라우저 인증
앱 생성 argocd app create web --repo URL --path overlays/prod --dest-server https://k8s --dest-namespace web CLI 로 Application 등록
앱 목록 argocd app list 전체 Application 상태 출력
앱 상세 argocd app get web --refresh 리소스 트리·Diff·헬스 조회
동기화 argocd app sync web 즉시 Sync 실행
Diff 보기 argocd app diff web Git vs Live 차이점 표시
롤백 argocd app rollback web 12 history ID 12 로 되돌림
히스토리 argocd app history web 최근 동기화 이력
로그 argocd app logs web --follow --tail 200 앱 Pod 통합 로그 스트림
앱 삭제 argocd app delete web --cascade 앱+자식 리소스 삭제
레포 추가 argocd repo add https://git.../org/k8s.git --username u --password '****' Git 자격증명 등록
SSH 키 레포 argocd repo add git@github.com:org/k8s.git --ssh-private-key-path id_rsa SSH 키 인증 저장소
클러스터 추가 argocd cluster add my-eks --kubeconfig ~/.kube/config 대상 K8s 클러스터 등록
프로젝트 생성 argocd proj create platform -d https://k8s,* -s '*' 멀티 테넌시 경계 정의
RBAC 정책 적용 kubectl -n argocd edit cm argocd-rbac-cm policy.csv 수정
Self-Heal 토글 argocd app set web --self-heal drift 자동 교정 활성화
자동 동기화 argocd app set web --sync-policy automated Auto-Sync 켜기
동기화 옵션 argocd app set web --sync-option CreateNamespace=true 동기화 시 NS 자동 생성
초기 비밀번호 kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d 최초 admin 비밀번호 추출
비밀번호 변경 argocd account update-password 현재 사용자 비밀번호 변경
REST API curl -k -H "Authorization: Bearer $TOKEN" https://argocd.example.com/api/v1/applications 외부 시스템에서 앱 조회
버전 확인 argocd version 서버·CLI 버전 출력

Ⅷ. ArgoCD 활용 방안

 ArgoCD 는 "Git 이 인프라·애플리케이션의 진실, 클러스터는 그 거울이다" 라는 GitOps 철학을 가장 충실히 구현한 도구로서, 단순한 K8s 배포 자동화를 넘어 멀티 클러스터 관리·플랫폼 엔지니어링·보안 거버넌스 영역까지 폭넓게 활용됩니다. 2025~2026년 실무에서 가장 효과적인 8가지 활용 시나리오를 정리합니다.

활용 분야 시나리오 적용 효과 대표 사례
애플리케이션 CD 마이크로서비스 자동 배포 CI 파이프라인이 컨테이너 이미지 태그·매니페스트만 Git 에 커밋하면 ArgoCD 가 자동으로 클러스터에 반영하여, CI 가 클러스터 자격증명을 보유하지 않는 안전한 분리형 CD 를 완성합니다. Intuit, Tesla, Capital One
멀티 클러스터 운영 N 개 EKS/GKE/AKS 통합 관리 단일 ArgoCD 컨트롤 플레인이 수십~수백 개 K8s 클러스터의 워크로드를 ApplicationSet 으로 일괄 배포·동기화하여 클러스터 별 설정 표류와 운영 부담을 해소합니다. BlackRock, Adobe, 삼성SDS
플랫폼 엔지니어링 Internal Developer Platform 의 배포 엔진 Backstage·Crossplane·Kargo 등과 결합해 개발자가 셀프서비스로 환경을 신청·생성·배포할 수 있는 IDP 의 표준 배포 백엔드로 활용됩니다. Spotify, Netflix, 카카오
보안·컴플라이언스 Drift 감지와 정책 강제 Self-Heal 로 비인가 변경을 즉시 되돌리고, OPA Gatekeeper·Kyverno 정책과 결합해 모든 변경의 흔적을 Git PR 로 남겨 SOC2·ISMS-P·PCI-DSS 등 감사 요구사항을 충족합니다. PayPal, JPMorgan, 카카오뱅크
Progressive Delivery Argo Rollouts 결합 카나리·블루그린 ArgoCD 가 Rollout 매니페스트를 동기화하면 Argo Rollouts 컨트롤러가 점진적 배포를 수행하고, Prometheus 분석으로 메트릭 기반 자동 롤백까지 처리하여 무중단 배포를 실현합니다. Lyft, DoorDash, 우아한형제들
인프라 GitOps Crossplane·Cluster API 결합 Crossplane 의 Composition 으로 RDS·S3·VPC 까지 K8s 매니페스트로 표현하고, ArgoCD 가 이를 동기화하여 애플리케이션과 인프라를 단일 Git 저장소에서 관리합니다. Upbound, Grafana Labs, 라인
DR / 재해 복구 클러스터 재구축 자동화 대상 클러스터 장애 시 새 클러스터를 부트스트랩한 뒤 ArgoCD 만 다시 가리키면 Git 기반 매니페스트가 그대로 재적용되어 RTO·RPO 목표를 단축합니다. Walmart, Tesla, SK텔레콤
Preview 환경 Pull Request 별 임시 환경 ApplicationSet 의 Pull Request Generator 로 PR 단위의 격리된 Preview 환경을 자동 생성·삭제하여 QA·UX 리뷰의 회전 속도를 비약적으로 향상시킵니다. Vercel, Shopify, 토스



반응형