หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
If the resource needs of your applications change, your cluster performance may be impacted due to low capacity on CPU, memory, PID space, or disk sizes. To address these changes, you can manually scale your AKS cluster to run a different number of nodes. When you scale in, nodes are carefully cordoned and drained to minimize disruption to running applications. When you scale out, AKS waits until nodes are marked Ready by the Kubernetes cluster before pods are scheduled on them.
This article describes how to manually increase or decrease the number of nodes in an AKS cluster.
Note
This article applies to AKS Standard clusters. AKS Automatic clusters use node autoprovisioning to manage node scaling.
Before you begin
Review the AKS service quotas and limits to verify your cluster can scale to your desired number of nodes.
If the cluster autoscaler is enabled on the node pool, you can't manually change the node count. You can either update the cluster autoscaler minimum and maximum values or disable the cluster autoscaler on the node pool before manually scaling it.
Azure Linux 2.0 support ended on November 30, 2025. Beginning March 31, 2026, Azure Linux 2.0 node images were removed, and affected node pools can no longer scale. Migrate to Azure Linux 3 before scaling an Azure Linux 2.0 node pool.
Node pool names must meet the following requirements:
Node pool type Name requirements Linux Between 1-12 lowercase alphanumeric characters. Must begin with a lowercase letter. Windows Between 1-6 lowercase alphanumeric characters. Must begin with a lowercase letter.
Scale cluster nodes in AKS
Important
Removing nodes from a node pool by using the kubectl command isn't supported. This action can create scaling problems with your AKS cluster.
Get the name, mode, and node count of your node pools by using the
az aks showcommand. The following example gets the node pool details for the cluster named myAKSCluster in the myResourceGroup resource group:az aks show --resource-group myResourceGroup --name myAKSCluster --query "agentPoolProfiles[].{Name:name,Mode:mode,Count:count}" --output tableThe following example output shows that nodepool1 is a system node pool with three nodes:
Name Mode Count --------- ------ ------- nodepool1 System 3Scale the cluster nodes by using the
az aks scalecommand. The following example scales nodepool1 in the cluster named myAKSCluster to two nodes:az aks scale --resource-group myResourceGroup --name myAKSCluster --node-count 2 --nodepool-name nodepool1 --query "agentPoolProfiles[?name=='nodepool1'].{Name:name,Mode:mode,Count:count}" --output tableThe following example output shows the system node pool successfully scaled to two nodes:
Name Mode Count --------- ------ ------- nodepool1 System 2System node pools must have at least two nodes. For production clusters, use at least three nodes in a system node pool. For more information, see System and user node pools.
Scale user node pools to 0
Unlike system node pools that always require running nodes, user node pools can scale to 0. To learn more about the differences between system and user node pools, see System and user node pools.
Important
To scale a user node pool to 0 nodes, disable the cluster autoscaler. For more information, see Disable the cluster autoscaler on a node pool.
To scale a user node pool to 0, use az aks nodepool scale instead of the az aks scale command used for general node scaling, and set --node-count to 0.
az aks nodepool scale --name <your node pool name> --cluster-name myAKSCluster --resource-group myResourceGroup --node-count 0
You can allow, but not force, autoscaling to zero nodes on autoscaled user node pools by setting the --min-count parameter of the Cluster Autoscaler to 0.
Next steps
In this article, you manually scaled an AKS cluster to increase or decrease the number of nodes. You can also use the cluster autoscaler to automatically scale your cluster.