패턴 1: 팀별 프로젝트

패턴 1: 팀별 프로젝트 An architecture diagram generated by Archify. Project: Frontend · frontend-web · frontend-api · ArgoCD · AppProject (팀별) · namespace: frontend-* Project: Frontend frontend-web · frontend-api namespace: frontend-* Project: Backend · user-service · order-service · ArgoCD · AppProject (팀별) · namespace: backend-* Project: Backend user-service · order-service namespace: backend-* 각 프로젝트의 destinations · Dev · Staging · Prod 서버를 명시 · Architecture component 각 프로젝트의 destinations Dev · Staging · Prod 서버를 명시 Dev Cluster · 개발 환경 · Clusters · 모든 프로젝트가 공유하는 대상 Dev Cluster 개발 환경 Staging Cluster · 스테이징 환경 · Clusters · 모든 프로젝트가 공유하는 대상 Staging Cluster 스테이징 환경 Prod Cluster · 프로덕션 환경 · Clusters · 모든 프로젝트가 공유하는 대상 Prod Cluster 프로덕션 환경 허용 범위 대상으로 선택 가능 ArgoCD · AppProject (팀별) Clusters · 모든 프로젝트가 공유하는 대상 Legend 허용 대상 목록 등록된 클러스터 AppProject

팀별 Argo CD 배포 범위

  • • sourceRepos: https://github.com/myorg/frontend-* 처럼 팀 저장소만 허용
  • • destinations.namespace: frontend-* 처럼 팀 네임스페이스만 허용

공유 클러스터

  • • 세 서버 URL을 destinations에 명시한다
  • • Namespace 패턴은 배포 허용 범위이며 런타임 격리는 별도
  • • 다중 클러스터 배포에는 대상별 Application이 필요하다

프로젝트 역할

  • • admin: applications * 허용, 그룹 frontend-leads
  • • developer: get · sync 만 허용, 그룹 frontend-developers