This topic describes how to add a LINGJUN node pool to an ACK Managed Cluster Pro Edition.
The LINGJUN node pool feature for ACK Managed Cluster Pro Edition is a whitelisted feature. To enable it, contact the Container Service team through your customer service manager (PDSA).
LINGJUN node pools
A LINGJUN node pool in an ACK Managed Cluster Pro Edition has a one-to-one mapping with a node group of the Intelligent Computing LINGJUN Service (LINGJUN bare metal cluster). This means a node group from a LINGJUN cluster corresponds to a single LINGJUN node pool in an ACK Managed Cluster Pro Edition, and a LINGJUN node can belong to only one LINGJUN node pool. By organizing nodes into LINGJUN node pools, you can apply different management policies to the LINGJUN nodes within your ACK Managed Cluster Pro Edition.
ACK Managed Cluster Pro Edition manages LINGJUN nodes through LINGJUN node pools. It supports node pool lifecycle management and lets you add or remove nodes in batches. It provides management and O&M capabilities nearly identical to those for ECS node pools, including node configuration, node O&M, scheduling applications to specific node pools, as well as monitoring, diagnostics, and automated O&M.
To provide enhanced cloud-native AI capabilities for your LINGJUN nodes, install the cloud-native AI suite. LINGJUN node pools support topology-aware scheduling for multi-GPU configurations and provide shared GPU scheduling and isolation through a GPU container virtualization solution. For AI and high-performance computing (HPC) tasks, they support scheduling policies such as Gang, Capacity, and Binpack. They also support dataset orchestration and access acceleration.
Billing
When you use a LINGJUN node pool in an ACK Managed Cluster Pro Edition, the total cost consists of three parts: cluster management fees + LINGJUN node management fees + cloud product resource fees.
Starting from August 5, 2025, the LINGJUN node management capability will end its free public preview and begin commercial billing. For more information, see [Billing Announcement] LINGJUN Node Management Billing Announcement. During the public preview period, the features of LINGJUN node pools are free to use. However, other fees for ACK Managed Cluster Pro Edition, such as cluster management fees and cloud product resource fees, still apply. For more information, see Billing overview.
Before you begin
Before you create a LINGJUN node pool, complete these prerequisites:
LINGJUN cluster and nodes:
LINGJUN cluster: You have created a basic LINGJUN cluster of the Lite type and scaled out nodes in a LINGJUN node group. For more information, see Create a LINGJUN cluster.
LINGJUN node
OS kernel version: 5.10 or later.
OS cgroup version: Kubernetes started supporting cgroup v2 in version 1.26 and deprecated support for cgroup v1 in version 1.35. If your cluster version is 1.35 or later, nodes must use an OS image with cgroup v2. Nodes with cgroup v1 cannot be added to the ACK cluster.
When you upgrade an ACK cluster from a version earlier than 1.35 to 1.35 or later, you must use an OS with cgroup v2; otherwise, the cluster upgrade will fail. For more information, see Migrate nodes to cgroup v2.
ACK Managed Cluster Pro Edition:
Cluster type: A Pro Edition cluster located in the same region and VPC as the LINGJUN bare metal cluster.
Cluster version: 1.31 or later. Only IPv4 single-stack clusters are supported. IPv6 dual-stack clusters are not supported. To upgrade the cluster, see Manually upgrade a cluster.
Network plugin: Only Terway is supported.
The underlying network configurations of different LINGJUN instance types vary, and earlier versions of Terway might be incompatible. Before creating a new LINGJUN node pool, upgrade Terway (both terway-controlplane and terway-eniip) to the latest version.
Ensure that the Pod vSwitch used by the LINGJUN node pool in the ACK cluster include the availability zone where the LINGJUN cluster is located.
You can configure the ACK cluster's Pod vSwitch when you create the cluster. After the ACK cluster is created and before adding LINGJUN nodes, you can also configure them by modifying the terway-eniip parameter PodVswitchId. For instructions, see Modify pod vSwitches.
Components:
Install the ack-rdma-device-plugin component from the Component Management page.
If your LINGJUN nodes use LINGJUN connection, you must request to be added to the whitelist for the ACK VPD CNI component. Then, install the ACK VPD CNI component from the Component Management page before you create the LINGJUN node pool.
When you create a node pool that includes nodes with LINGJUN connection, ACK automatically performs two actions: it adds the CIDR block of the LINGJUN group to the cluster's security group and allows inbound access, and it adds the label
alibabacloud.com/lingjun-network-type: vpdto the node pool. Do not delete this label.
ECS nodes: The cluster must have an ECS node pool with active ECS nodes (we recommend at least 3 for high availability) to deploy some ACK control plane components.
Create a LINGJUN node pool
You can configure the node pool, including basic, network, and storage settings, in the console. Pay close attention to settings that cannot be changed after creation, especially those related to availability and networking. Creating a node pool does not affect the nodes or workloads in existing node pools.
Before you create
By default, LINGJUN node pools store container runtime data on the system disk. Ensure you reserve enough space for the container runtime directory. Insufficient disk space can lead to pod evictions or node failures.
New LINGJUN node pools default to using the Terway exclusive ENI mode for VPC network communication. Confirm that the maximum number of pods per node meets your business requirements.
Nodes in a LINGJUN node pool carry the taint
node-role.alibabacloud.com/lingjun: NoScheduleby default. This prevents system components (other than DaemonSets) from being scheduled to LINGJUN nodes and consuming resources.If a pod needs to be scheduled to a LINGJUN node, you can add a toleration for this taint to the pod. This ensures that only specific workloads are scheduled to LINGJUN nodes. You can also replace it with a custom taint to achieve the same effect based on your business needs.
You can remove the taint after ensuring your components meet the minimum version requirements. However, if you remove the taint, system components or other workloads may be scheduled to the LINGJUN nodes, consuming expensive GPU node resources.
For the complete list of default labels applied to the node pool, see the Node labels configuration description below. Do not delete these default labels.
Procedure
On the Clusters page, click the name of the target cluster. In the left-side navigation pane, choose .
Click ... > Create Lingjun Node Pool and follow the on-screen instructions to create the LINGJUN node pool.
After the node pool is created, you can modify some configuration items by editing the node pool. In the table below, Modifiable indicates whether a configuration item can be changed after creation.
Add existing LINGJUN nodes
If you need to add LINGJUN nodes from a LINGJUN group to your ACK cluster as worker nodes, or re-add removed worker nodes to a LINGJUN node pool, you can add them in batches from the associated group in the ACK console. Once added, you can manage them from the node pool.
Adding a LINGJUN node does not replace its original operating system, system disk, or data disks. All stored data is retained.
Prerequisites
The nodes to be added must already be in the LINGJUN group associated with this node pool and must not be in another node pool.
The LINGJUN node's OperatingState must be "Using".
Procedure
On the ACK Clusters page, click the name of your cluster. In the left navigation pane, click .
On the Node Pools page, click ⋮ > Add Existing Node and configure the following parameters as prompted:
Add Existing Lingjun Node: Select the instances to add from the instance list. Select Show Unavailable Instances to view instances that are currently unavailable.
Data Disk: Select how to mount the data disk.
Only available if the custom data disk configuration whitelist is enabled.
Configure by Node Pool: Initializes and mounts the data disk by using the node pool's preset data disk configuration.
If the node pool has no preset data disk configuration, the node's original configuration is retained.
No Initialization: Does not initialize the data disk, retaining its original configuration.
ImportantIf storage configurations differ across nodes, the system initializes their data disks based on each node's actual storage configuration during a node pool upgrade, rather than using a uniform configuration.
When you use the node pool configuration, the mount directory must be empty. If you mount to a non-empty directory, the original files become inaccessible.
After the nodes are added, ACK automatically adds the following tags to the LINGJUN node instances, which you can view in the Intelligent Computing LINGJUN Service console:
ack.aliyun.com: The ID of the ACK Managed Cluster Pro Edition that manages the node.ack.alibabacloud.com/nodepool-id: The ID of the LINGJUN node pool that manages the node.
Remove LINGJUN nodes
When a node is no longer needed, you can remove it from the node pool. This operation may affect your services, so perform this operation during off-peak hours.
Notes
Draining nodes:
If there are pods on the node, select Drain Node. The pods will be migrated to other nodes. Ensure your cluster has sufficient resources to accommodate them.
If your application is configured with a Pod Disruption Budget (PDB), draining may fail, which prevents the node from being removed. We recommend handling this manually beforehand.
If an application fails to start on another node after being drained, the removal task ignores this and continues.
When you remove a node in an abnormal state, do not select Drain Node, as this may cause the removal to fail.
Node state after removal:
Removing a LINGJUN node only removes it from the LINGJUN node pool. It does not remove the node from the LINGJUN group, nor does it automatically release the node or cancel its subscription.
Deleting an ACK cluster or LINGJUN node pool does not release the LINGJUN node instances. The service also does not automatically scale in the nodes from the LINGJUN group. Monitor the billing status of your LINGJUN nodes to avoid extra charges.
For other node and group management tasks, use the Intelligent Computing LINGJUN Service console.
Removal is an asynchronous operation. You can check the progress in the node list.
Procedure
On the ACK Clusters page, click the name of your cluster. In the left navigation pane, click .
Click the name of the target LINGJUN node pool and remove nodes on the Nodes page.
Remove a single node: Locate the target node, and in the Actions column, select .
Remove nodes in batches: Select the target nodes and click Batch Remove at the bottom of the page.
Choose whether to Drain Node. Carefully read the on-screen notes and complete the operation as prompted.
Terway exclusive ENI mode
When using Terway, LINGJUN node pools support only the exclusive ENI mode (supported since Terway v1.14.4). To ensure compatibility with the varying underlying networks of different LINGJUN instance types, ensure your Terway version is v1.16.1 or later. If your version is earlier, see Upgrade components to upgrade terway-eniip.
When you create a LINGJUN node pool, ACK automatically adds the label k8s.aliyun.com/exclusive-mode-eni-type: eniOnly to the node pool to enable the exclusive ENI mode. Do not delete this label. For more information, see Configure exclusive ENI network mode for a node pool.
If your LINGJUN node pool does not have this label, it is using the shared ENI network mode.
When LINGJUN nodes use the shared ENI network mode for VPC communication, some older LINGJUN images may experience intermittent pod network connectivity issues. Recreating the pod can temporarily restore service. To resolve this issue permanently, we recommend upgrading the Terway component to the latest version during off-peak hours and recreating the LINGJUN node pool in exclusive ENI mode to add the LINGJUN nodes.
RDMA
To enable Remote Direct Memory Access (RDMA) communication for LINGJUN nodes, manually install the ack-rdma-device-plugin component from the Component Management page.
The network modes available for pods depend on the IP version of the computing network of the LINGJUN bare metal cluster associated with the LINGJUN node pool. For more information, see Use RDMA networks on LINGJUN nodes for pods.
Computing network IP version | Description |
IPv4 | Only |
IPv6 |
|
Upgrade components
When you create a new ACK Managed Cluster Pro Edition, it uses the latest component versions by default. When creating a LINGJUN node pool in an existing cluster, if you are using the following components, upgrade them to the specified versions.
Component name | Minimum version requirement |
v1.31 | |
v1.16.1 The underlying network configurations of different LINGJUN instance types vary, and earlier versions of Terway might be incompatible. Before you create a LINGJUN node pool, upgrade Terway (both terway-controlplane and terway-eniip) to the latest version. | |
v1.11.3.5-5321daf49-aliyun | |
v1.11.4-aliyun.2 | |
v0.2.1 | |
v0.16.1.0-gea4d02f-aliyun | |
v1.8.4 | |
v1.1.31 | |
v2.1.6 | |
v1.32.2 | |
v1.32.2 | |
v0.2.10 | |
ack-ai-installer (Applications > Cloud-native AI Suite Installation) | v1.12.2 |
Common O&M scenarios
This section describes ACK procedures for common LINGJUN node O&M scenarios.
Scenario | Description |
Move a LINGJUN node to another group |
|
Restart a LINGJUN node |
|
Reinstall a LINGJUN node |
|
LINGJUN offline maintenance (standby replacement) |
|
Related operations
Use shared GPU scheduling.
To use shared GPU scheduling on LINGJUN nodes in an ACK Managed Cluster Pro Edition to enable GPU sharing and isolation, you must first enable the KubeGPU feature in the LINGJUN bare metal cluster, and then install ack-ai-installer in the ACK cluster. For usage details, see Use shared GPU scheduling.
Enable the Binpack scheduling policy.
When you run model training jobs in a LINGJUN node pool, you can enable the Binpack policy for pod scheduling. This policy prioritizes co-locating pods to reduce cross-machine communication latency during training. For information on how to enable binpack in the Kube Scheduler component, see Customize scheduler parameters.
Use topology-aware scheduling in a LINGJUN node pool.
To use topology-aware scheduling in a LINGJUN node pool, install Kube Scheduler and upgrade it to v1.31 or later. For detailed instructions, see Use topology-aware scheduling.
FAQ
Node not ready after repair
A LINGJUN node underwent offline maintenance for a hardware issue, but after the repair is complete, its status is still Not Ready in the ACK cluster.
Cause: During offline maintenance, the LINGJUN node's machine is replaced. Data on local disks is lost, which clears container runtime information for components like kubelet and containerd, causing the node to enter an abnormal state.
Solution: After the repair is complete, you must manually remove the node from the node pool and then re-add it using Add Existing Node.