K8s 기반 자동 개발 환경 프로비저닝 B2B SaaS 플랫폼
kubdev-auto-system/
├── frontend/ # React 기반 대시보드 (추후 구현)
├── backend/ # FastAPI 백엔드 서버
│ ├── app/
│ │ ├── api/ # API 엔드포인트
│ │ ├── core/ # 핵심 설정 및 유틸리티
│ │ ├── models/ # 데이터베이스 모델
│ │ ├── services/ # 비즈니스 로직
│ │ └── schemas/ # Pydantic 스키마
│ ├── k8s/ # K8s 관련 유틸리티
│ ├── requirements.txt
│ ├── Dockerfile
│ └── main.py
├── k8s/ # 플랫폼 배포용 K8s YAML
│ ├── deployments/
│ ├── services/
│ ├── configmaps/
│ └── rbac/
├── docker-compose.yml # 로컬 개발환경
└── docs/ # 문서
- 팀 리더가 사전 정의한 개발 환경 템플릿
- 원클릭 환경 생성 및 웹 IDE 접속
- 자동화된 초기 설정 스크립트 실행
- 다중 사용자 동시 환경 생성
- 리소스 할당 및 제한 관리
- 실시간 모니터링 및 관리
- 제한된 네트워크 및 DB 접근
- 임시 환경 생성 및 자동 정리
- 보안 정책 적용
- Admin: 프로젝트 템플릿 및 리소스 정책 설정
- User: 프로젝트 선택 및 환경 생성 요청
- Backend: K8s 클러스터에 개발환경 Pod 배포
- K8s:
- Init Container: Git 저장소 클론
- Main Container: 웹 IDE (VS Code Server) 실행
- User: 브라우저를 통한 IDE 접속 및 개발
- Backend: Python FastAPI + Kubernetes Python Client
- Database: PostgreSQL
- Container Orchestration: Kubernetes + Helm
- IDE: VS Code Server (Web-based)
- Proxy: Nginx Ingress Controller
- Monitoring: Prometheus + Grafana
- Phase 1: 백엔드 API 및 K8s 통합
- Phase 2: 템플릿 시스템 구현
- Phase 3: 모니터링 및 리소스 관리
- Phase 4: 보안 및 네트워크 정책
- Phase 5: 프론트엔드 대시보드 (추후)
cd backend
pip install -r requirements.txt
uvicorn main:app --reload --host 0.0.0.0 --port 8000cd frontend
npm install --legacy-peer-deps
npm run devdocker compose up -d# 1. docker-compose를 통해 PostgreSQL 실행
# 2. 백엔드 서버 최초 1회 실행 -> 테이블 생성됨
cd backend
python3 create_initial_user.py서버 실행 후 http://localhost:8000/docs에서 Swagger UI로 API 문서 확인 가능