본문 바로가기
Cloud/CICD

[CICD] Local GitOps 환경 구축 #1

by Tenma2 2026. 2. 13.
쿠버네티스 환경에서 GitOps 기반 자동 배포시 ArgoCD는 거의 표준처럼 사용됩니다.

이번 글에서는
 
Git 저장소 준비 → ArgoCD 설치 → GitOps 연결 → 자동 배포 테스트까지
한 번에 진행해보겠습니다.

 

 


GitOps란?

GitOps는 Git 저장소를 인프라의 Single Source of Truth로 사용하는 운영 방식입니다.
즉, Git에 있는 설정 파일(YAML)이 실제 운영 환경과 항상 동일해야 합니다.

대표적으로

  • Git 변경 → 자동 배포
  • Git 롤백 → 서비스 롤백
    이런 흐름을 만들 수 있습니다.

[전체 진행 흐름]

Git 저장소 준비 → ArgoCD 설치 → ArgoCD 접속 → GitOps 연결 → 자동 배포 테스트

 

 


1단계. Git 저장소 준비


ArgoCD는 Git 저장소 기준으로 동작합니다.
따라서 로컬 k8s/ 폴더를 Git 저장소에 업로드해야 합니다.

여기서는 GitHub 기준으로 설명합니다.

 

- Git 사용자 정보 등록

git config --global user.email "본인이메일@example.com"
git config --global user.name "본인이름"

 

- .gitignore 생성 (보안상 중요!!)

# 1. 의존성 폴더 (용량이 크고 필요 없음)
node_modules/

# 2. 환경변수 및 비밀 정보 (가장 중요! ⭐)
.env
.env.local
.env.*.local
*.pem
*.key

# 3. 빌드 결과물 (자동 생성되는 파일들)
/build
/dist
.next/
out/

# 4. OS 시스템 파일 (지저분함)
.DS_Store
Thumbs.db

# 5. IDE 설정 파일 (나만 쓰는 설정)
.vscode/
.idea/

# 6. 로그 파일
npm-debug.log*
yarn-debug.log*
yarn-error.log*

 

- Git 업로드

git init
git add .
git commit -m "First commit for ArgoCD"
git branch -M main
git remote add origin [GitHub Repository URL]
git push -u origin main

 

 

git push

 

 

 


2단계. Kubernetes에 ArgoCD 설치


- Namespace 생성 + ArgoCD 설치

# 1. ArgoCD 전용 방(namespace) 만들기
kubectl create namespace argocd

# 2. ArgoCD 설치 (공식 매니페스트 실행)
kubectl apply -n argocd -f \
https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

 

 

- 설치 확인

kubectl get pods -n argocd

 

 

✔ 모든 Pod 상태가 Running이면 정상

 

 


3단계. ArgoCD 접속 및 로그인


- Port Forward

kubectl port-forward svc/argocd-server -n argocd 8080:443

👉 브라우저 접속

https://localhost:8080

 

 

 

- 초기 비밀번호 확인

kubectl -n argocd get secret argocd-initial-admin-secret \
-o jsonpath="{.data.password}"

 

👉 Base64 Decode 후 사용

 

 

로그인 정보

ID: admin
PW: 디코딩 값

 

 

 

 

 


4단계. GitOps 연결 (핵심)


- ArgoCD Application 생성

ArgoCD UI → NEW APP

 

항목값

Application Name live-commerce
Project default
Sync Policy Automatic ( 중요! (Git이 바뀌면 자동 배포)
Repository URL GitHub Repo 주소
Path ./k8s
Cluster URL https://kubernetes.default.svc
Namespace default

 

✔ Automatic Sync 설정 시
👉 Git 변경 = 자동 배포

 

 

 


5단계. GitOps 동작 테스트


Git에서 배포 수정

예시:
k8s/backend.yaml

replicas: 1

⬇ 변경

replicas: 2

Pod 수 2개로 증가

 

Commit & Push 하면

✔ ArgoCD 자동 감지
✔ Kubernetes 자동 반영
✔ Pod 개수 자동 증가

 

'Cloud > CICD' 카테고리의 다른 글

[CICD] Github Token 생성  (0) 2026.03.03
[CICD] GitOps 환경구축 #1 (Github Actions)  (0) 2026.02.20
[CICD] GitOps 환경구축 (ECR)  (0) 2026.02.15
[CICD] Local GitOps 환경 구축 #2  (0) 2026.02.14