If you want to deploy regular or multi-arch applications on ARM-based nodes, you can create an ARM-based node pool or cluster. This way, you can manage and maintain ARM-based nodes by group.
Limits
The Kubernetes version of your cluster must be 1.20 or later.
The node OS must be Alibaba Cloud Linux 3. For more information about Alibaba Cloud Linux 3, see Use Alibaba Cloud Linux 3.
Only the following components are supported by ARM-based node pools:
Key components
Logging and monitoring components
Volume components
Network components
Components displayed on the Marketplace page in the Container Service for Kubernetes (ACK) console cannot be deployed in ARM-based node pools.
Usage notes
If both ARM-based nodes and x86-based nodes exist in your cluster, we recommend that you add the kubernetes.io/arch=arm64:NoSchedule
taint to ARM-based nodes. This avoids accidentally scheduling applications or components that do not support the ARM architecture to ARM-based nodes. When you configure nodeSelector
or nodeAffinity
to schedule applications to ARM-based nodes in an ACK cluster that runs a Kubernetes version earlier than 1.24, you need to add a toleration
to tolerate the kubernetes.io/arch=arm64:NoSchedule
taint. However, if the cluster runs Kubernetes 1.24 or later, the scheduler automatically tolerates the kubernetes.io/arch=arm64:NoSchedule
taint. In this case, you do not need to add a toleration
to tolerate the taint.
Create an ARM-based cluster or node pool
You can add ARM-based nodes when you create an ACK cluster to obtain a cluster that contains only ARM-based nodes. You can also create an ARM-based node pool in an existing cluster to obtain a node pool that contains only ARM-based nodes.
Add ARM-based nodes when you create a cluster
For more information about how to create a cluster, see Create an ACK managed cluster. When you configure the node pool for the cluster, select Arm for Architecture in the Instance Type section. Then, select instance types that belong to the g8m general-purpose instance family. Configure other cluster parameters based on your requirements and then create the cluster.
You can go to the ECS Instance Types Available for Each Region page to view the instance types available in each region.
Create an ARM-based node pool
For more information about how to create a node pool, see Procedure. When you configure the node pool, select Arm for Architecture in the Instance Type section. Then, select instance types that belong to the g8m general-purpose instance family. Configure other node pool parameters based on your requirements and then create the node pool.
You can go to the ECS Instance Types Available for Each Region page to view the instance types available in each region.
References
By default, workloads in an ACK cluster are scheduled to x86-based nodes. You can configure the system to schedule workloads to ARM-based nodes. For more information, see Schedule workloads to ARM-based nodes.
You can create ARM-based virtual nodes and configure the system to schedule workloads to ARM-based virtual nodes. For more information, see Schedule workloads to ARM-based virtual nodes.