PodManager
메인 인덱스 | CCG-Platform | GitHub
이 문서는 PodManager 레포의 핵심 정보와 포트폴리오 메모를 한 파일로 정리한 노트입니다.
주요 목적
Traefik 쿠키 기반 라우팅을 가진 동적 컨테이너/파드 관리 시스템입니다. 사용자별 격리 환경을 위해 Docker와 Kubernetes 환경을 모두 지원합니다. 자동 정리 기능이 있는 사용자 세션당 격리된 컨테이너/파드를 생성 및 관리합니다.
주요 기술 스택
| 카테고리 | 스택 |
|---|---|
| 백엔드 | FastAPI (Python 3.9+) |
| 프록시/라우터 | Traefik v3.0 |
| 컨테이너 런타임 | Docker / Kubernetes |
| 오케스트레이션 | Docker Compose / K8s |
| 세션 관리 | Cookie-based (HTTP-only) |
포트폴리오 메모
Docker/K8s 듀얼 환경 지원이 있는 복잡하고 프로덕션 준비된 시스템입니다. 구조가 분명한 쿠키 기반 라우팅, 자동 리소스 정리, 그리고 사용자 격리를 구현합니다. 여러 아키텍처 다이어그램과 함께 잘 문서화되어 있습니다. 컨테이너 오케스트레이션, 네트워킹, Python 백엔드 기술의 사례입니다.
주요 파일
Docker 버전
docker/docker-compose.yml- 전체 시스템 정의docker/manager/main.py- FastAPI + Docker APIdocker/manager/Dockerfile- 매니저 컨테이너docker/user_app/- 사용자 컨테이너 템플릿
Kubernetes 버전
k8s/manager/main.py- FastAPI + Kubernetes APIk8s/manifests/namespace.yaml- K8s 네임스페이스k8s/manifests/rbac.yaml- RBAC 설정k8s/manifests/traefik.yaml- Traefik 인그레스k8s/manifests/podmanager-deployment.yaml- 배포 설정k8s/build.sh- 빌드 자동화k8s/deploy.sh- 배포 자동화
Production
production/manager/main.py- 프로덕션 매니저production/manager-rbac.yaml- 프로덕션 RBACproduction/manager-deployment.yaml- 프로덕션 배포production/traefik-middleware.yaml- Traefik 설정
CI/CD
.github/workflows/ghcr_push.yml- GitHub Actions
아키텍처 유형
동적 리소스 프로비저닝이 있는 마이크로서비스 기반:
User Browser → Traefik → Manager App → User Environment
↓
(Cookie-based routing)
주요 기능
- 사용자당 동적 컨테이너/파드 생성
- Traefik을 통한 쿠키 기반 세션 라우팅
- 자동 리소스 정리 (10분 만료)
- 듀얼 플랫폼 지원 (Docker/Kubernetes)
- 격리된 사용자 환경
- RBAC 보안 모델
관련 레포지토리
- portal-backend (API 백엔드)
- PodManager_V2 (프로덕션 API 버전)
- TerraformLearn (인프라)
참고사항
- 여러 문서와 함께 운영을 고려한
- DevOps/컨테이너 기술의 사례
- Traefik을 통한 복잡한 네트워킹
- 포트폴리오 하이라이트를 위한 잘 구조화됨