본문 바로가기
DevOps

gitops와 app of apps 가 kubernetes 운영시 필요한 이유

by Rainbound-IT 2025. 9. 8.
반응형

1. 왜 GitOps가 필요한가?

  • 일반적인 서버 운영: 개발자가 코드를 수정 → 서버에 들어가서 수동으로 설정/배포.
  • 문제: 사람이 직접 서버를 만지다 보면 설정이 달라지거나, 누가 언제 뭘 바꿨는지 추적이 안 됨.
  • GitOps 방식: “배포와 운영의 모든 상태를 Git에 적어두고, 쿠버네티스가 자동으로 따라가게 하는 것”.
    • 즉, Git = 진실의 원천(Single Source of Truth).
    • 코드 바꾸듯이 YAML(쿠버네티스 설정)을 수정 → Git에 올리면 → 자동으로 클러스터 반영.
    • 결과: 이력 관리, 협업, 롤백이 훨씬 쉬워짐.

👉 비유: “노트에 모든 요리 레시피(서버 상태)를 적어놓고, 요리사는 그 레시피만 보고 자동으로 요리를 만드는 것”.


2. App of Apps가 왜 필요한가?

  • EKS 같은 환경에서는 수십 개, 수백 개의 앱과 인프라 구성 요소(모니터링, 로깅, API, 웹앱 등)를 관리해야 함.
  • 단일 YAML로는 너무 커지고 관리가 힘듦.
  • 그래서 App of Apps 패턴을 씀:
    • “큰 지도(부모 앱)” 하나에 어떤 앱들이 필요한지 정의해 놓음.
    • 그 안에서 “작은 앱들(자식 앱)”을 불러와 배포.
    • Argo CD 같은 도구가 부모 앱을 보고 자동으로 필요한 자식 앱들을 설치.

👉 비유: “큰 쇼핑몰 건물(부모 앱)이 있고, 안에 입점한 가게들(자식 앱)이 자동으로 들어와 운영되는 것”.


3. 왜 EKS에서는 GitOps + App of Apps가 유리한가?

  • AWS EKS는 매우 많은 서비스와 연동(ALB, CloudWatch, RDS, S3 등)을 해야 해서, 환경이 복잡함.
  • GitOps를 쓰면 “모든 설정과 배포를 Git에서 통합 관리” 가능.
  • App of Apps를 쓰면 “운영팀은 전체 아키텍처를 한눈에 보고, 서비스별 개발팀은 자기 앱만 관리”할 수 있음.
  • ISMS 같은 보안 규제 대응에도 유리 → 서버에 직접 접속할 필요가 줄어들어 추적성↑, 실수↓.
반응형

댓글