You can use node pools to facilitate node management. For example, you can schedule, configure, or maintain nodes by node pool, and enable auto scaling for a node pool. This topic introduces node pools, compares regular node pools with managed node pools, and describes the features, billing, terms, and lifecycle of node pools.
Table of contents
Introduction
Container Service for Kubernetes (ACK) introduces node pools to improve the efficiency of node management. A node pool is a collection of nodes in an ACK cluster. You can create one or more node pools of different types and configurations for each ACK cluster. The configurations of a node pool consist of node attributes, such as the node type, zone, labels, and taints. You can configure these attributes when you create the node pool or modify the attributes after the node pool is created. For more information about how to create a node pool, see Create a node pool.
You can scale out a node pool to add one or more Elastic Compute Service (ECS) nodes with the same configuration. For more information about how to scale out a node pool, see Scale a node pool. You can also add existing nodes to a node pool. For more information about how to add an existing node, see Add existing ECS instances to an ACK cluster.
By creating node pools, you can easily manage and maintain cluster nodes. For example, you can manage node configurations, maintain nodes, configure auto scaling, create managed node pools, and Schedule an application pod to a specific node pool. For more information about the features provided by node pools, see Compare regular node pools and managed node pools.
- You can create node pools that run different operating systems, such as CentOS, Windows, and Alibaba Cloud Linux, in a cluster.
- You can create node pools that use different container runtimes, such as Sandboxed-Container and Docker, in a cluster.
- You can create node pools that use different billing methods, such as pay-as-you-go, subscription, and pay-by-preemptible-instance, in a cluster.
- You can create multiple node pools that have auto scaling enabled in a cluster.

