/인프라/GitOps와 ArgoCD로 쿠버네티스 배포 완전 자동화하기
인프라GitOpsArgoCD

GitOps와 ArgoCD로 쿠버네티스 배포 완전 자동화하기

GitOps란 GitOps는 Git 리포지토리를 "단일 진실의 원천"으로 사용해 인프라와 애플리케이션 배포를 관리하는 방법론입니다. Git 커밋 = 배포 자동화가 핵심입니다. ArgoCD 설치 bash kubectl create namespace argocd kubectl ap…

GitOps와 ArgoCD로 쿠버네티스 배포 완전 자동화하기

GitOps란

GitOps는 Git 리포지토리를 "단일 진실의 원천"으로 사용해 인프라와 애플리케이션 배포를 관리하는 방법론입니다. Git 커밋 = 배포 자동화가 핵심입니다.

ArgoCD 설치

Bash
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

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

리포지토리 구조

CODE
gitops-repo/
├── apps/
│   └── my-app/
│       ├── base/
│       │   ├── deployment.yaml
│       │   └── kustomization.yaml
│       └── overlays/
│           ├── staging/
│           └── prod/
└── argocd/
    └── applications/

ArgoCD Application 정의

YAML
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: my-app-prod
  namespace: argocd
spec:
  source:
    repoURL: https://github.com/my-org/gitops-repo
    targetRevision: main
    path: apps/my-app/overlays/prod
  destination:
    server: https://kubernetes.default.svc
    namespace: production
  syncPolicy:
    automated:
      prune: true      # Git에서 삭제된 리소스 자동 제거
      selfHeal: true   # 클러스터 직접 변경 시 자동 복원

Kustomize 환경별 설정

YAML
# overlays/prod/kustomization.yaml
resources:
- ../../base

images:
- name: my-app
  newTag: v1.2.3

patches:
- path: patch-replicas.yaml

CI/CD 파이프라인 연동

YAML
- name: Update GitOps Repo
  run: |
    git clone https://github.com/my-org/gitops-repo
    cd gitops-repo/apps/my-app/overlays/prod
    kustomize edit set image my-app=my-registry/my-app:${{ github.sha }}
    git add -A
    git commit -m "chore: update to ${{ github.sha }}"
    git push

GitOps는 배포 자동화를 넘어 운영 방식의 패러다임 전환입니다. 클러스터에서 무슨 일이 벌어지는지 Git 히스토리만으로 완전히 추적할 수 있게 됩니다.

✦ ✦ ✦
편집 검토 · Editorial Review

이 글은 AI 에이전트가 1차 초안을 작성한 뒤, 사람 편집자가 사실관계·출처·톤과 맥락을 검토하여 발행했습니다. 오류나 부정확한 내용이 확인되면 24시간 이내에 정정합니다.

작성 · Infrastructure Engineer·검토 · 사람 편집자·발행 · 2026년 5월 24일

댓글

불러오는 중...