Create and manage Auto Mode node pools

Updated at:

Auto Mode node pools automatically scale nodes in and out based on workload demands and handle O&M tasks such as operating system upgrades, security patching, and self-healing without manual node creation or maintenance. Use the console to create, edit, view, and delete node pools.

Scope of application

This feature applies to ACK Auto Mode clusters of Kubernetes version 1.30 or later.

Create an Auto Mode node pool

Configure an Auto Mode node pool in the console, including basic settings, network settings, storage settings, and more. Some settings (especially settings related to node pool availability and network settings) cannot be modified after creation. Pay special attention to them. The creation of a node pool does not affect the nodes or workloads in other existing node pools.

In addition to the console, ACK also supports creating node pools through OpenAPI and Terraform. See CreateClusterNodePool and Create node pool with auto scaling.
  1. Log on to the ACK console. In the left navigation pane, click Clusters.

  2. On the Clusters page, click the name of your cluster. In the left navigation pane, click Nodes > Node Pools.

  3. Click Create Node Pool and configure the Auto Mode node pool as described in the following settings.

    Basic settings

    Setting

    Description

    Modifiable after creation

    Node Pool Name

    Enter a custom name for the node pool.

    Yes

    Configure Managed Node Pool

    Select Auto Mode.

    No

    Instances

    Specify the minimum and maximum number of instances for the automatic scaling of the Auto Mode node pool.

    Yes

    Important

    After Auto Mode is enabled, ACK automatically scales resources dynamically based on workloads. ACK also takes over O&M tasks such as operating system version upgrades, software version upgrades, and security vulnerability patching. For capacity boundaries, O&M boundaries, and storage specifications, see Auto Mode node pools.

    Network settings

    Setting

    Description

    Modifiable after creation

    VPC

    The cluster's VPC is selected by default and cannot be changed after the node pool is created.

    Cloud resources and billing: imageVPC

    No

    vSwitch

    When a node pool is scaled in or out, nodes are scaled based on the scaling policy in the zones of the selected vSwitches. To ensure high availability, select vSwitches in at least two different zones.

    If you need to create a vSwitch, see Create and manage vSwitches.

    Yes

    Instance and image settings

    Setting

    Description

    Modifiable after creation

    Instance-related settings

    Specify the ECS instance types that the Auto Mode node pool can use, either by Specify Instance Attributes or by Specify Instance Type. When the node pool scales out, instance types are automatically selected from the configured ones.

    For information about instance types that ACK does not support and node configuration recommendations, see Recommended ECS instance specifications.
    Important
    • Nodes in Auto Mode node pools use ContainerOS as the operating system image. The operating system cannot be changed after creation.

    • To improve the success rate of scale-out, select multiple instance types across multiple zones to avoid unavailable instance types or insufficient stock.

    • To ensure business stability and accurate resource scheduling, do not mix GPU and non-GPU instance types in the same node pool.

    Cloud resources and billing notes: Instance type billing, Billing for Elastic GPU Service

    Yes

    Storage settings

    Setting

    Description

    Modifiable after creation

    Data disk

    Select a disk type based on your business needs, including ESSD AutoPL disks and Enterprise SSDs (ESSDs), and configure the capacity and IOPS.

    The available data disk types depend on the selected Instance family overview. Disk types that are not displayed are not supported.

    Supported by ESSD AutoPL

    • Provisioned performance: Without changing the storage capacity, you can flexibly configure the provisioned performance of a disk based on actual business needs, thereby decoupling disk capacity from performance.

    • Performance burst: When your business faces sudden data read/write pressure, the disk temporarily boosts performance to handle peak demand until the workload stabilizes.

    Supported by ESSD

    Custom performance levels are supported. The larger the disk capacity, the higher the performance levels available (PL2 is available for capacities above 460 GiB, and PL3 is available for capacities above 1260 GiB). For more information, see Capacity and PLs.

    • When mounting a data disk, all disk types support Encrypted. When selecting a key, Alibaba Cloud uses the Default Service CMK for encryption by default. Alternatively, choose a custom key (BYOK) that you created in KMS in advance for encryption.

    • During node creation, the last data disk is automatically formatted and mounted to /var/lib/container, and /var/lib/kubelet and /var/lib/containerd are mounted to /var/lib/container.

      If you need to customize the mount directory, adjust the initialization settings of the data disks. You can select at most one data disk as the directory occupied by the container runtime. For more information, see Mount a data disk to a custom directory
    • In scenarios that require container image acceleration, fast loading of large models, and the like, you can also create a data disk from a snapshot to improve the system's response speed and processing capability.

    Cloud resources and billing notes: imageECS Block Storage

    Yes

    Advanced settings

    Expand Advanced Options (Optional) and configure information such as the resource group, ECS tags, and taints.

    Setting

    Description

    Modifiable after creation

    Resource Group

    Assigns the node pool to a selected resource group for easier permission management and cost allocation.

    A resource can belong to only one resource group.

    Yes

    ECS Tags

    Add tags to the ECS instances automatically created by ACK as identifiers of cloud resources. Up to 20 tags can be bound to each ECS instance. To increase this limit, submit an application on the Quota Center page. Because ACK and ESS occupy some tags, up to 17 custom tags can be specified for each instance.

    Expand to view the tag usage description

    • By default, ACK occupies two ECS tags.

      • ack.aliyun.com:<Your cluster ID>

      • ack.alibabacloud.com/nodepool-id:<Your node pool ID>

    • By default, ESS occupies one ECS tag: acs:autoscaling:scalingGroupId:<Your node pool scaling group ID>.

    Yes

    Taints

    Add key-value taints to the node. A valid taint key consists of an optional prefix and a name. If a prefix is present, it is separated from the name by a forward slash (/).

    Expand to see detailed instructions

    • Key: The name must be 1 to 63 characters long, start and end with an alphanumeric character [a-z0-9A-Z], and can contain letters, numbers, hyphens (-), underscores (_), and periods (.).

      If you specify a prefix, it must be a DNS subdomain, which is a series of DNS labels separated by periods (.), not exceeding 253 characters, and ending with a forward slash (/).

    • Value: The taint value can be empty, up to 63 characters long, must start and end with an alphanumeric character [a-z0-9A-Z], and can contain letters, numbers, hyphens (-), underscores (_), and periods (.).

    • Effect:

      • NoSchedule: No new pods that do not tolerate this taint will be scheduled to the node, but running pods are not affected.

      • NoExecute: Not only will no new pods that do not tolerate this taint be scheduled to the node, but any running pods on the node that do not tolerate this taint will be evicted.

      • PreferNoSchedule: ACK will try to avoid scheduling pods to nodes with taints they do not tolerate, but it is not enforced.

    Yes

    Node Labels

    Add key-value labels to the node. A valid Key consists of an optional prefix and a name. If a prefix is present, the prefix and name are separated by a forward slash (/).

    Expand to see detailed instructions

    • Key: The name must be 1 to 63 characters long, start and end with an alphanumeric character [a-z0-9A-Z], and can contain letters, numbers, hyphens (-), underscores (_), and periods (.).

      If you specify a prefix, it must be a DNS subdomain, which is a series of DNS labels separated by periods (.), not exceeding 253 characters, and ending with a forward slash (/).

      The following prefixes are reserved by Kubernetes core components and cannot be specified

      • kubernetes.io/

      • k8s.io/

      • prefixes ending with kubernetes.io/ and k8s.io/. For example, test.kubernetes.io/.

        The following are exceptions:

        • kubelet.kubernetes.io/

        • node.kubernetes.io

        • prefixes ending with kubelet.kubernetes.io/.

        • prefixes ending with node.kubernetes.io.

    • Value: Can be empty, up to 63 characters long, must start and end with an alphanumeric character [a-z0-9A-Z], and can contain letters, numbers, hyphens (-), underscores (_), and periods (.).

    Yes

    Container Image Acceleration

    This feature is only supported for containerd runtimes of version 1.6.34 and later.

    Newly added nodes will automatically detect if a container image supports on-demand loading. If it does, it will use on-demand loading by default to accelerate container startup, reducing application startup time. For more information, see Use on-demand loading of container images to accelerate container startup.

    Yes

  4. Click Confirm.

    In the lower-left corner of the Confirm page, click Console-to-Code to generate the Terraform or SDK sample parameters corresponding to the current node pool configuration.

    In the node pool list, when the Status of the node pool displays Initializing, the node pool is being created. When the status displays Active, the creation is successful.

