Skip to Content
Cluster ManagementCreate Cluster

Create Cluster

If you are new to Kubernetes, we recommend you to create a new VPC and subnet in advance to isolate it from the production environment. Before creating a cluster, you need to understand the basic concepts in Kubernetes such as Node CIDR, Pod CIDR, Service CIDR, etc. Click to view.

1. Configure Cluster Network Information

Log in to the Private Network VPC page of the console to plan the VPC network and subnet segments. In the UK8S cluster, the Pod is in the same VPC subnet as its Node, so the size of the VPC subnet determines the maximum number of Pods that can be created in the cluster. For details, please check Kubernetes Network.

2. Create a Dedicated UK8S Cluster

The dedicated version of the UK8S cluster needs to create three Master nodes by default to ensure high availability in the production environment.

Log in to the UK8S service management console and click the Create Cluster button on the cluster list page and start creating a dedicated cluster.

Basic Configuration

Configuration ItemDescription
VPCSet the VPC network where the nodes and Pods are located
SubnetSet the subnet where the initial nodes and Pods are located. Nodes in the cluster can be set in different subnets of the same VPC
Service segmentSet the cluster Service segment. The Service segment cannot duplicate with the node segment
Node imageSet the UHost image for the cluster node. You can choose a custom image, but it must be based on the UK8S standard image. Please refer to Creating Custom Images.
If you want to use GPU nodes, please refer to GPU Node Description. For CPU machines, you can choose from Centos 7.6,Ubuntu 20.04, and Anolis 8.6 images.

Master/Node Configuration

The suggested Master configuration for production environment can be found in Cluster Node Configuration Recommendation.

Configuration ItemDescription
Availability ZoneThe Availability Zone where the Master/Node nodes are located. In regions with multiple availability zones, you can choose Multi-Availability Zone Mode. It is recommended to distribute Master nodes in multiple zones when creating a cluster.
Node SpecificationIncludes type, CPU platform, CPU, memory, system disk type, data disk type, data disk size, etc. For details, see Machine and CPU Platform.
The data disk of the Node will be mounted to the /data directory. The Docker engine you installed in the cluster Node is installed in the /data directory. If the configuration of the Node includes a data disk when creating, manually deleting the data disk will result in the Node being unavailable. If you do not need a data disk, you can delete it when creating, and the Docker engine will be installed in the /data directory of the system disk.
Hardware Isolation GroupThe Master nodes are located in the same hardware isolation group by default, which strictly ensures that each cloud host within the group falls on different physical machines. Each isolation group can add up to 7 cloud hosts in a single availability zone. For details, see Hardware Isolation Group.
MaxPodsThe maximum number of Pods a single Node can support.
LabelNode labels. For details, see the official Kubernetes document: Labels and Operators.
Rules for filling in:
* Label key: must be unique, composed of an optional prefix and a name. The prefix is optional and must be a DNS subdomain, not allowing subdomains of kubernetes.io or k8s.io, no more than 253 characters, only allowing [a-z0-9A-Z] to start and end, separated by dots. The name is mandatory, less than or equal to 63 characters, and the characters only allow [a-z0-9A-Z] to start and end, including dashes, underscores, and dots in between.
* Label value: cannot be empty, less than or equal to 63 characters, and the characters only allow [a-z0-9A-Z] to start and end, including dashes, underscores, and dots in between.
TaintTaint allows nodes to reject a specific type of Pod. Tolerance is applied to the Pod, allowing (but not requiring) the Pod to be scheduled on nodes with matching taints. Taints and toleration work together to prevent Pods from being assigned to inappropriate nodes. Each node can apply one or more taints, which means that Pods that cannot tolerate these taints will not be accepted by the node.
For details, see the official Kubernetes document: Taint and Toleration
Node NumberThe initial cluster Node number is limited to 1 - 10 machines.

Management Settings

Configuration ItemDescription
Cluster NameUK8S cluster name, which can be changed later
External APIServerThe APIServer is exposed externally through the ULB load balancing service. The internal network Master ULB is automatically generated when creating a cluster. If the external network APIServer is enabled, an external network ULB service will be automatically purchased with an initial bandwidth of 1MB.
The naming rules for the APIServer service ULB are uk8s-xxxxxxxx-master-ulb4 (internal network ULB)/uk8s-xxxxxxxx-master-ulb4-external (external network ULB). Deletion will cause the cluster APIServer service to be unavailable.
K8S VersionUK8S cluster version
kube-proxyThe default option is iptables. Please refer to kube-proxy Mode Selection for selection standards and switching methods.
Container RuntimeThe default for K8S 1.19 and above versions is containerd. For nodes using containerd runtime, do not install docker separately to avoid configuration conflict and node unavailability.
Administrator PasswordApplicable to all Master and Nodes created this time.
Cluster Local Domain NameThe default value is cluster.local. Users can customize the suffix. The domain name consists of two segments, with each segment not exceeding 63 characters And only uppercase and lowercase letters and numbers can be used, and cannot be empty.
Custom DataIt refers to a configuration script that the system automatically runs when the host is first started or each time it is started. This script can be passed to the metadata server via the console API, etc., and retrieved by the cloud-init program inside the host. The script follows the standard Cloud-Init syntax. This script will block the UK8S installation script, meaning that the installation of K8S-related components such as Kubelet and Scheduler will only begin after this script has finished executing.
Initialization ScriptThis script is executed only once after UK8S starts, and is executed after the installation of K8S related components is successful. It complies with the standard shell syntax, and the execution result will be stored in the /var/log/message/ directory.

The cluster initialization time is about 10-15 minutes. After successful creation, you can access and manage the cluster by directly logging into the Master node. Or you can manage the cluster through the APIServer on the cloud host under the same VPC.