A Container Service for Kubernetes (ACK) dedicated cluster must contain at least three control planes. This ensures high availability and enables fine-grained management of the cluster infrastructure. You must manually create, maintain, and update ACK dedicated clusters. This topic describes how to create an ACK dedicated cluster in the ACK console.
Prerequisites
Resource Access Management (RAM) is activated in the RAM console. Auto Scaling is activated in the Auto Scaling console.
When you create a Container Service for Kubernetes (ACK) cluster, take note of the following limits:
- ACK clusters support only virtual private clouds (VPCs).
- By default, each account has specific quotas on cloud resources that can be created. You cannot create clusters if the quota is reached. For more information about the quotas, see Resource quota limits.
- For more information, see Resource quota limits.
- By default, you can add up to 200 route entries to a VPC. This means that you can deploy up to 200 nodes in an ACK cluster that uses Flannel. This limit does not apply to ACK clusters that use Terway. To add more route entries to a VPC, apply for an increase on the quota of route entries in the VPC that you want to use.
- By default, you can create at most 100 security groups with each account.
- By default, you can create at most 60 pay-as-you-go SLB instances with each account.
- By default, you can create at most 20 elastic IP addresses (EIPs) with each account.
- Limits on Elastic Compute Service (ECS) instances:
The pay-as-you-go and subscription billing methods are supported.
After an ECS instance is created, you can change its billing method from pay-as-you-go to subscription in the ECS console. For more information, see Change the billing method of an ECS instance from pay-as-you-go to subscription.
Background information
For more information about the billing rules of ACK dedicated clusters, see Billing.
Procedure
- Log on to the ACK console.
- In the left-side navigation pane of the ACK console, click Clusters.
- In the upper-right corner of the Clusters page, click Create Kubernetes Cluster.
- Click the Dedicated Kubernetes tab and set the cluster parameters.
- Click Next:Master Configurations to configure control planes.
Parameter Description Master Node Quantity Specify the number of control planes. You can create three or five control planes. Instance Type Select an instance type for control planes. For more information, see Overview of instance families. System Disk By default, system disks are mounted to control planes. Standard SSDs, enhanced SSDs (ESSDs), and ultra disks are supported. Note- You can select Enable Backup to back up disk data.
- If you select ESSD Disk, you can set a custom performance level for the system disk.
You can select higher performance levels for ESSDs with larger storage capacities. For example, you can select performance level 2 for an ESSD with a storage capacity of more than 460 GiB. You can select performance level 3 for an ESSD with a storage capacity of more than 1,260 GiB. For more information, see Capacity and PLs.
- Click Next:Node Pool Configurations to configure a node pool.
- Click Next:Component Configurations to configure components.
Parameter Description Ingress Specify whether to install an Ingress controller. By default, Nginx Ingress is selected.- If you select Nginx Ingress, Install NGINX Ingress Controller is automatically selected. For more information about how to use NGINX Ingresses, see Advanced NGINX Ingress configurations.
- If you select ALB Ingress, the Application Load Balancer (ALB) Ingress controller is automatically installed. For more information about how to access Services in a cluster by using ALB Ingresses, see Access Services by using an ALB Ingress.
Service Discovery Specify whether to install NodeLocal DNSCache. By default, NodeLocal DNSCache is installed.
NodeLocal DNSCache runs a Domain Name System (DNS) caching agent to improve the performance and stability of DNS resolution. For more information about NodeLocal DNSCache, see Configure NodeLocal DNSCache.
Volume Plug-in By default, CSI is selected. ACK clusters can be automatically bound to Alibaba Cloud disks, Apsara File Storage NAS (NAS) file systems, and Object Storage Service (OSS) buckets that are mounted to pods. For more information, see Storage management-CSI.
Monitoring Agents Specify whether to install the CloudMonitor agent. By default, Install CloudMonitor Agent on ECS Instance is selected.
Log Service Specify whether to enable Log Service. You can select an existing Log Service project or create one. By default, Enable Log Service is selected. When you create an application, you can enable Log Service with a few steps. For more information, see Collect log data from containers by using Log Service.
By default, Install node-problem-detector and Create Event Center is selected. You can specify whether to enable the Kubernetes event center in the Log Service console. For more information, see Create and use an event center.
Workflow Engine Specify whether to enable Alibaba Cloud Genomics Service (AGS).Note To use this feature, submit a ticket to apply to be added to a whitelist.- If you select this check box, the system automatically installs the AGS workflow plug-in when the system creates the cluster.
- If you clear this check box, you must manually install the AGS workflow plug-in. For more information, see Introduction to AGS CLI.
Cluster Inspection Specify whether to enable the cluster inspection feature for intelligent O&M. You can enable this feature to periodically check the resource quotas, resource usage, and component versions of a cluster and identify potential risks in the cluster. For more information, see Use the cluster inspection feature to identify potential risks.
- Click Next:Confirm Order.
- Read Terms of Service, select the check box, and then click Create Cluster. Note It requires about 10 minutes to create an ACK dedicated cluster with multiple nodes.
Result
- After the cluster is created, you can find the cluster on the Clusters page in the console.
- Click View Logs in the Actions column. On the page that appears, you can view the cluster log. To view detailed log information, click Stack events.
- On the Clusters page, find the newly created cluster and click Details in the Actions column. On the details page of the cluster, click the Basic Information tab to view basic information about the cluster and click the Connection Information tab to view information about how to connect to the cluster. The following information is displayed:
- API Server Public Endpoint: the IP address and port that the API server uses to provide services over the Internet. It allows you to manage the cluster by using kubectl or other tools on the client.
- API Server Internal Endpoint: the IP address and port that the Kubernetes API server of the cluster uses to provide services within the cluster. The endpoint belongs to the Server Load Balancer (SLB) instance that is bound to the cluster. Three control planes work as the backend servers of the SLB instance.
- Testing Domain: the domain name that is used to test Services. The suffix of the domain name is
<cluster_id>.<region_id>.alicontainer.com
.Note To rebind the domain name, click Rebind Domain Name.
- You can use kubectl to connect to the cluster and run the
kubectl get node
command to query information about the nodes in the cluster. For more information, see Obtain the kubeconfig file of a cluster and use kubectl to connect to the cluster.