AKS Pricing Guide: VM Costs, Node Pools, and Billing Models Explained

Alberto Grande
Head of Marketing

Azure Kubernetes Service (AKS) lets you run Kubernetes without managing the control plane, but pricing can be hard to pin down. Between VM node pools, virtual nodes, disks, bandwidth, and load balancers, your actual costs depend on how your workloads are configured and scaled.
This guide breaks down how AKS pricing works, explaining each component so you can see where costs come from and how to estimate them accurately. Whether you’re testing a dev cluster or running production at scale, you’ll get a clear picture of what you’re paying for and how to keep costs under control.
What You Pay for in AKS#
AKS manages the Kubernetes control plane for you, but you’re still responsible for the infrastructure your workloads run on. That means compute (VMs), storage, and networking are billed based on Azure pricing—not AKS itself.
The largest share of cost typically comes from compute, which refers to the VMs running in your node pools. Each node pool is a group of Azure VMs with a specific configuration (e.g., VM type, OS, pricing model). These VMs are what actually execute your containers.
Here’s how each cost component breaks down:
| Component | How You’re Charged | Approximate Price | Notes |
|---|---|---|---|
| Control plane | Free for 1 standard cluster per region per subscription | $0 | Additional clusters or premium control planes may incur cost |
| Worker nodes (VMs) | Billed per VM (vCPU, memory, OS, region, uptime) | ~$0.021–$3.00/hr per VM | This is your compute layer and hosts all workloads |
| Node pools | Logical group of VMs with shared config; priced by the VMs | Same as worker nodes | Each pool can use different VM types or billing models (Spot, Reserved, On-Demand) |
| Storage | Charged per disk used and type (Standard, Premium, etc.) | ~$0.03–$0.20/GB/month | Azure Disks back your PVCs and ephemeral storage |
| Network egress | Charged per GB based on destination | ~$0.01–$0.09/GB | Same-region traffic is free. Cross-region and internet egress are the most expensive. |
| Load balancers | 1 free basic LB per cluster; extras billed separately | ~$0.025/hr per rule | Standard LBs or extra rules cost more |
| Serverless (ACI) | vCPU-seconds + memory-seconds via Azure Container Instances | ~$0.000012/vCPU-sec + $0.0000015/GB-sec | Used for bursty jobs, not steady workloads |
Most of your AKS spend will come from the VMs in your node pools. That’s where cost optimization efforts should start—by rightsizing instances, scaling effectively, and using Spot or Reserved pricing where possible.
AKS Serverless with Virtual Nodes#
If you don’t want to manage VM node pools, AKS offers a serverless option via Virtual Nodes—powered by Azure Container Instances (ACI). These containers run without provisioning infrastructure and are billed by the second for the CPU and memory they use.
This model is useful when you want Kubernetes-style deployment without running always-on nodes.
| Resource | Approximate Price (2025) | Notes |
|---|---|---|
| vCPU | ~$0.000012 per vCPU-second | You’re charged for requested CPU, rounded to the second |
| Memory | ~$0.0000015 per GB-second | Billed by GB per second of allocated memory |
When to Use Virtual Nodes#
- Short-lived, bursty, or batch workloads
- Development or testing environments that scale to zero
- Overflow handling when your regular node pools are full
Tradeoffs#
- No GPU or Spot VM support
- Cold start times can be slower
- Less control over underlying infrastructure
- Higher cost per unit compared to node-based compute for steady workloads
Virtual Nodes let you run containers without managing infrastructure—but they’re best suited for burst scenarios, not long-running production services.
AKS Pricing Models#
Azure offers flexible pricing options to help you reduce compute costs in AKS. These options apply at the VM level, so they directly affect the cost of each node in your AKS cluster.
Spot VMs#
- Up to 90% cheaper than on-demand
- Same VM SKUs, but eviction can happen at any time
- Best for batch jobs, CI pipelines, and stateless workloads
- Available for Linux and Windows
| VM Type | On-Demand | Spot (est.) |
|---|---|---|
| D2s_v5 | ~$0.096/hr | ~$0.011/hr |
| D4s_v5 | ~$0.192/hr | ~$0.021/hr |
Spot VMs can dramatically lower costs, but they’re not guaranteed to stay up.
Reserved VM Instances#
- Commit to 1- or 3-year usage
- Savings up to 72% over pay-as-you-go
- Locked to a specific region and VM size
- Great for production workloads with stable usage
| Reservation Term | Discount vs On-Demand |
|---|---|
| 1 year | ~41% |
| 3 years | ~62–72% |
Can be combined with Azure Hybrid Benefit for even more savings if using Windows licenses.
Burstable VMs (B-series)#
- Earn CPU credits when idle, spend them under load
- Much cheaper baseline cost than D-series or E-series
- Ideal for low-traffic apps, dev/test environments, or cron jobs
| VM Type | vCPU | RAM | Rate/hr |
|---|---|---|---|
| B2s | 2 | 4 GiB | ~$0.021 |
| B4ms | 4 | 16 GiB | ~$0.084 |
Costs are low—but workloads that need sustained CPU won’t perform well without enough credits.
AKS Pricing Examples#
To make AKS pricing more tangible, here are a few examples showing how monthly cost varies based on VM type, workload size, and pricing model.
Example 1: Steady Workload on On-Demand VMs#
- 3 nodes in a node pool
- VM type: D4s_v5 (4 vCPU, 16 GiB RAM)
- Uptime: 730 hours/month
- Pricing: On-demand, Linux OS, East US
| Resource | Rate | Monthly Total (per node) |
|---|---|---|
| vCPU (4×) | $0.048/hour | $0.048 × 4 × 730 = $140.16 |
| Memory (16×) | $0.0052/GB-hour | $0.0052 × 16 × 730 = $60.63 |
| Total | $200.79 per node |
- Total for 3 nodes: $602.37/month
- Add 15% for disks, bandwidth, and LBs → $692/month
Example 2: Low-Traffic Dev Cluster with Burstable VMs#
- 2 nodes
- VM type: B2s (2 vCPU, 4 GiB RAM)
- Pricing: Burstable, Linux OS, East US
- Uptime: 730 hours/month
| Resource | Rate | Monthly Total (per node) |
|---|---|---|
| vCPU + RAM | ~$0.021/hour | $0.021 × 730 = $15.33 |
Total for 2 nodes: $30.66/month
Add 15% overhead → $35/month
Burstable instances work well for dev/test environments that don’t need full CPU performance.
Example 3: Spot VMs for Batch Jobs#
- 5 nodes
- VM type: D2s_v5 (2 vCPU, 8 GiB RAM)
- Pricing: Spot (up to 90% off), Linux OS
- Uptime: 200 hours/month (preemptible)
| Resource | Spot Rate | Monthly Total (per node) |
|---|---|---|
| vCPU + RAM | ~$0.011/hour | $0.011 × 200 = $2.20 |
Total for 5 nodes: $11/month
Even with egress and storage, total stays under $20/month
Spot pools are ideal for interruptible batch jobs like rendering, ML training, or CI builds.
How to Estimate AKS Costs Accurately#
Pricing calculators are helpful—but they often miss the nuance of how Kubernetes actually consumes resources. To avoid surprise bills, base your cost estimates on how your workloads behave in real clusters.
1. Node Usage, Not Just Instance Type#
Don’t just price a VM—calculate how many are running and how long they stay up. Idle agent nodes from overprovisioning or slow scale-downs can quietly inflate your bill.
2. Requested vs. Actual Usage#
Kubernetes bills you based on the resources your pods request—not what they actually use. If every service requests 2 vCPU but only needs 0.5, you’re still paying for the full 2.
3. Storage, Networking, and Load Balancers Add Up#
Persistent disks, outbound traffic, and load balancer rules can add 10–30% overhead on top of compute. These often get missed in initial cost estimates.
4. Autoscaling Isn’t Always Cost-Efficient#
Cluster Autoscaler doesn’t always scale down fast enough. Nodes can sit idle for hours if workloads terminate but the scale-down delay is too conservative.
5. Use Separate Node Pools Strategically#
Run dev/test workloads on cheaper VM SKUs like B-series or Spot. Reserve higher-cost compute for production. Label and isolate workloads to optimize spend per environment.
Don’t just look at monthly totals, useKubernetes cost monitoring to track per-pod or per-team costs and catch inefficiencies early. Idle agent nodes, oversized requests, or underutilized volumes are some of the most common budget leaks in AKS.
To stay on top of these patterns, many teams useKubernetes cost optimization tools that provide granular visibility and automate resource tuning based on real usage helping prevent waste before it impacts your bill.
Frequently Asked Questions#
Is AKS free?#
AKS includes a free managed control plane for one standard cluster per region and subscription. You still pay for VMs, storage, bandwidth, and add-ons.
How is AKS billed?#
AKS charges based on the Azure infrastructure you use: VM instances (for nodes), Azure Disks, load balancers, and egress traffic. Control plane is free for the first cluster.
Does AKS support Spot VMs?#
Yes. You can configure node pools with Spot pricing to cut costs on interruptible or batch workloads. Spot pricing can save up to 90% over on-demand.
Can I run AKS without using VMs?#
Yes. AKS supports serverless workloads via Virtual Nodes (backed by Azure Container Instances). These are billed by the second for CPU and memory used.
What’s the cheapest AKS setup?#
Use a small burstable VM (e.g., B2s), minimal storage, no public egress, and scale down during idle hours. This works well for dev/test clusters.
How do I reduce AKS costs?#
Use right-sized VM SKUs, enable autoscaling, schedule non-critical workloads on Spot nodes, use separate node pools for dev/test, and track usage with a cost monitoring tool.
Conclusion#
AKS offers flexibility and performance for teams running Kubernetes on Azure—but that flexibility comes with complexity in pricing. Whether you’re using on-demand VMs, Spot, Reserved Instances, or Virtual Nodes, it’s critical to understand where your costs are coming from and how to control them.
And once you understand how you’re charged, the real challenge begins: keeping workloads right-sized, minimizing idle resource spend, and making infrastructure decisions that balance performance and cost.
We’ve put together a fullAKS Cost Optimization Guide that walks through practical strategies—from request tuning to Spot usage—to help you reduce waste across your clusters.

Alberto Grande
Head of Marketing
Related Posts

The Economics of Cloud Commitments: Why Savings Plans Exist and When They Actually Make Sense
Why do savings plans exist? And more importantly, when do they actually make sense? Let's break down the economics.
By Debo Ray

Your Cloud Bill Is On Fire. Here's Why Buying a Savings Plan Won't Save You.
Savings plans reduce your cloud bill but don't fix the underlying waste. Learn why commitment pricing is cost mitigation, not optimization, and what to do instead.
By Debo Ray

What Makes DevZero Different
How DevZero Kubernetes Optimization stands out against the rest.
By Rob Fletcher