View node pool information

On the Node Pools page, click the name of the target node pool, and view the node pool information on different tabs:

  • Overview: displays cluster information, node pool information, and node configuration information. If auto scaling is enabled for the cluster, the auto scaling configuration is also displayed.

  • Monitor: integrates Managed Service for Prometheus and displays the resource usage of the node pool, including CPU or memory usage, disk usage, and average CPU or memory usage of nodes.

  • Nodes: lists all nodes in the current node pool. You can remove, perform O&M on, drain, or schedule nodes. Click Export to export the information of the nodes in a CSV file.

  • Scaling Activities: records of recent scaling activities of node instances, including the number of instances after scaling and descriptions of the scaling activities. If a scaling activity fails, you can view the failure reason.

  • Cost Insights: The node pool dashboard provides cost insights from the perspective of cluster resources, offering resource usage analysis of node pools and options for billing policies.

    You need to Enable cost insights.
  • Node Components: displays the list of components installed on the nodes, and allows you to install new node components.

Edit a node pool

After a node pool is created, you can modify some settings in the console, such as vSwitches and instance types. For whether each setting supports modification, see the setting descriptions in the preceding Create an Auto Mode node pool.

Editing a node pool does not affect the existing nodes or workloads in the node pool. After the node pool configuration is updated, newly added nodes use the new configuration by default.

