Skip to main content

Overview

The vllmstack subchart deploys vLLM as an OpenAI-compatible inference server. The backend communicates with it through the dashboard-connect service using the standard /v1/chat/completions API. The vLLM pod requires a GPU node and is disabled by default. Enable it when you have GPU capacity available.

GPU Node Prerequisite

Before enabling vLLM, ensure:
  1. A GPU node exists in the cluster with NVIDIA drivers installed.
  2. The NVIDIA device plugin DaemonSet is running so nvidia.com/gpu is a schedulable resource.
  3. GPU nodes carry the taint nvidia.com/gpu:NoSchedule (the vLLM pod tolerates this automatically when configured as shown below).
For bare-metal or on-prem clusters, apply the device plugin manually:
For a single GPU with 16–24 Gi VRAM (e.g., A10G, A100-40G, RTX 4090), the recommended model is QuantTrio/Qwen3.5-9B-AWQ — an AWQ-quantized 9B parameter model that fits comfortably in 24 Gi VRAM with a 8 192 token context window.

Alternative Models

Qwen3.5-9B (BF16, no quantization)

Requires 1× A10G 24 Gi. Slightly lower throughput than AWQ but avoids quantization artifacts.

Qwen3.5-27B (4× GPU, high quality)

Requires 4× A10G 24 Gi (e.g., g5.12xlarge or 4-GPU bare-metal node).

Air-Gapped Deployment

In environments without internet access, pre-download the model weights to a shared volume or container registry mirror:
  1. Download weights on a machine with internet access:
  2. Serve the weights from a local HTTP server or a pre-populated PVC.
  3. In the values file, set --download-dir to the local path and remove the hf_token.

Verify the Inference Endpoint

Once the vLLM pod is Running:
The service name follows the pattern: <release-name>-vllmstack-engine.

Configure dashboard-connect

Set LLM_BASE_URL to point at the vLLM ClusterIP service:
Then reference it in your values: