feat: add Kubernetes manifests for AI stack deployment including Qdrant, vLLM, and Triton
This commit is contained in:
@@ -205,6 +205,116 @@ spec:
|
||||
nodePort: 30800
|
||||
---
|
||||
# ==============================================================================
|
||||
# 2B. vLLM GEMMA 4 12B INFERENCE ENGINE (snaisvr44hrvstr02 Tesla T4 GPU)
|
||||
# ==============================================================================
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: vllm-gemma4-models-pvc
|
||||
namespace: ai-stack
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
storageClassName: longhorn
|
||||
resources:
|
||||
requests:
|
||||
storage: 200Gi
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: vllm-gemma4
|
||||
namespace: ai-stack
|
||||
labels:
|
||||
app: vllm-gemma4
|
||||
spec:
|
||||
replicas: 1
|
||||
strategy:
|
||||
type: Recreate
|
||||
selector:
|
||||
matchLabels:
|
||||
app: vllm-gemma4
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: vllm-gemma4
|
||||
spec:
|
||||
nodeSelector:
|
||||
kubernetes.io/hostname: snaisvr44hrvstr02
|
||||
containers:
|
||||
- name: vllm
|
||||
image: vllm/vllm-openai:v0.32.0-cu129
|
||||
imagePullPolicy: IfNotPresent
|
||||
command: ["/bin/bash", "-c"]
|
||||
args:
|
||||
- |
|
||||
rm -rf /usr/local/lib/python3.12/dist-packages/torchcodec*
|
||||
exec vllm serve google/gemma-4-12B-it-qat-w4a16-ct \
|
||||
--served-model-name Gemma-4-12B-it \
|
||||
--dtype half \
|
||||
--max-model-len 8192 \
|
||||
--gpu-memory-utilization 0.92 \
|
||||
--enforce-eager \
|
||||
--enable-auto-tool-choice \
|
||||
--tool-call-parser gemma4 \
|
||||
--reasoning-parser gemma4 \
|
||||
--host 0.0.0.0 \
|
||||
--port 8000
|
||||
env:
|
||||
- name: HF_HOME
|
||||
value: "/root/.cache/huggingface"
|
||||
- name: VLLM_WORKER_MULTIPROC_METHOD
|
||||
value: "spawn"
|
||||
ports:
|
||||
- name: http-openai
|
||||
containerPort: 8000
|
||||
resources:
|
||||
requests:
|
||||
cpu: "8"
|
||||
memory: "24Gi"
|
||||
nvidia.com/gpu: "1"
|
||||
limits:
|
||||
cpu: "24"
|
||||
memory: "48Gi"
|
||||
nvidia.com/gpu: "1"
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /health
|
||||
port: 8000
|
||||
initialDelaySeconds: 30
|
||||
periodSeconds: 10
|
||||
volumeMounts:
|
||||
- name: vllm-gemma4-models
|
||||
mountPath: /root/.cache/huggingface
|
||||
- name: dshm
|
||||
mountPath: /dev/shm
|
||||
volumes:
|
||||
- name: vllm-gemma4-models
|
||||
persistentVolumeClaim:
|
||||
claimName: vllm-gemma4-models-pvc
|
||||
- name: dshm
|
||||
emptyDir:
|
||||
medium: Memory
|
||||
sizeLimit: 16Gi
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: vllm-gemma4
|
||||
namespace: ai-stack
|
||||
labels:
|
||||
app: vllm-gemma4
|
||||
spec:
|
||||
type: NodePort
|
||||
selector:
|
||||
app: vllm-gemma4
|
||||
ports:
|
||||
- name: http-openai
|
||||
port: 8000
|
||||
targetPort: 8000
|
||||
nodePort: 30804
|
||||
---
|
||||
# ==============================================================================
|
||||
# 3. NVIDIA TRITON INFERENCE SERVER (Decision Engine & Multi-Model ML Serving)
|
||||
# ==============================================================================
|
||||
apiVersion: v1
|
||||
|
||||
Reference in New Issue
Block a user