Introduction to regular node pools and managed node pools
Node pool type
ACK provides regular node pools and managed node pools.
Node pool type | Description |
---|---|
Regular node pool | A regular node pool contains one or more nodes that have the same configurations in a cluster. Each node pool corresponds to a scaling group. When you scale a regular node pool, ACK uses Auto Scaling to add or remove nodes. You can create and manage multiple regular node pools based on your requirements. Note Some system components are installed in the default node pool. When the system automatically scales the default node pool, the system components may become unstable. If you want to use the auto scaling feature, we recommend that you create a new node pool that has auto scaling enabled. |
Managed node pool | Managed node pools can automate O&M tasks for specific nodes. For example, managed node pools can automatically patch Common Vulnerabilities and Exposures (CVE) vulnerabilities or fix specific anomalies. This reduces your O&M work. For information, see Managed node pool overview. |
Comparison of features
Feature | Regular node pool | Managed node pool |
---|---|---|
O&M | Managed by users. | Partially managed by ACK. |
O&M time window | No O&M time window needs to be set. | An O&M time window must be set. Managed node pools will automatically perform O&M activities, such as CVE vulnerability patching, during the specified O&M time window. |
Node repair | Manually performed. | Automatically performed. Note Managed node pools help simplify your O&M work. However, you may still need to manually fix some complicated node anomalies. For more information about automatic node repair, see Auto repair of managed node pools. |
CVE vulnerability patching | Manually triggered. | Automatically triggered. Note CVE vulnerability patching is an advanced feature provided by Security Center. To use CVE vulnerability patching, you must purchase Security Center Enterprise Edition or higher. ACK does not charge additional fees. For more information, see Vulnerability fixes. |
Component update | Manually performed. | Automatically performed. |
Minor kubelet version update | Manually performed. | Automatically performed. |
Fast ContainerOS node scale-out | Not supported. | Supported. ContainerOS nodes can be quickly scaled out. Compared with scaling out 1,000 CentOS nodes which requires 330 seconds for 90% of the nodes to be ready, it requires only 53 seconds if you use ContainerOS nodes. Note ContainerOS is an operating system that Alibaba Cloud provides for containerized development. ContainerOS is fully compatible with Kubernetes. For more information about ContainerOS, see ContainerOS overview. |
Operating systems | The following operating systems are supported:
| The following operating systems are supported:
|
- You must remove all nodes in a node pool before you can delete the node pool.
- You can enable auto scaling for a node pool only when you create the node pool. After auto scaling is enabled for a node pool, the node pool has the following characteristics:
- Manual scale-out is not supported.
- The pay-by-preemptible-instance billing method is supported.
- Standard CPU instances, GPU-accelerated instances, and shared GPU-accelerated instances are supported in scaling activities.
- You can disable auto scaling to convert an elastic node pool into a regular node pool. However, you cannot convert a regular node pool to an elastic node pool.
Features of node pools
The following table describes the features provided by node pools.
Feature | Description |
---|---|
Create a node pool | Create a node pool. You need to specify the configuration of the node pool. |
Modify a node pool | Modify the configuration of a node pool. Important In most cases, after you modify a node pool, the modified configuration applies only to newly added nodes. Only in certain cases such as synchronizing the existing node labels and taints, the modified configuration also applies to the existing nodes in the cluster. Node pool O&M operations, such as node pool upgrades, node repairing, vulnerability patching, and kubelet configuration customization, will modify the configuration of the existing nodes in the node pool. |
Scale a node pool | Modify the desired number of nodes in a node pool.
|
Add existing ECS instances to an ACK cluster | Add existing nodes that do not belong to any clusters to a node pool. However, this feature has limits. For more information about the limits on adding existing nodes, see Limits. |
Remove a node | Remove one or more specified nodes from a node pool. The removed nodes no longer belong to the cluster or node pool. You can specify whether to drain a node and release the instance before you remove a node. |
Node pool updates | Update the operating system image, runtime, and kubelet for all nodes in a node pool. To reduce the negative impact on cluster workloads, we recommend that you update the nodes in batches. After the update is complete, nodes that are newly added to the node pool all use the updated configuration. Note Managed node pools can automatically complete the update within the O&M time window. |
Repair nodes in a node pool | Repair abnormal nodes in a node pool. Nodes are repaired one after one. Note Managed node pools can automatically repair abnormal nodes. |
CVE Patching | Patch vulnerabilities in the nodes of a node pool. To reduce the negative impact on cluster workloads, we recommend that you patch the nodes in batches. Note Managed node pools can automatically patch vulnerabilities within the O&M time window. |
Customize the kubelet configurations of a node pool | Modify the kubelet configuration of the nodes in a node pool. The modified kubelet configuration also applies to nodes that are newly added to the node pool. |
Auto scaling of nodes | Auto Scaling can add regular instances, GPU-accelerated instances, and preemptible instances to node pools based on the actual loads and scaling policy. You can specify multiple zones, instance types, and scaling modes to meet the requirements of different scenarios and reduce the cost. |
Billing of node pools
- For more information about ECS billing, ECS billing.
- For more information about scaling group billing, see Auto Scaling billing.
Terms related to node pools
Term | Description |
---|---|
scaling group | Node pools use scaling groups to manage nodes. A scaling group is a collection of ECS instances. These instances are considered logical resources used for auto scaling and management purpose. Node pools manage nodes based on scaling groups. The resources in a node pool, including ECS instances and scaling groups, must belong to the same Alibaba Cloud account. For information, see Overview. Important You must use node pools to configure and manage nodes. Do not use scaling groups to configure or manage nodes. Otherwise, some node pool features may become unavailable. |
scaling configuration | Node pools use the scaling configuration to manage the configurations of nodes. The scaling configuration is used by ECS instances as a scaling template when auto scaling is enabled. When Auto Scaling triggers a scale-out activity, Auto Scaling creates ECS instances based on the scaling configuration. Important Do not use the Auto Scaling console or call the Auto Scaling API to modify the scaling configuration in case some node pool features become unavailable. We recommend that you configure and manage nodes by using node pools. |
scaling activity | Scaling activities are triggered when a node pool is scaled in or out. After a scaling activity is triggered, the system will automatically complete the scaling operation and generate a record. You can view the historical scaling activities of a node pool in the console. |
replace system disks | When the system performs certain node pool-related operations, it initializes the nodes in the node pool by replacing the system disk of the nodes. For example, the system replaces the system disk of the nodes when automatically adding existing nodes to a node pool or updating the image used by the nodes. The Infrastructure as a Service (IaaS) attributes of the nodes, such as the node name, instance ID, and IP address, remain unchanged after the nodes are initialized. However, the data in the system disk of the nodes will be deleted in order to initialize the nodes. The data disks that are mounted to the nodes are not affected. Important Do not use system disks to persist data. We recommend that you use data disks instead. |
in-place upgrade | You can upgrade the components on a node as required. This is an alternative to replacing the system disk of a node. In-place upgrades do not replace system disks, initialize nodes, or destroy the data on nodes. |
node pool lifecycle
The following figure describes the states of a node pool the transitions between the states

State | Description |
---|---|
Initializing | The node pool is being initialized. |
Active | The node pool is created. |
Failed | The node pool failed to be created. |
Scaling out | The node pool is being scaled out or nodes are being added to the node pool. |
Updating | The configuration of the node pool is being updated. |
Removing | Nodes are being removed from the node pool. |
Upgrading | The node pool is being upgraded. |
Repairing | Node repair is being performed on the node pool. |
Deleted (invisible to users) | The node pool is deleted. |