GitOps 이란
Git 저장소를 통한 인프라 관리
GitOps는 Git 저장소가 전체 시스템의 단일 진실 소스가 되는 인프라 및 애플리케이션 관리 방법론입니다.
GitOps 원칙
- 선언적 — 모든 인프라가 코드로 기술됨
- 버전 관리 — 모든 변경 사항이 Git에서 추적됨
- 자동화 — 변경 사항이 자동으로 적용됨
- 자가 치유 — 시스템이 자동으로 목표 상태로 복귀
장점
- 모든 변경 사항의 완전한 이력
- 이전 버전으로 쉬운 롤백
- 내장된 감사 및 규정 준수
- 새 개발자 온보딩 간소화
- 향상된 보안(프로덕션 직접 액세스 없음)
도구
- Argo CD — Kubernetes용 인기 GitOps 컨트롤러
- Flux — Weaveworks의 GitOps 오퍼레이터
- Jenkins X — Kubernetes용 GitOps가 포함된 CI/CD
- Terraform — Infrastructure as Code
워크플로우
- 개발자가 Pull Request 생성
- 코드 리뷰 및 자동 테스트
- 메인 브랜치에 병합
- GitOps 오퍼레이터가 클러스터 동기화
- 모니터링이 성공적인 배포 확인