Creating a Node Pool
Scenario
This section describes how to create a node pool and perform operations on the node pool. For details about how a node pool works, see Node Pool Overview.
Constraints
- The Autoscaler add-on needs to be installed for node auto scaling. For details about the add-on installation and parameter configuration, see CCE Cluster Autoscaler.
Procedure
- Log in to the CCE console.
- Click the cluster name to access the cluster console. Choose Nodes in the navigation pane and click the Node Pools tab on the right.
- In the upper right corner of the page, click Create Node Pool.
Basic Settings
Table 1 Basic settings Parameter
Description
Node Pool Name
Name of a node pool. By default, the name is in the format of Cluster name-nodepool-Random number. If you do not want to use the default name format, you can customize the name.
Expected Initial Nodes
Number of nodes to be created in this node pool. A maximum of 50 nodes that can be created at a time.
Configurations
You can configure the flavor and OS of a cloud server, on which your containerized applications run.Table 2 Node configuration parameters Parameter
Description
AZ
AZ where the node is located. Nodes in a cluster can be created in different AZs for higher reliability. The value cannot be changed after the node is created.
Select Random to deploy your node in a random AZ based on the selected node flavor.
An AZ is a physical region where resources use independent power supply and networks. AZs are physically isolated but interconnected through an internal network. To enhance workload availability, create nodes in different AZs.
Node Type
Select a node type based on service requirements. Then, you can select a proper flavor from the node flavor list.
CCE standard clusters support the following node types:- ECS (VM): A virtualized ECS is used as a cluster node.
Specifications
Select a node flavor based on service requirements. The available node flavors vary depending on regions or AZs. For details, see the CCE console.
Container Engine
The container engines supported by CCE include Docker and containerd, which may vary depending on cluster types, cluster versions, and OSs. Select a container engine based on the information displayed on the CCE console. For details, see Mapping between Node OSs and Container Engines.
OS
Select an OS type. Different types of nodes support different OSs.- Public image: Select a public image for the node.
- Private image: Select a private image for the node.
NOTE:Service container runtimes share the kernel and underlying calls of nodes. To ensure compatibility, select a Linux distribution version that is the same as or close to that of the final service container image for the node OS.
Login Mode
- Password
The default username is root. Enter the password for logging in to the node and confirm the password.
Be sure to remember the password as you will need it when you log in to the node.
- Key Pair
Select the key pair used to log in to the node. You can select a shared key.
A key pair is used for identity authentication when you remotely log in to a node. If no key pair is available, click Create Key Pair.
Storage Settings
Configure storage resources on a node for the containers running on it. Select a disk type and configure its size based on service requirements.Table 3 Configuration parameters Parameter
Description
System Disk
System disk used by the node OS. The value ranges from 40 GiB to 1024 GiB. The default value is 50 GiB.
Data Disk
At least one data disk is required for the container runtime and kubelet. The data disk cannot be deleted or uninstalled. Otherwise, the node will be unavailable.
- First data disk: used for container runtime and kubelet components. The value ranges from 20 GiB to 32768 GiB. The default value is 100 GiB.
- Other data disks: You can set the data disk size to a value ranging from 10 GiB to 32768 GiB. The default value is 100 GiB.
NOTE:- If the node flavor is disk-intensive or ultra-high I/O, one data disk can be a local disk.
- Local disks may break down and do not ensure data reliability. Store your service data in EVS disks, which are more reliable than local disks.
Advanced Settings
Click Expand and configure the following parameters:
- Data Disk Space Allocation: allocates space for container engines, images, and ephemeral storage for them to run properly. For details about how to allocate data disk space, see Data Disk Space Allocation.
Adding data disks
A maximum of four data disks can be added. By default, raw disks are created without any processing. You can also click Expand and select any of the following options:
- Default: By default, a raw disk is created without any processing.
- Mount Disk: The data disk is attached to a specified directory.
- Use as PV: applicable when there is a high performance requirement on PVs. The node.kubernetes.io/local-storage-persistent label is added to the node with PV configured. The value is linear or striped.
- Use as ephemeral volume: applicable when there is a high performance requirement on EmptyDir.
NOTE:- Local PVs are supported only when the cluster version is v1.21.2-r0 or later and the Everest add-on version is 2.1.23 or later. Version 2.1.23 or later is recommended.
- Local EVs are supported only when the cluster version is v1.21.2-r0 or later and the Everest add-on version is 1.2.29 or later.
Local Persistent Volumes and Local EVs support the following write modes:- Linear: A linear logical volume integrates one or more physical volumes. Data is written to the next physical volume when the previous one is used up.
- Striped: A striped logical volume stripes data into blocks of the same size and stores them in multiple physical volumes in sequence, allowing data to be concurrently read and written. A storage pool consisting of striped volumes cannot be scaled-out. This option can be selected only when multiple volumes exist.
Network Settings
Configure networking resources to allow node and containerized application access.Table 4 Configuration parameters Parameter
Description
Virtual Private Cloud
The VPC to which the cluster belongs by default, which cannot be changed.
Node Subnet
The node subnet selected during cluster creation is used by default. You can choose another subnet instead.
- Multiple subnets: You can select multiple subnets in the same VPC for your node pool. Newly added nodes for a scale-out will preferentially consume the IP addresses of the subnets in the top order.
- Single subnet: Only one subnet is configured for your node pool. If the IP addresses of a single subnet are insufficient, configure multiple subnets. Otherwise, a node pool scale-out may fail.
Node IP Address
Random allocation is supported.
Associate Security Group
Security group used by the nodes created in the node pool. A maximum of 5 security groups can be selected.
When a cluster is created, a node security group named {Cluster name}-cce-node-{Random ID} is created and used by default.
Traffic needs to pass through certain ports in the node security group to ensure node communications. Ensure that you have enabled these ports if you select another security group.
NOTE:After a node pool is created, its associated security group cannot be modified.
Advanced Settings
Configure advanced node capabilities such as labels, taints, and startup command.Table 5 Advanced configuration parameters Parameter
Description
Kubernetes Label
A Kubernetes label is a key-value pair added to a Kubernetes object (such as a pod). After specifying a label, click Add. A maximum of 20 labels can be added.
Labels can be used to distinguish nodes. With workload affinity settings, container pods can be scheduled to a specified node. For more information, see Labels and Selectors.
Taint
This parameter is left blank by default. You can add taints to configure anti-affinity for the node. A maximum of 20 taints are allowed for each node. Each taint contains the following parameters:- Key: A key must contain 1 to 63 characters, starting with a letter or digit. Only letters, digits, hyphens (-), underscores (_), and periods (.) are allowed. A DNS subdomain name can be used as the prefix of a key.
- Value: A value must start with a letter or digit and can contain a maximum of 63 characters, including letters, digits, hyphens (-), underscores (_), and periods (.).
- Effect: Available options are NoSchedule, PreferNoSchedule, and NoExecute.
For details, see Managing Node Taints.
NOTE:For a cluster of v1.19 or earlier, the workload may have been scheduled to a node before the taint is added. To avoid such a situation, select a cluster of v1.19 or later.
Synchronization for Existing Nodes
After the options are selected, changes to Kubernetes labels/taints in a node pool will be synchronized to existing nodes in the node pool.
New Node Scheduling
Default scheduling policy for the nodes newly added to a node pool. If you select Unschedulable, newly created nodes in the node pool will be labeled as unschedulable. In this way, you can perform some operations on the nodes before pods are scheduled to these nodes.
Scheduled Scheduling: After scheduled scheduling is enabled, new nodes will be automatically scheduled after the custom time expires.
- Disabled: By default, scheduled scheduling is not enabled for new nodes. To manually enable this function, go to the node list. For details, see Configuring a Node Scheduling Policy in One-Click Mode.
- Custom: the default timeout for unschedulable nodes. The value ranges from 0 to 99 in the unit of minutes.
NOTE:- If auto scaling of node pools is also required, ensure the scheduled scheduling is less than 15 minutes. If a node added through Autoscaler cannot be scheduled for more than 15 minutes, Autoscaler determines that the scale-out failed and triggers another scale-out. Additionally, if the node cannot be scheduled for more than 20 minutes, the node will be scaled in by Autoscaler.
- After this function is enabled, nodes will be tainted with node.cloudprovider.kubernetes.io/uninitialized during a node pool creation or update.
Max. Pods
Maximum number of pods that can run on the node, including the default system pods.
This limit prevents the node from being overloaded with pods.
This number is also decided by other factors. For details, see Maximum Number of Pods That Can Be Created on a Node.
ECS Group
An ECS group logically groups ECSs. The ECSs in the same ECS group comply with the same policy associated with the ECS group.
Anti-affinity: ECSs in an ECS group are deployed on different physical hosts to improve service reliability.
Select an existing ECS group, or click Add ECS Group to create one. After the ECS group is created, click the refresh icon.
Pre-installation Command
Pre-installation script command, in which Chinese characters are not allowed. The script command will be Base64-transcoded.
The script will be executed before Kubernetes software is installed. Note that if the script is incorrect, Kubernetes software may fail to be installed.
Post-installation Command
Pre-installation script command, in which Chinese characters are not allowed. The script command will be Base64-transcoded.
The script will be executed after Kubernetes software is installed, which does not affect the installation.
NOTE:Do not run the reboot command in the post-installation script to restart the system immediately. To restart the system, run the shutdown -r 1 command to restart with a delay of one minute.
Agency
An agency is created by the account administrator on the IAM console. By creating an agency, you can share your cloud server resources with another account, or entrust a more professional person or team to manage your resources.
If no agency is available, click Create Agency on the right to create one.
- Click Next: Confirm.
- Click Submit.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot