Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Manage your Azure Kubernetes Service (AKS) clusters using AKS pricing tiers. This article explains the differences between these tiers, when to use each tier, and how to create or update AKS clusters using Azure CLI.
About AKS pricing tiers
AKS offers three pricing tiers for cluster management: the Free tier, the Standard tier, and the Premium tier.
SKU and tier relationship:
- Base SKU clusters: Can use any of the three pricing tiers (Free, Standard, or Premium).
- Automatic SKU clusters: Must use the Standard tier (automatically selected during cluster creation).
AKS pricing tiers comparison
The following table compares the Free, Standard, and Premium pricing tiers for AKS cluster management:
| Tier | When to use | Supported cluster types | Pricing | Feature comparison |
|---|---|---|---|---|
| Free | • Development/testing environments. • Learning and evaluation scenarios. • Non-production workloads. |
• Development clusters or small scale testing environments. • Clusters with fewer than 10 nodes. |
• Free cluster management. • Pay-as-you-go for resources you consume. |
• Recommended for clusters with fewer than 10 nodes, but can support up to 1,000 nodes. • Includes all current AKS features. |
| Standard | • Production workloads requiring 99.9-99.95% API server uptime. • Workloads needing financial service level agreement (SLA) coverage. |
• Default tier for Automatic SKU clusters. • Enterprise-grade or production workloads. • Clusters with up to 5,000 nodes. |
• Pay-as-you-go for resources you consume. • Standard tier cluster management pricing details. |
• Uptime SLA is enabled by default. • Greater cluster reliability. • Supports up to 5,000 nodes in a cluster. • Includes all current AKS features. |
| Premium | • Production workloads requiring 99.9-99.95% API server uptime. • Workloads requiring 24-month Long Term Support (LTS) Kubernetes version support. • Regulated environments requiring extended maintenance. |
• Enterprise-grade or production workloads. • Clusters with up to 5,000 nodes. |
• Pay-as-you-go for resources you consume. • Premium tier cluster management pricing details. |
• Includes all current AKS features. • Microsoft maintenance past community support. |
Uptime SLA terms and conditions
Standard and Premium tiers include Uptime SLA by default:
- With availability zones: 99.95% availability of the Kubernetes API server
- Without availability zones: 99.9% availability of the Kubernetes API server
- Free tier: Best-effort uptime (no SLA guarantee)
For more information, see the SLA.
Region availability
The following tables outline the availability of AKS pricing tiers by region:
| Region type | Available pricing tiers |
|---|---|
| Public regions and Azure Government regions where AKS is supported | - Free tier - Standard tier - Premium tier |
| Private AKS clusters in all public regions where AKS is supported | - Free tier - Standard tier - Premium tier |
Prerequisites
- You need Azure CLI version 2.47.0 or later. Find the current version using the
az --versioncommand. If you need to install or upgrade, see Install Azure CLI. - You can create your cluster in an existing resource group or create a new one. To learn more about resource groups and working with them, see managing resource groups using the Azure CLI.
Create a resource group
Create a resource group using the
az group createcommand.# Set environment variables export REGION=<your-region> export RESOURCE_GROUP=<your-resource-group-name> # Create the resource group az group create --name $RESOURCE_GROUP --location $REGIONResults:
{ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/"<your-resource-group-name>", "location": "<your-region>", "managedBy": null, "name": "<your-resource-group-name>", "properties": { "provisioningState": "Succeeded" }, "tags": null, "type": "Microsoft.Resources/resourceGroups" }
Create an AKS cluster in the Free tier
Create an AKS cluster in the Free tier using the
az aks createcommand with the--tierparameter set tofree.# Set environment variables export RESOURCE_GROUP=<your-resource-group-name> export CLUSTER_NAME=<your-aks-cluster-name> # Create the AKS cluster az aks create \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --tier free \ --generate-ssh-keysResults:
{ ... "sku": { "name": "Base", "tier": "Free" }, ... }
Create an AKS cluster in the Standard tier
Create an AKS cluster in the Standard tier using the
az aks createcommand with the--tierparameter set tostandard.# Set environment variables export RESOURCE_GROUP=<your-resource-group-name> export CLUSTER_NAME=<your-aks-cluster-name> # Create the AKS cluster az aks create \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --tier standard \ --generate-ssh-keysResults:
{ ... "sku": { "name": "Base", "tier": "Standard" }, ... }
Create an AKS cluster in the Premium tier
Important
When creating a cluster in the Premium tier, you must also enable the LTS plan by setting the --k8s-support-plan parameter to AKSLongTermSupport. You should enable/disable LTS and the Premium tier together.
Create an AKS cluster in the Premium tier using the
az aks createcommand with the--tierparameter set topremiumand the--k8s-support-planparameter set toAKSLongTermSupport.# Set environment variables export RESOURCE_GROUP=<your-resource-group-name> export CLUSTER_NAME=<your-aks-cluster-name> # Create the AKS cluster az aks create \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --tier premium \ --k8s-support-plan AKSLongTermSupport \ --generate-ssh-keysResults:
{ ... "sku": { "name": "Base", "tier": "Premium" }, "supportPlan": "AKSLongTermSupport", ... }
Update an existing cluster from the Standard tier to the Free tier
Update an existing cluster from the Standard tier to the Free tier using the
az aks updatecommand with the--tierparameter set tofree.# Set environment variables export RESOURCE_GROUP=<your-resource-group-name> export CLUSTER_NAME=<your-aks-cluster-name> # Update the AKS cluster az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --tier freeResults:
{ ... "sku": { "name": "Base", "tier": "Free" }, ... }
Update an existing cluster from the Free tier to the Standard tier
Update an existing cluster from the Free tier to the Standard tier using the
az aks updatecommand with the--tierparameter set tostandard.# Set environment variables export RESOURCE_GROUP=<your-resource-group-name> export CLUSTER_NAME=<your-aks-cluster-name> # Update the AKS cluster az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --tier standardResults:
{ ... "sku": { "name": "Base", "tier": "Standard" }, ... }
Update an existing cluster to or from the Premium tier
Important
Updating existing clusters to or from the Premium tier requires changing the support plan.
Update an existing cluster to the Premium tier
Update an existing cluster to the Premium tier using the
az aks updatecommand with the--tierparameter set topremiumand the--k8s-support-planparameter set toAKSLongTermSupport.# Set environment variables export RESOURCE_GROUP=<your-resource-group-name> export CLUSTER_NAME=<your-aks-cluster-name> # Update the AKS cluster az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --tier premium --k8s-support-plan AKSLongTermSupportResults:
{ ... "sku": { "name": "Base", "tier": "Premium" }, "supportPlan": "AKSLongTermSupport", ... }
Update an existing cluster from the Premium tier to the Free or Standard tier
Update an existing cluster from the Premium tier to the Free or Standard tier using the
az aks updatecommand with the--tierparameter set tofreeorstandardand the--k8s-support-planparameter set toKubernetesOfficial. The following example shows updating to the Free tier.# Set environment variables export RESOURCE_GROUP=<your-resource-group-name> export CLUSTER_NAME=<your-aks-cluster-name> # Update the AKS cluster az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --tier free --k8s-support-plan KubernetesOfficialResults:
{ ... "sku": { "name": "Base", "tier": "Free" }, "supportPlan": "KubernetesOfficial", ... }
Update an existing cluster from the Base SKU to the Automatic SKU
Important
Make sure all the AKS Automatic features are enabled on your cluster before updating.
Update an existing cluster from the Base SKU to the Automatic SKU using the
az aks updatecommand with the--skuparameter set toAutomatic.# Set environment variables export RESOURCE_GROUP=<your-resource-group-name> export CLUSTER_NAME=<your-aks-cluster-name> # Update the AKS cluster az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --sku AutomaticResults:
{ ... "sku": { "name": "Automatic", "tier": "Standard" }, ... }
Update an existing cluster from the Automatic SKU to the Base SKU
Update an existing cluster from the Automatic SKU to the Base SKU using the
az aks updatecommand with the--skuparameter set toBase.# Set environment variables export RESOURCE_GROUP=<your-resource-group-name> export CLUSTER_NAME=<your-aks-cluster-name> # Update the AKS cluster az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --sku BaseResults:
{ ... "sku": { "name": "Base", "tier": "Standard" }, ... }
Related content
- Use availability zones to increase high availability with your AKS cluster workloads.
- Limit egress traffic on AKS clusters to meet security and compliance requirements.