apiVersion: apps/v1 kind: Deployment metadata: name: openclaw-brain-vllm-l4 namespace: customer1 labels: app: openclaw-brain-l4 spec: replicas: 1 selector: matchLabels: app: openclaw-brain-l4 template: metadata: labels: app: openclaw-brain-l4 spec: nodeSelector: workload: "llm-analyst" tolerations: - key: "nvidia.com/gpu" operator: "Equal" value: "present" effect: "NoSchedule" containers: - name: vllm-brain-l4 image: vllm/vllm-openai:latest command: ["python3", "-m", "vllm.entrypoints.openai.api_server"] env: - name: HF_TOKEN value: "" - name: VLLM_LOGGING_LEVEL value: DEBUG args: - --model=p-e-w/Qwen3-8B-heretic - --host=0.0.0.0 - --port=8000 - --tensor-parallel-size=1 - --gpu-memory-utilization=0.95 - --max-model-len=32768 - --kv-cache-dtype=fp8 - --max-num-batched-tokens=2048 - --max-num-seqs=128 - --enable-chunked-prefill - --enable-auto-tool-choice - --trust-remote-code - --dtype=auto - --tool-call-parser=hermes - --enable-prefix-caching ports: - containerPort: 8000 resources: limits: nvidia.com/gpu: 1 memory: "30Gi" cpu: "8" requests: nvidia.com/gpu: 1 memory: "16Gi" cpu: "4" volumeMounts: - name: model-cache mountPath: /root/.cache/huggingface volumes: - name: model-cache persistentVolumeClaim: claimName: vllm-model-cache-pvc-l4 --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: vllm-model-cache-pvc-l4 namespace: customer1 spec: accessModes: - ReadWriteOnce resources: requests: storage: 50Gi --- apiVersion: v1 kind: Service metadata: name: openclaw-brain-service-l4 namespace: customer1 spec: selector: app: openclaw-brain-l4 ports: - protocol: TCP port: 8000 targetPort: 8000 type: ClusterIP