docs
uk8s
Cluster Management
Create 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. Configuring 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 CIDRSet the cluster Service segment. The Service segment cannot duplicate with the node segment
Node OSSet 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 n GPU Node Description. For CPU machines, you can choose from Centos 7.6,Ubuntu 20.04,Anolis 8.6 images.

Master/Node Node Configuration

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

Configuration ItemDescription
Allocation ModeThe 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 ConfigurationIncludes 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 node can support.
LabelLabels are key-value pairs attached to Kubernetes objects, intended to specify identifying attributes of objects that are meaningful and relevant to users.For details, see the official Kubernetes document: Labels and Operators (opens in a new tab).
Rules for filling in:
* Label key: Must be unique, composed of an optional prefix and a name. The prefix is optional, must be a DNS subdomain, and does not allow subdomains of kubernetes.io or k8s.io. Cannot exceed 253 characters, only allows to start and end with [a-z0-9A-Z], separated by '.'; Name is required, less than or equal to 63 characters, characters only allow to start and end with [a-z0-9A-Z], with hyphens -, underscores _, and dots . in between.
* Label Value: Can not be empty, less than or equal to 63 characters, characters only allow to start and end with [a-z0-9A-Z], includes hyphens -, underscores _, 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 (opens in a new tab)
Node NumberThe initial cluster Node node number is limited to 1 - 10 machines.

Management Settings

Configuration ItemDescription
Cluster NameUK8S cluster name, can be changed later
External APIServerThe APIServer is exposed through the ULB load balancing service. The internal network Master ULB is generated automatically when the cluster is created. If the external APIServer is enabled, an external ULB service will be automatically purchased, with a starting bandwidth of 1MB.
The naming rule of the APIServer service ULB is uk8s-xxxxxxxx-master-ulb4 (Internal network ULB)/ uk8s-xxxxxxxx-master-ulb4-external (external ULB), deletion will result in the cluster APIServer service being 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 Node 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, each segment does not exceed 63 characters, and only uppercase and lowercase letters and numbers can be used, and cannot be empty.
Custom DataRefers to the configuration script that the system automatically runs when the host boots for the first time or every time. This script can be passed into the metadata server by the console API and obtained by the cloud-init program inside the host. The script complies with the standard CloudInit syntax. This script will block the UK8S installation script, that is, only after this script is executed, the installation of K8S related components such as Kubelet, Scheduler, etc. will begin.
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.

  • Company
  • ContactUs
  • Blog
Copyright © 2024 SurferCloud All Rights Reserved