설치
GenD 플랫폼의 설치 절차를 안내합니다. 로컬 개발 환경(Kind)과 프로덕션(Azure AKS) 배포를 모두 지원합니다.
개요
GenD는 Kubernetes 클러스터 위에서 운영되며, 설치는 다음 단계로 진행됩니다.
- 사전 요구 사항 확인 — 필수 도구 및 시스템 요구 사항 점검
- 클러스터 생성 — Kind(로컬) 또는 AKS(프로덕션) 클러스터 구성
- Helm 배포 — 핵심 서비스(PostgreSQL, Trino, Keycloak 등) 배포
- 설치 후 확인 — 서비스 상태 점검 및 초기 데이터 시딩
배포 환경
| 환경 | 클러스터 | 스토리지 | 인증서 |
|---|---|---|---|
| 로컬 개발 | Kind (gend-local) | SeaweedFS | self-signed |
| 프로덕션 | Azure AKS | Ceph RGW | cert-manager + Let's Encrypt |
토폴로지 비교
아키텍처 구성 요소
GenD는 gend 네임스페이스에 다음 서비스를 배포합니다.
- gend-api — FastAPI 백엔드 (포트 8000, ClusterIP — ingress
gend.local:8443/api/v1) - gend-relay — DMZ 리버스 프록시 (포트 8080)
- Trino — Federation SQL 엔진 (포트 8080, NodePort 31080)
- PostgreSQL — 메타데이터 저장소 (포트 5432)
- Keycloak — SSO 인증 서버 (NodePort 31800)
- Vault — 시크릿 관리 (NodePort 31900)
- OpenSearch — 감사 로그 저장 (ClusterIP, 내부 전용)
- Grafana — 모니터링 대시보드 (NodePort 31300)
빠른 시작
# 1. Kind 클러스터 생성
kind create cluster --config infra/kind/gend-cluster.yaml
# 2. 핵심 서비스 배포
kubectl apply -f infra/helm/postgresql/
helm install trino trino/trino -n gend -f infra/helm/trino/values.yaml
kubectl apply -f infra/keycloak/
# 3. GenD API 배포
docker build -t gend/gend-api:0.2.0 -f apps/api/Dockerfile apps/api
kind load docker-image gend/gend-api:0.2.0 --name gend-local
kubectl apply -f infra/helm/gend-api/
# 4. 샘플 데이터 시딩
make seed-demo
네임스페이스 + NetworkPolicy
GenD는 방어심층(defense-in-depth) 모델로 네임스페이스를 분리하고 NetworkPolicy로 트래픽을 통제합니다. DMZ는 default-deny 원칙, 메인 namespace는 LLM 외부 호출 화이트리스트만 허용합니다.