GitOps 자동화
개요
학습 목표
1. Atlantis on EKS
1.1 Atlantis 아키텍처
┌─────────────────────────────────────────────────────────────────────┐
│ GitHub/GitLab │
│ ┌─────────────┐ Webhook ┌─────────────────────────────────┐ │
│ │ PR Created │ ──────────────▶│ Atlantis │ │
│ │ PR Updated │ │ ┌─────────────────────────────┐│ │
│ │ PR Comment │ │ │ terraform plan/apply ││ │
│ └─────────────┘ │ │ ┌───────────────────────┐ ││ │
│ ▲ │ │ │ AWS Provider │ ││ │
│ │ Plan/Apply │ │ │ (Pod Identity) │ ││ │
│ │ Output │ │ └───────────────────────┘ ││ │
│ │ │ └─────────────────────────────┘│ │
│ └────────────────────────┤ │ │
│ │ Locks (DynamoDB/BoltDB) │ │
│ └─────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────┐ │
│ │ AWS Resources │ │
│ │ VPC, EKS, RDS, S3, etc. │ │
│ └─────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘구성 요소
역할
1.2 Atlantis Helm 배포
1.3 Webhook 구성
1.4 atlantis.yaml 프로젝트 구성
1.5 Pod Identity for AWS 액세스
1.6 Multi-Repo 설정
1.7 PR 기반 워크플로우
1.8 보안: Apply 제한
1.9 Locking 메커니즘
2. Terraform Cloud
2.1 Workspace 구성
2.2 VCS 기반 워크플로우
2.3 Run Triggers: 종속성 관리
2.4 Sentinel Policy
2.5 Remote State 공유
2.6 Atlantis vs Terraform Cloud 비교
기능
Atlantis
Terraform Cloud
3. FluxCD
3.1 ArgoCD vs FluxCD 비교
기능
ArgoCD
FluxCD
3.2 FluxCD 설치
3.3 HelmRelease CRD
3.4 Kustomization for 환경 오버레이
3.5 Image Automation Controller
3.6 Source Controller
3.7 Notification Controller
4. AIOps 전략
4.1 LLM 기반 PR 리뷰
4.2 메트릭 기반 YAML 자동 수정
4.3 트래픽 이상 탐지 및 자동 대응
4.4 Progressive Delivery with Argo Rollouts
4.5 AIOps 한계 및 휴먼 인 더 루프
영역
한계
대응 방안
요약
GitOps 자동화 도구 선택 가이드
요구사항
추천 도구
핵심 포인트
참고 자료
마지막 업데이트