Standing Up a GPU Cluster on AKS for vLLM Josef Doornink, an engineer, published a guide to standing up a GPU cluster on Azure Kubernetes Service (AKS) for serving vLLM models. The walkthrough covers requesting GPU quota, creating a cluster with a GPU node pool, and installing the NVIDIA device plugin to enable GPU scheduling. The guide emphasizes a methodical approach from model selection to infrastructure setup. This article is Part of a series on running vLLM on AKS and walks through creating an AKS cluster with a GPU node pool, deploying vLLM onto it, and wiring up Prometheus and Grafana for visibility. Companion pieces: Choosing the right GPU https://dev.to/josef doornink 930b2caf1c/choosing-the-right-gpu-for-your-model-a-sizing-method-not-a-guess-4fe5 | Why your autoscaler flaps https://dev.to/josef doornink 930b2caf1c/your-vllm-autoscaler-is-flapping-because-you-picked-the-wrong-signal-not-the-wrong-number-24lf | Source https://github.com/JDoornink/vLLM on K8s/blob/main/write-up-infrastructure.md Standard NV36ads A10 v5 1× A10, 24 GB vllm/vllm-openai:latest serving Qwen/Qwen2.5-7B-Instruct-AWQ All commands below are bash. The steps are ordered and each one depends on the previous. The build order follows one chain: model → VRAM requirement → GPU SKU → region availability → quota. GPU quota. Request through Portal → Quotas → Compute → This article: Requested Standard NVADSA10v5 Family vCPUs = 108 in westus 108 = 3 nodes × 36 vCPUs, matching the autoscaler's max-count 3 set in step 3 . Quota is granted per-subscription and survives resource group deletion, so this step happens once, not on every rebuild. A quota is Azure's per-subscription limit on how much of a resource here, GPU vCPUs in a specific VM family you're allowed to provision at once. New subscriptions start at 0 for GPU families since it's expensive and can be abused. You need it because without an approval, az aks nodepool add for a GPU will fail outright. The request goes through manual Azure approval, so it has to happen before you plan to build. Prerequisites Local tooling: Bash Variables to set for use through the setup RG=