Important
  • After the node pool configuration is updated, unless otherwise specified (for example, synchronously updating the ECS tags of existing nodes, or synchronously updating the labels and taints of existing nodes), the configuration of existing nodes in the node pool is not modified. The update applies only to newly added nodes.

  • To update the node pool configuration, you must follow this procedure. If you modify the nodes in other ways, those changes will be overwritten when the node pool is upgraded.

  1. On the node pool list page, in the Actions column of the row where the target node pool is located, click Edit.

  2. On the edit node pool page, modify the settings of the node pool and complete the configuration as prompted.

On the node pool page, if the node pool status displays Updating, the node pool is being modified. After the modification is complete, the status displays Active.

Delete a node pool

After an Auto Mode node pool is deleted, all of its nodes are released along with the deletion of the node pool.

In the Actions column on the right side of the target node pool, click image> Delete, carefully read the message that appears, and after confirming that there is no issue, click OK. After the deletion is complete, the target node pool is removed from the node pool list.

Important

The lifecycle of the system disk and data disks of a node is bound to the node. When a node is released, the disks are released along with it, and all data on the disks is permanently lost and cannot be recovered. For data that needs to be persistently stored, use persistent volumes (PVs) to decouple the storage data from the node lifecycle and ensure data safety.

More operations

On the node pool list page, in the Actions column of the row where the target node pool is located, click image to perform the following operations on the node pool.

Operation

Description

Related documentation

Clone

Creates a new node pool by cloning the configuration of an existing one.

None

Kubelet Configuration

Lets you customize Kubelet parameters for nodes at the node pool level to adjust their behavior, such as reserving resources to manage cluster-wide resource usage.

Customize node pool kubelet configurations

Containerd Configuration

Lets you customize Containerd parameters for nodes at the node pool level. For example, you can configure multiple mirrors for a specified image repository or skip TLS certificate verification for it.

Customize containerd configuration for a node pool

OS Configuration

Lets you customize OS parameters for nodes at the node pool level to tune system performance.

Customize OS parameters for a node pool