Blog
onpremisegpukubernetesvllminfrastructurellmai
온프레미스 LLM 인프라 구축 가이드 - GPU 서버부터 Kubernetes 배포까지
온프레미스 환경에서 LLM 인프라를 구축하는 방법을 정리합니다. GPU 서버 구성, 네트워크 설계, Kubernetes + vLLM 배포, 모니터링, 보안, 비용 분석을 다룹니다.
Data Dynamics2026年4月16日7 min read
This post is not yet translated. The original Korean version is shown below.
데이터 보안, 규정 준수, 비용 효율성 등의 이유로 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 엔지니어링 팀