1. 개요 (Overview)

본 문서는 Kubernetes(K8s) 환경에서 실행되는 애플리케이션의 배포 및 리소스 관리를 위한 GUI 기반 대시보드, 'Executive Deployment Control Plane (EDCP)'의 개발 요구사항을 정의합니다.

1.1. 문제 정의 (Problem Statement)

현재 K8s 인프라 운영은 GitOps(ArgoCD) 기반의 선언적 모델을 따르고 있어 안정성과 감사 추적이 용이합니다. 하지만 이 방식은 비즈니스 상황(이벤트, 비용 절감, 긴급 장애 대응)에 따라 즉각적인 배포 수량 조절이나 버전 변경을 원하는 경영진/임원(이하 '비즈니스 책임자')의 요구를 민첩하게 반영하기 어렵습니다.

모든 변경을 위해 엔지니어가 직접 Git의 YAML 파일을 수정하고 커밋해야 하므로, 의사결정과 실제 실행 사이에 병목이 발생합니다.

1.2. 목표 (Goals)

  1. 제어 권한 위임: 비즈니스 책임자에게 엔지니어링 지식(YAML) 없이도 배포 버전과 리소스(Pod) 수량을 직접 제어할 수 있는 직관적인 GUI를 제공합니다.
  2. 안정성 및 추적성 확보: 모든 GUI 조작은 K8s에 직접 명령을 내리는 것이 아니라, Git 저장소에 형상 관리 커밋을 생성하는 방식으로 동작합니다. ArgoCD는 이 커밋을 감지하여 배포를 수행함으로써 GitOps의 핵심 원칙(Single Source of Truth)을 준수합니다.
  3. 비용 및 용량 가시성: 현재 리소스 상태를 비즈니스 관점('리소스 준비율 %')으로 시각화하여, 비용(과다 지출)과 안정성(자원 부족) 사이의 균형 잡힌 의사결정을 지원합니다.

2. 대상 고객 (Personas)


3. 핵심 아키텍처 (Core Architecture)

"GUI-driven GitOps"

  1. 사용자 조작 (GUI): 비즈니스 책임자가 EDCP GUI에서 'v1.2 버전을 15개 배포'를 설정하고 '최종 반영' 버튼을 클릭합니다.
  2. Git 커밋 (GUI Backend): EDCP 백엔드 시스템은 이 요청을 받아, ArgoCD가 바라보는 GitOps 저장소의 해당 애플리케이션 values.yaml (또는 Kustomize 파일)을 찾아 image.tag: v1.2replicaCount: 15로 수정하고, 해당 사용자(Executive)의 이름으로 커밋을 생성합니다.
  3. 배포 (ArgoCD): ArgoCD가 Git의 변경 사항을 감지하고 K8s 클러스터와 동기화(Sync)를 시작합니다.
  4. 상태 반영 (K8s -> GUI): EDCP는 K8s API를 지속적으로 모니터링하며, Pod의 배포 상태(Running/Pending)를 GUI에 실시간으로 다시 반영합니다.