Planning and design
Before you create a cluster, plan and design the cluster based on your business requirements to ensure that the cluster can run stably, efficiently, and securely. Most ConfigMaps can be adjusted after the cluster is created. However, some ConfigMaps cannot be changed after the cluster is created, especially the configurations related to cluster availability and cluster network. When you make the plan, make sure that you have considered the following factors.
Category | Description |
Deployment location | Region: Services deployed in a region that is geographically closer to your users are more responsive when your users access the services. Zone: We recommend that you configure multiple zones to ensure the high availability of the cluster.
|
Version and specification | Kubernetes version: The Kubernetes version that you plan to use. We recommend that you use the latest version. Cluster specification: Select Professional or Basic. The professional edition is more suitable for production environments and provides a service level agreement (SLA). The basic edition is more suitable for test environments and has limited resource quotas.
|
Network settings | Network plug-in: Select Terway or Flannel. We recommend that you use Terway if you have high on network security requirements and IP Address Manager (IPAM), such as fixed pod IP addresses and need network policies. If the cluster size is small, such as less than 500 nodes, and you do not have special network requirements, you can use Flannel. For more information about the differences between Terway and Flannel, see Comparison between Terway and Flannel container network plug-ins. Plan the network of an ACK cluster: Configure the VPC CIDR block, vSwitch CIDR block, container CIDR block, and Service CIDR block based on your business scenario and cluster size. Then, specify the IP address range of the cluster and the number of available IP addresses for pods and nodes. Access to Internet: Specifies whether the nodes in the cluster need to access the Internet. The cluster must access the Internet when pulling public images. IPv6 dual-stack: Specifies whether the cluster needs to support both IPv4 and IPv6. To enable IPv4/IPv6 dual-stack, the VPC where the cluster resides must support dual-stack and you must plan an IPv6 CIDR block. Security group: The security group to which the cluster belongs and the type of the security group. Cluster domain: The top-level domain name with a standard suffix used by all services in the cluster. This allows pods and other resources to access each other by using names instead of IP addresses. The default value is cluster.local . If you want to configure a custom value, make a plan.
|
Procedure
You can create a cluster based on the default cluster configurations in the ACK console. For more information about how to configure parameters in a fine-grained manner, see ACK Managed Clusters ConfigMap Description. The following figure shows the process overview.

