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.
Arm-based processors (Arm64) are power-efficient and cost-effective, but don't compromise on performance. These Arm64 VMs are engineered to efficiently run dynamic, scalable workloads and can deliver up to 50% better price-performance than comparable x86-based VMs for scale-out workloads.
Because of their ability to scale workloads efficiently, Arm64 VMs are well-suited for web or application servers, open-source databases, cloud-native applications, gaming servers, and other high traffic applications.
Note
While a combination of CPU, memory, and networking capacity configurations heavily influences the cost effectiveness of a SKU, Arm64 VM types are recommended for cost optimization.
In this article, you'll learn how to add a Arm64 VM to an existing node pool.
Prerequisites
Before you begin, make sure you have:
Limitations
- Arm64 VMs aren't supported for Windows node pools.
- Existing node pools can't be updated to use an Arm64 VM.
- Federal Information Process Standard (FIPS)-enabled node pools are only supported with Arm64 SKUs when using Azure Linux 3.0+.
- Arm64 node pools aren't supported on Defender-enabled clusters with Kubernetes version 1.29.0 or lower.
Create node pools with Arm64 VMs
The Arm64 processor provides low power compute for your Kubernetes workloads. Arm64 virtual machines can be added to existing clusters even mixing Intel and Arm architecture node pools within a cluster. To create an Arm64 node pool, you need to choose a Dpsv5, Dplsv5, or Epsv5 series virtual machine.
Add a node pool with an Arm64 VM
Use az aks nodepool add
to add a node pool with an Arm64 VM to an existing cluster. Alternatively, if you're using Azure Linux 3.0+, you can add a node pool with an Arm64 VM and FIPS enabled.
Add a node pool with an Arm64 VM
az aks nodepool add \ --resource-group $RESOURCE_GROUP_NAME \ --cluster-name $CLUSTER_NAME \ --name $ARM_NODE_POOL_NAME \ --node-count 3 \ --node-vm-size Standard_D2pds_v5
Add a FIPS-enabled node pool with an Arm64 VM
Limitations:
- Node pools with Arm64 VMs and FIPS enabled aren't supported with Ubuntu OS.
- Node pools with Arm64 VMs and FIPS require kubernetes version 1.31+.
Use the
az aks nodepool add
with--enable-fips-image
and--os-sku
parameters.az aks nodepool add \ --resource-group $RESOURCE_GROUP_NAME \ --cluster-name $CLUSTER_NAME \ --name $ARM_NODE_POOL_NAME \ --os-sku AzureLinux --enable-fips-image --kubernetes-version 1.31 --node-count 3 \ --node-vm-size Standard_D2pds_v5
For more information on verifying FIPS enablement and disabling FIPS, see Enable FIPS node pools.
Update a node pool with an Arm64 VM to enable FIPS
Limitations:
- Node pools with Arm64 VMs and FIPS enabled aren't supported with Ubuntu OS.
- Node pools with Arm64 VMs and FIPS require kubernetes version 1.31+.
Use
az aks nodepool update
command with the--enable-fips-image
parameter to enable FIPS on an existing node pool.az aks nodepool update \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name np \ --enable-fips-image
This command triggers a reimage of the node pool immediately to deploy the FIPS compliant Operating System. This reimage occurs during the node pool update. No extra steps are required.
For more information on verifying FIPS enablement and disabling FIPS, see Enable FIPS node pools.
Verify the node pool uses Arm64
Verify a node pool uses Arm64 using the az aks nodepool show
command and verify the vmSize
is a Dpsv5, Dplsv5, or Epsv5 series.
az aks nodepool show \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool \
--query vmSize
The following example output shows the node pool uses Arm64:
"Standard_D2pds_v5"
Next steps
In this article, you learned how to add a node pool with an Arm64 VM to an AKS cluster.
- For more recommendations for cost savings, see Best practices for cost optimization in Azure Kubernetes Service (AKS).
- For more information about Arm64, see Cobalt Arm-based processors (Arm64).
- For more information on verifying FIPS enablement and disabling FIPS, see Enable FIPS node pools.
- For Azure Linux 3.0 enablement and support details, see Enable Azure Linux 3.0.
Azure Kubernetes Service