본문으로 건너뛰기

설치

GenD 플랫폼의 설치 절차를 안내합니다. 로컬 개발 환경(Kind)과 프로덕션(Azure AKS) 배포를 모두 지원합니다.

개요

GenD는 Kubernetes 클러스터 위에서 운영되며, 설치는 다음 단계로 진행됩니다.

  1. 사전 요구 사항 확인 — 필수 도구 및 시스템 요구 사항 점검
  2. 클러스터 생성 — Kind(로컬) 또는 AKS(프로덕션) 클러스터 구성
  3. Helm 배포 — 핵심 서비스(PostgreSQL, Trino, Keycloak 등) 배포
  4. 설치 후 확인 — 서비스 상태 점검 및 초기 데이터 시딩

배포 환경

환경클러스터스토리지인증서
로컬 개발Kind (gend-local)SeaweedFSself-signed
프로덕션Azure AKSCeph RGWcert-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 외부 호출 화이트리스트만 허용합니다.

관련 문서