All Products
Search
Document Center

Container Service for Kubernetes:Manually scale node pools

Last Updated:Mar 26, 2026

Manually scaling a node pool lets you respond to changing workload demands or control costs by setting an explicit target node count. When application resource requirements increase, scale out to add capacity. When demand drops, scale in to reduce spend.

Prerequisites

Before you begin, ensure that you have:

How it works

ACK One registered clusters scale node pools by adjusting the Expected Nodes value — the target number of nodes the pool maintains when it reaches steady state.

  • Scale out: Set Expected Nodes higher than the current count. Auto Scaling creates Elastic Compute Service (ECS) instances, then ACK initializes and adds them to the cluster. If instance creation fails, Auto Scaling retries automatically until the target is reached.

  • Scale in: Set Expected Nodes lower than the current count. Auto Scaling removes nodes based on the configured scaling policy.

Important

Scaling in by adjusting Expected Nodes removes nodes immediately without draining them first. To drain nodes before removal, use the Remove nodes from a node pool method instead.

Scale-out process

  1. Create ECS instances — Auto Scaling creates ECS instances. The node pool status changes to Expanding, then Activated after instances are created.

  2. Add nodes to the cluster — ACK runs the cloud-init script on each new instance to initialize and register the node. Operational logs are saved to /var/log/messages on each node.

    Note

    After a node successfully joins the pool, its log entries in /var/log/messages are deleted. Only failure logs are retained. If a node fails to join, the log data is synced to the task result and is viewable on the Cluster Tasks tab of the cluster details page.

    Important

    GPU-accelerated ECS Bare Metal Instance families ebmgn7 and ebmgn7e cannot automatically delete their Multi-Instance GPU (MIG) configuration. When adding these instance types, ACK resets the retained MIG configuration, which can be time-consuming and may cause the instance to fail to join the cluster. See What do I do if I fail to add ECS Bare Metal instances? and the ebmgn7e instance family reference.

Scale-in behavior by scaling policy

Scaling policyNode removal behavior
PriorityRemoves the most recently created ECS instances first
Distribution BalancingRemoves the most recently created instances while keeping node counts balanced across zones
Cost OptimizationRemoves instances in descending order of vCPU price

Billing during scale-out

Billing is based on the actual instances created. For example, with a node pool configured for two instance types, pay-as-you-go billing, and a Priority scaling policy: if 2 nodes of type A are added in the first-priority vSwitch zone, then 3 nodes of type B are added in the second-priority zone because type A resources are insufficient, the hourly cost is:

(Node A unit price × 2 × 1) + (Node B unit price × 3 × 1)

See Expected number of instances for details on how Auto Scaling manages instance counts.

Scale a node pool

  1. Log in to the ACK console. In the left-side navigation pane, click Clusters.

  2. On the Clusters page, click the name of the target cluster. In the left-side navigation pane, choose Nodes > Node Pools.

  3. Find the node pool to scale, then click Scale in the Actions column.

  4. Set the Expected Nodes value and complete the configuration as prompted.

After you submit, the node pool status in the list changes in sequence. Use the status to track progress:

StatusMeaning
UpdatingConfiguration change submitted
Scaling OutAdding nodes to the node pool
RemovingRemoving nodes from the node pool
ActiveScaling complete
Important

If the cluster's security group blocks access to 100.64.0.0/10, new nodes cannot join the cluster.

Limitation on subscription instances

Scale-in does not release subscription ECS instances. To release them, convert the instances to pay-as-you-go billing in the ECS console first, then release them. See Change the billing method from subscription to pay-as-you-go.

What's next