Step 1: Complete the preparations and go to the creation page
Before you create a cluster, make sure that you have activated the ACK and assigned the ACK system role to your Alibaba Cloud account or RAM user. In addition, make sure you have activated the cloud services such as virtual private cloud (VPC), Server Load Balancer (SLB), and NAT gateway. For more information, see Quickly create an ACK managed cluster.
Note
Your account must have at least CNY 100. Otherwise, you cannot create pay-as-you-go resources.
Log on to the ACK console. In the left-side navigation pane, click Clusters.
On the Clusters page, click Create Kubernetes Cluster. On the ACK Managed Cluster page, configure the cluster, node pool, and components.
Step 2: Cluster configurations
Section | Description | Example |
Section | Description | Example |
Basic configurations | The basic information of the cluster, including the name, specification, region, and version. You can enable automatic updates for the cluster and configure a maintenance window for the scheduled task. | 
|
Network settings | Configure the following parameters: IPv6 Dual-stack, VPC, vSwitch, Access to API Server, Security Group, Network Plug-in, and Service CIDR. | 
|
Advanced options | Configurations related to cluster Resource management and cluster security. | 
|
For more information about the parameters, see Cluster configuration.
Step 3: Node pool configurations
A node pool is used to group and manage nodes. It is a logical collection of nodes with the same attributes and is not billed. A node pool is similar to a configuration template. All nodes that are added to the node pool are configured based on this template. The node pool that you configure in this step is used as the default node pool for the cluster.
Note
If you want to skip node creation or add the purchased ECS instances to the cluster after the cluster is created, you can set the Expected Nodes parameter to 0 during configuration. This sets the number of instances in the cluster to 0. Then, complete other required configurations.
You can also create more node pools after the cluster is created. For more information, see Create and manage a node pool. This way, you can mix and isolate different types of nodes, such as nodes with different operating systems, CPU architectures, billing methods, and instance types.
Section | Description | Example |
Section | Description | Example |
Basic configurations | The basic information of the node, including the name and container Runtime. You can enable managed node pool. | 
|
Instance and image configurations | The billing method, instance type, and operating system of the node. We recommend that you select multiple instance types. | 
|
Volume settings | The system disk and data disk used by the node. System disks are used to install and run the operating system. Data disks are used to persist business data. | 
|
Instance quantity configurations | The expected number of nodes in a node pool. | 
|
Advanced options | Advanced configurations such as ECS tags, node labels, and taints. | 
|
For more information about the parameters, see Node pool configuration.
Step 4: Component configurations
In addition to system components, ACK also provides multiple types of functional components in order to provide features such as cluster networking, observability, and cost optimization.
Note
ACK installs some components by default based on best practices. You can check and confirm the components in this step. You can also install, uninstall, and update the components after the cluster is created. For more information, see Manage components.
Section | Description | Example |
Section | Description | Example |
Basic components | Network, storage, and monitoring components. | 
|
More components | Components used in scenarios such as application management, log monitoring, and storage. | 
|
For more information about the parameters, see Component configuration.
Step 5: Confirm the configurations and billing information
On the Confirm Order page, confirm the configurations of the cluster, including the feature configurations, resource billing information, cloud service dependency check, and service agreement.
You are charged a cluster management fee (only for the Pro version) and a cloud resource fee for an ACK managed cluster. In the lower part of the page, you can view the billing overview of the cluster. You can also view the billing documents of ACK and other services. For more information, see Billing overview and Cloud resource fee.
What to do next
Application deployment: You can create and manage workloads, such as Deployments, StatefulSets, and Jobs. For more information, see Deploy a workload.
Service discovery and network management
Service: provides a fixed access portal for a group of pods to implement intra-cluster access and Internet access.
Ingress: You can use Ingresses to configure different forwarding rules. For example, you can forward requests to different Services based on domain names or access paths for load balancing.
DNS for service discovery: provides domain name resolution services for workloads in a cluster.In this way, services in the cluster can access each other based on service names without the need to know specific IP addresses.
Observability: allows you to collect cluster logs, monitor alerts, and diagnose cluster status. For more information about the observability solutions provided by ACK in terms of infrastructure, containers, and workloads, see Observability.
Storage: The CSI plug-in is used to implement storage requirements such as persistent storage of application data, storage of sensitive and configuration data, and dynamic provisioning of storage resources.
Auto scaling configurations: If business resource requirements are difficult to predict or change periodically, such as for web applications, game services, and online education, we recommend that you enable auto scaling. This feature includes workload scaling , such as HPA, CronHPA, and VPA, and computing resource scaling, such as node auto scaling and instant node elasticity .
Fine-grained authorization
For more information about how to grant fine-grained permissions on basic resources (Alibaba Cloud services that ACK depends on) and cluster internal resources (Kubernetes resources), ACK provides multiple permission management solutions based on RAM and the native RBAC mechanism of Kubernetes. For more information, see Authorization.
Quotas and limits
If the cluster size is large or the account has a large number of resources, follow the quotas and limits when you use ACK clusters. For more information, see Quotas and limits.
Limits: ACK configuration limits, such as account balance and capacity limit of a single cluster, which is the maximum capacity of different Kubernetes resources in a single cluster.
Quota limits and how to increase quotas: Quota limits for ACK clusters and the quota limits of cloud services that ACK depends on, such as ECS or VPC. If you want to increase the quota, see the related topics.
FAQ
For more information about how to troubleshoot issues when you use ACK clusters, see Troubleshooting and FAQ.
Can I create a cluster with zero nodes?
Yes, you can. If you want to skip node creation or add purchased ECS instances to a cluster after the cluster is created, you can set the Expected Nodes parameter to 0 during the configuration. In this way, you set the number of instances in the cluster to 0. Then, configure other required parameters. You can update the configurations of a node pool or create more node pools. For more information, see Create and manage a node pool. For more information about how to add an existing ECS instance to a cluster, see Add existing ECS instances to an ACK cluster.
How do I add purchased ECS instances to a cluster?
ACK allows you to manually or automatically add existing ECS instances to a node pool. When you add an existing node to a node pool in Auto mode, the OS of the ECS instance is changed to the OS used by the node pool and the original system disk of the node is released. To retain the operating system of the ECS instance, you can manually add the ECS instance. For more information about the operations and usage notes, see Add existing ECS instances to an ACK cluster.
We recommend that the ECS instances to be added and the node pool to be added have the same or similar configurations, such as the billing method, disk configuration, and instance type. This facilitates centralized management of subsequent nodes.
Can I add a pay-as-you-go instance to a subscription node pool?
Yes, you can. For more information, see Add existing nodes. However, if the billing method of the node pool is subscription, all nodes that are added to the node pool are subscription nodes. We recommend that you create different node pools to manage different types of nodes, such as nodes with different billing methods, disk configurations, and instance types. For more information, see Create and manage a node pool.
Why is the number of pods insufficient when a cluster is created?
This error message appears due to one of the following reasons:
Pods are consumed by components. Cluster components are deployed in pods. The pods consume node resources. Some components may require multiple pods. If you install many components in the cluster, a large number of pods are created for the components.
The instance size is small. In Terway mode, the maximum number of pods supported by a node depends on the number of elastic network interfaces (ENIs) provided by the instance family. Although the maximum number of pods supported by a node is not directly related to the CPU and memory, ECS instances with smaller specifications support a smaller number of ENIs and the maximum number of pods per node is also smaller.
When the number of pods on a node reaches the upper limit, new pods fail to be scheduled, which affects service performance. You can increase the number of pods that can be used by scaling out the node pool to add more available nodes, or by updating nodes to increase the maximum number of pods per node. For more information, see Increase the maximum number of pods in a cluster.
Why are the available CPU and memory resources of a node less than those of the instance type that I purchased?
ACK reserves a certain amount of node resources to run Kubernetes components and system processes. This ensures that the operating system kernel, system services, and Kubernetes daemons can run normally. However, this causes the amount of allocatable resources of a node to differ from the resource capacity of the node. For more information, see Resource reservation policy.