Blog
onpremisegpukubernetesvllminfrastructurellmai
온프레미스 LLM 인프라 구축 가이드 - GPU 서버부터 Kubernetes 배포까지
온프레미스 환경에서 LLM 인프라를 구축하는 방법을 정리합니다. GPU 서버 구성, 네트워크 설계, Kubernetes + vLLM 배포, 모니터링, 보안, 비용 분석을 다룹니다.
Data Dynamics2026년 4월 16일7 min read
데이터 보안, 규정 준수, 비용 효율성 등의 이유로 LLM을 온프레미스에서 운영해야 하는 기업이 늘고 있습니다. 이 글에서는 GPU 서버 구성부터 Kubernetes 기반 프로덕션 배포까지 체계적으로 다룹니다.
1. 온프레미스 LLM이 필요한 이유
| 이유 | 설명 | 해당 산업 |
|---|---|---|
| 데이터 보안 | 기업 데이터가 외부 API로 전송되지 않음 | 금융, 의료, 국방 |
| 규정 준수 | 데이터 주권, GDPR, 개인정보보호법 | 공공, 금융, 의료 |
| 비용 효율 | 대량 추론 시 API 대비 저렴 | 대규모 서비스 |
| 지연시간 | 로컬 네트워크로 낮은 지연 | 실시간 서비스 |
| 커스터마이징 | Fine-Tuned 모델 자유로운 배포 | 모든 산업 |
| 가용성 | 외부 서비스 장애와 무관 | 미션 크리티컬 |
2. GPU 서버 구성
GPU 선택 가이드
| GPU | VRAM | FP16 성능 | 가격 (대략) | 적합 모델 |
|---|---|---|---|---|
| RTX 4090 | 24 GB | 82.6 TFLOPS | ~$1,600 | 7~8B (Q4), 개발용 |
| A100 40GB | 40 GB | 77.97 TFLOPS | ~$10,000 | 7~13B (FP16) |
| A100 80GB | 80 GB | 77.97 TFLOPS | ~$15,000 | 70B (Q4), 13B (FP16) |
| H100 80GB | 80 GB | 267 TFLOPS | ~$30,000 | 70B (FP16), 최고 성능 |
| H200 141GB | 141 GB | 267 TFLOPS | ~$35,000 | 70B+ (FP16), 대용량 |
| L40S | 48 GB | 91.6 TFLOPS | ~$7,000 | 7~13B (FP16), 비용 효율 |
서버 구성 예시
[개발/테스트 서버]
CPU: AMD EPYC 7543 (32코어)
RAM: 256 GB DDR4
GPU: RTX 4090 × 2
Storage: NVMe 2TB
용도: 프로토타입, Fine-Tuning 실험, 소규모 서빙
[프로덕션 서버 (소규모)]
CPU: AMD EPYC 9354 (32코어) × 2
RAM: 512 GB DDR5
GPU: A100 80GB × 4
Storage: NVMe 4TB (RAID)
네트워크: 25GbE
용도: 70B 모델 서빙, 중규모 트래픽
[프로덕션 서버 (대규모)]
CPU: Intel Xeon w9-3595X × 2
RAM: 1 TB DDR5
GPU: H100 80GB × 8 (NVLink)
Storage: NVMe 8TB (RAID)
네트워크: 100GbE + InfiniBand
용도: 405B 모델, 대규모 트래픽, 학습
네트워크 설계
[온프레미스 LLM 네트워크 구성]
인터넷 ─── [방화벽] ─── DMZ
│
┌─────────┼─────────┐
│ 서비스 네트워크 │
│ ├─ API Gateway │
│ ├─ 가드레일 서비스 │
│ └─ 로드밸런서 │
└─────────┬─────────┘
│ (VLAN 분리)
┌─────────┼─────────┐
│ GPU 네트워크 │
│ ├─ vLLM Server 1 │
│ ├─ vLLM Server 2 │
│ └─ GPU 간 NVLink │
└─────────┬─────────┘
│
┌─────────┼─────────┐
│ 데이터 네트워크 │
│ ├─ 벡터 DB │
│ ├─ 모델 저장소 │
│ └─ 감사 로그 DB │
└───────────────────┘
3. Kubernetes + vLLM 배포
Helm 차트 배포
# values.yaml (vLLM Kubernetes 배포)
replicaCount: 2
image:
repository: vllm/vllm-openai
tag: latest
model:
name: meta-llama/Llama-3.1-8B-Instruct
maxModelLen: 4096
gpuMemoryUtilization: 0.9
resources:
limits:
nvidia.com/gpu: 1
requests:
nvidia.com/gpu: 1
memory: 32Gi
cpu: 8
service:
type: ClusterIP
port: 8000
autoscaling:
enabled: true
minReplicas: 2
maxReplicas: 8
targetGPUUtilization: 70
ingress:
enabled: true
host: llm.internal.company.com
tls: true# 배포
helm install vllm ./charts/vllm -f values.yaml -n llm-serving
# 상태 확인
kubectl get pods -n llm-serving
kubectl logs -f deployment/vllm -n llm-servingGPU 오퍼레이터 설치
# NVIDIA GPU Operator (Kubernetes에서 GPU 자동 감지)
helm repo add nvidia https://helm.ngc.nvidia.com/nvidia
helm install gpu-operator nvidia/gpu-operator \
--namespace gpu-operator --create-namespace
# GPU 리소스 확인
kubectl describe nodes | grep nvidia.com/gpu4. 모니터링
Prometheus + Grafana
# vLLM 메트릭 스크래핑 (ServiceMonitor)
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: vllm-metrics
spec:
selector:
matchLabels:
app: vllm
endpoints:
- port: metrics
interval: 15s핵심 모니터링 지표
| 카테고리 | 지표 | 알림 기준 |
|---|---|---|
| GPU | GPU 사용률 | > 95% (5분 지속) |
| GPU | GPU 메모리 사용률 | > 90% |
| GPU | GPU 온도 | > 85°C |
| 서빙 | 요청 지연시간 (P95) | > 3초 |
| 서빙 | QPS (초당 요청) | 트래픽 급증 감지 |
| 서빙 | 에러율 | > 1% |
| 시스템 | CPU 사용률 | > 80% |
| 시스템 | 메모리 사용률 | > 85% |
| 시스템 | 디스크 I/O | 병목 감지 |
5. 보안
| 보안 영역 | 조치 | 구현 |
|---|---|---|
| 네트워크 격리 | GPU 서버를 별도 VLAN | 방화벽 규칙 |
| API 인증 | JWT/API Key 기반 인증 | API Gateway |
| TLS 암호화 | 모든 통신 암호화 | cert-manager |
| 접근 제어 | RBAC 기반 모델/도구 접근 | K8s RBAC |
| 감사 로깅 | 모든 요청/응답 기록 | ELK Stack |
| 모델 보안 | 모델 파일 접근 제한 | 파일 시스템 권한 |
| 입출력 필터링 | 가드레일 적용 | 프록시 서비스 |
6. 비용 분석
온프레미스 vs 클라우드 vs API 비교
[월 100만 건 추론 (7B 모델) 비용 비교]
클라우드 API (GPT-4o-mini):
토큰 비용: ~$750/월
관리 비용: 없음
총 비용: ~$750/월
클라우드 GPU (A100 1대):
GPU 인스턴스: ~$2,000/월
스토리지: ~$100/월
관리 비용: ~$500/월 (인건비)
총 비용: ~$2,600/월
온프레미스 GPU (A100 1대):
서버 상각비: ~$500/월 (3년 상각)
전기료: ~$200/월
냉각/인프라: ~$100/월
관리 비용: ~$500/월 (인건비)
총 비용: ~$1,300/월
→ 100만 건/월 이상이면 온프레미스가 비용 효율적
→ 데이터 보안이 필수이면 온프레미스 선택
손익분기점
| 월 추론 건수 | API | 클라우드 GPU | 온프레미스 |
|---|---|---|---|
| 10만 건 | $75 | $2,600 | $1,300 |
| 50만 건 | $375 | $2,600 | $1,300 |
| 100만 건 | $750 | $2,600 | $1,300 |
| 500만 건 | $3,750 | $5,200 | $1,300 |
| 1,000만 건 | $7,500 | $10,400 | $2,600 |
참고: 월 300만 건 이상의 추론이 예상되면 온프레미스 투자를 검토하세요. 단, 초기 투자(서버 구매)와 운영 인력이 필요합니다.
References
- NVIDIA. "GPU-Optimized Software Hub" — https://ngc.nvidia.com/
- vLLM Documentation — https://docs.vllm.ai/
- NVIDIA GPU Operator — https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/
- Kubernetes Documentation — https://kubernetes.io/docs/
— Data Dynamics 엔지니어링 팀