Updated on 2025-07-07 GMT+08:00

Updating a Specified Node Pool

Function

This API is used to update information about a specified node pool. This API can be called only when the cluster is in the Available, Scale Out, or Scale In state.

  • The URL for cluster management is in the following format: https://Endpoint/uri. uri indicates the resource path, that is, the API access path.

  • Currently, only the node pool name can be updated. initialNodeCount, k8sTags, taints, login and userTags under spec are related to the scaling configuration of the node pool. If no value is set for this update, the initial value is used by default.

URI

PUT /api/v3/projects/{project_id}/clusters/{cluster_id}/nodepools/{nodepool_id}

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Details:

Project ID. For details about how to obtain the value, see How to Obtain Parameters in the API URI.

Constraints:

None

Options:

Project IDs of the account

Default value:

N/A

cluster_id

Yes

String

Details:

Cluster ID. For details about how to obtain the value, see How to Obtain Parameters in the API URI.

Constraints:

None

Options:

Cluster IDs

Default value:

N/A

nodepool_id

Yes

String

Details:

Node pool ID. For details about how to obtain the ID, see How to Obtain Parameters in the API URI.

Constraints:

None

Options:

Cluster IDs

Default value:

N/A

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

Content-Type

Yes

String

Details:

The request body type or format

Constraints:

The GET method is not verified.

Options:

  • application/json

  • application/json;charset=utf-8

  • application/x-pem-file

  • multipart/form-data (used when the FormData parameter is present)

Default value:

N/A

X-Auth-Token

Yes

String

Details:

Requests for calling an API can be authenticated using either a token or AK/SK. If token-based authentication is used, this parameter is mandatory and must be set to a user token. For details, see Obtaining a User Token.

Constraints:

None

Options:

N/A

Default value:

N/A

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

metadata

Yes

NodePoolMetadataUpdate object

Details:

Metadata of a node pool

Constraints:

None

Options:

N/A

Default value:

N/A

spec

Yes

NodePoolSpecUpdate object

Details:

Node pool specifications

Constraints:

None

Options:

N/A

Default value:

N/A

Table 4 NodePoolMetadataUpdate

Parameter

Mandatory

Type

Description

name

Yes

String

Details:

Node pool name

Constraints:

You are not allowed to create node pools named DefaultPool.

Options:

Enter 1 to 50 characters starting with a lowercase letter and not ending with a hyphen (-). Only lowercase letters, digits, and hyphens (-) are allowed.

Default value:

N/A

Table 5 NodePoolSpecUpdate

Parameter

Mandatory

Type

Description

nodeTemplate

No

NodeSpecUpdate object

Details:

Detailed parameters of a node pool template

Constraints:

None

Options:

N/A

Default value:

N/A

initialNodeCount

Yes

Integer

Details:

Desired number of nodes in a node pool

Constraints:

This field is mandatory for updating a node pool.

NOTE:

Note that if this field is not specified when updating a node pool, the expected number of nodes in the node pool will default to 0. If there are more nodes in the node pool than this number, the excess nodes will be scaled in.

Options:

Greater than 0 and less than the number of nodes that can be managed by the cluster

Default value:

0

ignoreInitialNodeCount

No

Boolean

Details:

This parameter controls the default settings of spec.initialNodeCount (the expected number of nodes in a node pool) when a node pool is updated. If this parameter is not specified or set to false and spec.initialNodeCount is not specified in the request body, spec.initialNodeCount is automatically initialized to 0 during the updates. If this parameter is set to true, the spec.initialNodeCount parameter will be ignored.

NOTE:

If there is no need to update spec.initialNodeCount of a node pool, this parameter should be set to true, and spec.initialNodeCount should not be specified in the body of the node pool to be updated.If the value of spec.initialNodeCount of a node pool is not 0, nodes in the node pool will be scaled in.

Constraints:

None

Options:

  • false: If the spec.initialNodeCount parameter is not specified when a node pool is updated, the value of spec.initialNodeCount is initialized to 0.

  • true: When updating a node pool, the spec.initialNodeCount parameter is ignored, and the spec.initialNodeCount parameter settings of the node pool remain unchanged.

Default value:

false

autoscaling

No

NodePoolNodeAutoscaling object

Details:

Auto scaling, which is supported only by pay-per-use node pools

Constraints:

None

Options:

N/A

Default value:

N/A

nodeManagementUpdate

No

NodeManagement object

Details:

Node management configuration

Constraints:

None

Options:

N/A

Default value:

N/A

taintPolicyOnExistingNodes

No

String

Details:

Whether to synchronize Kubernetes taints

Constraints:

None

Options:

  • refresh: Kubernetes taint modifications will be automatically synchronized to existing nodes.

  • ignore: Kubernetes taint modifications will not be automatically synchronized to existing nodes.

Default value:

None

labelPolicyOnExistingNodes

No

String

Details:

Whether to synchronize Kubernetes labels

Constraints:

None

Options:

  • refresh: Kubernetes label modifications will be automatically synchronized to existing nodes.

  • ignore: Kubernetes label modifications will not be automatically synchronized to existing nodes.

Default value:

None

userTagsPolicyOnExistingNodes

No

String

Details:

Whether to synchronize node pool tags

Constraints:

None

Options:

  • refresh: Node pool tag modifications will be automatically synchronized to existing nodes.

  • ignore: Node pool tag modifications will not be automatically synchronized to existing nodes.

Default value:

None

extensionScaleGroups

No

Array of ExtensionScaleGroup objects

Details:

Configuration list of the extended scaling groups in a node pool. For details, see the definition of ExtensionScaleGroup.

Constraints:

None

Options:

N/A

Default value:

N/A

Table 6 NodeSpecUpdate

Parameter

Mandatory

Type

Description

flavor

No

String

Details:

Node flavors

Constraints:

None

Options:

For details about the node flavors supported by CCE clusters, see Node Specifications.

Default value:

N/A

os

No

String

Details:

Node OS. For details, see Node OSs.

Constraints:

  • If the selected OS is not supported by the current cluster version, it will be automatically replaced with a supported OS of the same series.

  • If alpha.cce/NodeImageID in extendParam is specified during node creation, you do not need to configure this parameter.

  • If this parameter is not specified, CCE will automatically select a supported OS version based on the cluster version.

  • This parameter is mandatory when creating a node pool.

  • This parameter is mandatory if the disk initialization parameter storage is used and the name field of virtualSpaces in StorageGroups is set to share during node creation.

Options:

N/A

Default value:

N/A

login

No

Login object

Details:

Node login mode. Either a key pair or password must be used for login.

Constraints:

None

rootVolumeUpdate

No

Volume object

Details:

Disk information of a node

Constraints:

None

dataVolumesUpdate

No

Array of Volume objects

Details:

Data disk parameters of a node. For DeC nodes, the parameter details are the same as those in rootVolume.

Constraints:

A VM can have up to 16 disks attached, while a BMS can only have up to 10 disks attached. The maximum number of disks that can be attached to either a VM or BMS is limited by their respective maximum disk limits. (You can add more data disks to each of your nodes through the CCE console or APIs.)

The data disk used by the container runtime and kubelet cannot be detached, or the node will become unavailable.

storage

No

Storage object

Details:

Disk initialization management parameter.

This parameter is complex to configure. For details, see Attaching Disks to a Node.

Constraints:

  • This field is supported by clusters v1.15.11-r0 and later versions. If the cluster version is not supported, this field will be ignored.

  • If a node has both local and EVS disks attached, make sure to not keep the default value for this parameter, or it may result in unexpected disk partitions.

  • If you want to change the value range of a data disk to 20 to 32768, do not use the default value.

  • If you want to use the shared disk space (with the runtime and Kubernetes partitions cancelled), do not retain the default value of this parameter. For details about the shared disk space, see Space Allocation of a Data Disk.

  • If you want to store system components in the system disk, do not use the default value.

runtime

No

Runtime object

Details:

Container runtime

  • Clusters earlier than v1.25: The default value is docker.

  • Clusters v1.25 or later: The default value varies with the OSs.

  • For nodes running EulerOS 2.5 or EulerOS 2.8, the default container runtime is docker. For nodes running other OSs, the default container runtime is containerd.

Constraints:

None

taints

Yes

Array of Taint objects

Details:

Taints, which can be added to nodes for anti-affinity configuration. Each taint contains the following parameters:

  • Key: Enter 1 to 63 characters starting and ending with a letter or digit. Only letters, digits, hyphens (-), underscores (_), and periods (.) are allowed. A DNS subdomain can be prefixed to a key.

  • Value: Enter 1 to 63 characters starting and ending with a letter or digit. Only letters, digits, hyphens (-), underscores (_), and periods (.) are allowed.

  • Effect: Available options are NoSchedule, PreferNoSchedule, and NoExecute.

When creating a node, you can specify an initial value for this field and this field is not returned during query. In node pools, the initial value can be specified in the node template and this field is returned during query. In other scenarios, this field is not returned during query.

Example:

"taints": [{
  "key": "status",
  "value": "unavailable",
  "effect": "NoSchedule"
}, {
  "key": "looks",
  "value": "bad",
  "effect": "NoSchedule"
}]

Constraints:

  • A maximum of 20 taints can be configured.

  • If this parameter is not specified or left empty, the custom taints of the node pool will be deleted.

  • This field is optional for updating a node pool.

k8sTags

Yes

Map<String,String>

Details:

Defined in key-value pairs.

  • Key: Enter 1 to 63 characters starting and ending with a letter or digit. Only letters, digits, hyphens (-), underscores (_), and periods (.) are allowed. A DNS subdomain containing a maximum of 253 characters (such as example.com/my-key) can be prefixed to a key.

  • Value: The value can be left blank or contain 1 to 63 characters that start and end with a letter or digit. Only letters, digits, hyphens (-), underscores (_), and periods (.) are allowed.

When creating a node, you can specify an initial value for this field and this field is not returned during query. In node pools, the initial value can be specified in the node template and this field is returned during query. In other scenarios, this field is not returned during query.

Example:

"k8sTags": {
  "key": "value"
}

Constraints:

  • A maximum of 20 key-value pairs are allowed.

  • If this parameter is not specified or left empty, the custom Kubernetes labels of the node pool will be deleted.

  • This field is optional for updating a node pool.

ecsGroupId

No

String

Details:

ECS group ID. If this parameter is specified, nodes will be created in the specific ECS group.

Constraints:

This configuration does not take effect when a node pool is created. To ensure that all nodes in a node pool are in the same ECS group, configure nodeManagement in the node pool.

Options:

N/A

Default value:

N/A

userTags

Yes

Array of UserTag objects

Details:

Cloud server resource tags

Constraints:

  • The key of a tag must be unique. The maximum number of custom tags supported by CCE varies depending on regions and cannot exceed 8.

  • If this parameter is not specified or left empty, the custom cloud server tags of the node pool will be deleted.

  • This field is optional during node pool updates.

Options:

N/A

Default value:

N/A

nodeNameTemplate

No

nodeNameTemplate object

Details:

Fixed prefix and suffix of node names. Assume that different node pools in a cluster are used by different departments of a company. You can use the prefix and suffix to distinguish the departments and how they use the nodes. For example, you can set nodeNamePrefix to finance- to indicate the department name, set nodeNameSuffix to -product to indicate the production usage, and set the node pool name to gpu to indicate the service type. The nodes will have names in the format of finance-gpu(Five random digits)-product.

Constraints:

This function is only supported by clusters of v1.28.1, v1.27.3, v1.25.6, v1.23.11, v1.21.12, or later.

Options:

N/A

Default value:

N/A

initializedConditions

No

Array of strings

Details:

Custom initialization flag, which is left empty by default.

Before CCE nodes are initialized, node.cloudprovider.kubernetes.io/uninitialized is added to the nodes to prevent pods from being scheduled to these nodes. When creating a node, you can configure the initializedConditions parameter to control the taint removal time. By default, the timeout period is not configured.

Example:

  1. Create a node and add parameter "initializedConditions": ["CCEInitial", "CustomedInitial"].

  2. Update a node and add parameter "initializedConditions": ["NodeInitial"]. By default, when a new node in the node pool is added to the cluster, the node does not accept pods from other nodes.

  3. After custom initialization is complete, CCE will call a Kubernetes API (for example, PATCH /v1/nodes/{node_ip}/status) to update the node conditions by adding two flags whose type values are CCEInitial and CustomedInitial, respectively, and both status values are True.

  4. CCE polls status.Conditions of nodes to check whether there are conditions whose type is CCEInitial or CustomedInitial. If such conditions exist and their statuses are True, the node initialization is complete and the initialization taint is removed.

  5. initializedConditions allows you to configure a timeout interval during node creation. For example, "initializedConditions": ["CCEInitial:15m", "CustomedInitial:15m"] indicates that the timeout interval is 15 minutes. After the timeout interval is reached, the initialization conditions will be automatically ignored and the initialization taint will be removed when CCE polls the node.

status:
  conditions:
  - type: CCEInitial
    status: 'True'
  - type: CustomedInitial
    status: 'True'

Constraints:

  • The timeout interval in initializedConditions ranges from 1 to 99 in the unit of seconds.

  • Each value must be between 1 and 20 characters long and can only contain letters and digits.

  • The maximum number of flags cannot exceed 2.

  • The unit of the timeout interval is minute (m).

serverEnterpriseProjectID

No

String

Details:

Enterprise project ID of a server. CCE does not support features provided by EPS. This field is only used for synchronizing enterprise project IDs of servers.

Constraints:

To create a node or node pool, you can specify an existing enterprise project for it. If this field is left blank, it inherits the enterprise project attributes of the cluster that runs the node or node pool.

When updating a node pool, any configuration modifications you made will apply only to new nodes. You need to modify the enterprise projects of existing nodes on the EPS console.

Options:

N/A

Default value:

If no value is specified during the update, this field will not be updated.

If this parameter is left blank, the cluster enterprise project is returned.

nodeNicSpecUpdate

No

nodeNicSpecUpdate object

Details:

Update the ENI on a node.

Constraints:

None

Options:

N/A

Default value:

N/A

extendParam

No

NodePoolUpdateExtendParam object

Details:

Extended parameters supported when a node pool is updated

Constraints:

None

Options:

N/A

Default value:

N/A

Table 7 Login

Parameter

Mandatory

Type

Description

sshKey

No

String

Details:

Name of the key pair used for login

Constraints:

None

Options:

N/A

Default value:

N/A

userPassword

No

UserPassword object

Details:

Password used for node login

Constraints:

None

Table 8 UserPassword

Parameter

Mandatory

Type

Description

username

No

String

Details:

Login account. The default value is root.

Constraints:

None

Options:

N/A

Default value:

root

password

Yes

String

Details:

Login password. If a username and password are used when a node is created, this field is shielded in the response body.

Constraints:

The password field must be salted during node creation. For details, see Adding a Salt in the password Field When Creating a Node.

Options:

A password must:

  • Contain 8 to 26 characters.

  • Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters !@$%^-_=+[{}]:,./?

  • Not contain the username or the username spelled backwards.

Default value:

N/A

Table 9 Volume

Parameter

Mandatory

Type

Description

size

Yes

Integer

Details:

Disk size, in GiB

Constraints:

None

Options:

  • System disks: 40 to 1,024

  • Data disks: 100 to 32,768

Default value:

N/A

volumetype

Yes

String

Details:

Disk type. For details about possible values, see the root_volume parameter in the API used to create an ECS.

Constraints:

None

Options:

  • SAS: high I/O SAS disks

  • SSD: ultra-high I/O SSD disks

  • SATA: common I/O SATA disks. SATA disks have been removed from EVS. You can find them attached only to existing nodes.

Default value:

N/A

extendParam

No

Map<String,Object>

Details:

Extended disk parameters, defined in extendparam in the API used to create an ECS.

Constraints:

None

cluster_id

No

String

Details:

ID of the storage pool used by the ECS system disk. This field is used only for DeC clusters and functions as dssPoolID, that is, the ID of the DSS storage pool.

Constraints:

None

Options:

N/A

Default value:

N/A

cluster_type

No

String

Details:

Storage class of the ECS system disk

Constraints:

None

Options:

This field is used only for DeC clusters, and the value is always dss.

Default value:

N/A

hw:passthrough

No

Boolean

Details:

  • Pay attention to this field if your ECS is SDI-compliant. If the value of this field is true, the created disk is of SCSI type.

  • If the node pool type is ElasticBMS, this field must be set to true.

  • If the node specification involves both local and EVS disks, configure the disk initialization parameters. For details, see Attaching Disks to a Node.

Constraints:

None

Options:

N/A

Default value:

N/A

metadata

No

VolumeMetadata object

Details:

EVS disk encryption information. This parameter is mandatory only when the system disk or data disk of the node to be created needs to be encrypted.

Constraints:

None

Table 10 VolumeMetadata

Parameter

Mandatory

Type

Description

__system__encrypted

No

String

Details:

Whether an EVS disk is encrypted. The value 0 indicates that the EVS disk is not encrypted, and the value 1 indicates that the EVS disk is encrypted.

Constraints:

None

Options:

N/A

Default value:

If this parameter does not appear, the disk is not encrypted.

__system__cmkid

No

String

Details:

CMK ID, which indicates encryption in metadata. This field is used with __system__encrypted.

Constraints:

None

Options:

N/A

Default value:

N/A

Table 11 Storage

Parameter

Mandatory

Type

Description

storageSelectors

Yes

Array of StorageSelectors objects

Details:

Disk selection. Matched disks are managed based on matchLabels and storageType settings. Disks are matched in sequence. The matching rule in the front is matched first.

Constraints:

None

storageGroups

Yes

Array of StorageGroups objects

Details:

A storage group consisting of multiple storage devices, which are used to divide storage space.

Constraints:

None

Table 12 StorageSelectors

Parameter

Mandatory

Type

Description

name

Yes

String

Details:

Name of a selector, which is used as the index of selectorNames in storageGroup.

Constraints:

The name of each selector must be unique.

Options:

N/A

Default value:

N/A

storageType

Yes

String

Details:

Storage type

Constraints:

  • The local storage type does not support disk selection. All local disks form a VG. Therefore, only one local storage selector is allowed.

  • The system storage type does not support disk selection. It is recommended that you use the system disk to store system components. As a result, only one storage selector of the system type is allowed, and the name must be cceUse.

Options:

Only evs (EVS disks), local (local disks), and system (system disks) are supported.

Default value:

N/A

matchLabels

No

matchLabels object

Details:

Matching field of an EVS disk

Constraints:

If storageType is set to system (system disk), you do not need to configure this parameter.

Options:

The size, volumeType, metadataEncrypted, metadataCmkid, and count fields in DataVolume are supported.

Default value:

N/A

Table 13 matchLabels

Parameter

Mandatory

Type

Description

size

No

String

Details:

Matched disk size, for example, 100. If this parameter is left blank, the disk size is not limited.

Constraints:

None

Options:

N/A

Default value:

N/A

volumeType

No

String

Details:

EVS disk type

Constraints:

None

Options:

SSD, GPSSD, SAS, ESSD, and SATA are supported. If this parameter is left blank, there is no restriction on the disk type.

Default value:

N/A

metadataEncrypted

No

String

Details:

Disk encryption identifier. If this parameter is set to 0, it specifies that the disk is not encrypted. If this parameter is set to 1, it specifies that the disk is encrypted. If this parameter is left blank, there is no restriction on the disk encryption identifier.

Constraints:

None

Options:

N/A

Default value:

N/A

metadataCmkid

No

String

Details:

CMK ID of an encrypted disk. The value is a string of 36 bytes. If this parameter is left blank, there is no restriction on the disk key ID.

Constraints:

None

Options:

N/A

Default value:

N/A

count

No

String

Details:

Number of disks to be selected. If this parameter is left blank, all disks of this type are selected.

Constraints:

None

Options:

N/A

Default value:

N/A

Table 14 StorageGroups

Parameter

Mandatory

Type

Description

name

Yes

String

Details:

Name of a virtual storage group, which must be unique

Constraints:

None

Options:

  • If cceManaged is set to true, the name field must be set to vgpaas.

  • If the data disk is used as a temporary storage volume, the name field must be set to vg-everest-localvolume-ephemeral.

  • If the data disk is used as a persistent storage volume, the name field must be set to vg-everest-localvolume-persistent.

Default value:

N/A

cceManaged

No

Boolean

Details:

Storage space to which Kubernetes and runtime belong. Only one group is set to true. If this parameter is left blank, the default value false is used.

Constraints:

None

Options:

N/A

Default value:

N/A

selectorNames

Yes

Array of strings

Details:

Corresponds to name in storageSelectors. One group can select multiple selectors, but one selector can be selected by only one group.

Constraints:

System components cannot be separately stored in the system disk and data disks. Therefore, when the selector type is set to system, only one selector can be selected for a group.

virtualSpaces

Yes

Array of VirtualSpace objects

Details:

Detailed management of space configurations in a group

Constraints:

None

Table 15 VirtualSpace

Parameter

Mandatory

Type

Description

name

Yes

String

Details:

Name of a virtualSpace. Only types of share, kubernetes, runtime, and user are supported.

Constraints:

None

Options:

  • Kubernetes: Kubernetes space configuration. lvmConfig needs to be configured.

  • runtime: runtime space configuration. runtimeConfig needs to be configured.

  • user: user space configuration. lvmConfig needs to be configured.

Default value:

N/A

size

Yes

String

Details:

Size of a virtualSpace. The value must be an integer in percentage, for example, 90%.

Constraints:

None

Options:

10 to 90. The sum of percentages of all virtualSpaces in a group cannot exceed 100%.

Default value:

N/A

lvmConfig

No

LVMConfig object

Details:

LVM configuration management, which is applicable to share, Kubernetes, and user space configuration

Constraints:

One virtualSpace supports only one config.

runtimeConfig

No

RuntimeConfig object

Details:

Runtime configuration management, which is applicable to runtime space configuration

Constraints:

One virtualSpace supports only one config.

Table 16 LVMConfig

Parameter

Mandatory

Type

Description

lvType

Yes

String

Details:

LVM write mode. linear indicates the linear mode. striped indicates the striped mode, in which multiple disks are used to form a strip to improve disk performance.

Constraints:

None

Options:

N/A

Default value:

N/A

path

No

String

Details:

Disk mount path. This parameter only takes effect in user configuration. The value can be an absolute path containing digits, uppercase letters, lowercase letters, periods (.), hyphens (-), and underscores (_).

Constraints:

Do not leave the path empty or set it to a key OS path such as the root directory. Key OS paths that cannot be entered:

/, /home, /home/, /bin, /bin/, /lib, /lib/, /root, /root/, /boot, /boot/, /dev, /dev/, /etc, /etc/, /lost+found, /lost+found/, /mnt, /mnt/, /proc, /proc/,/sbin, /sbin/, /srv, /srv/, /tmp, /tmp/, /var, /var/, /media, /media/, /opt, /opt/, /selinux, /selinux/, /sys, /sys/, /usr, /usr/, /opt/cloud/, /mnt/paas/, /home/paas/, /var/paas/, /var/lib/, /var/script/

Options:

N/A

Default value:

N/A

Table 17 RuntimeConfig

Parameter

Mandatory

Type

Description

lvType

Yes

String

Details:

LVM write mode. linear indicates the linear mode. striped indicates the striped mode, in which multiple disks are used to form a strip to improve disk performance.

Constraints:

None

Options:

N/A

Default value:

N/A

Table 18 Runtime

Parameter

Mandatory

Type

Description

name

No

String

Details:

Container runtime

Constraints:

None

Options:

N/A

Default value:

  • Clusters earlier than v1.25: The default value is docker.

  • Clusters of v1.25 or later: The default value varies with the OSs.

  • For nodes running EulerOS 2.5, the default value is docker. For nodes running other OSs, the default value is containerd.

Table 19 Taint

Parameter

Mandatory

Type

Description

key

Yes

String

Details:

Key

Constraints:

The value must contain 1 to 63 characters starting and ending with a letter or digit. Only letters, digits, hyphens (-), underscores (_), and periods (.) are allowed.

Options:

N/A

Default value:

N/A

value

No

String

Details:

Value

Constraints:

The value must contain 1 to 63 characters starting and ending with a letter or digit. Only letters, digits, hyphens (-), underscores (_), and periods (.) are allowed.

Options:

N/A

Default value:

N/A

effect

Yes

String

Details:

Effect

Constraints:

None

Options:

Available options are NoSchedule, PreferNoSchedule, and NoExecute.

Default value:

N/A

Table 20 UserTag

Parameter

Mandatory

Type

Description

key

No

String

Details:

Key of the cloud server tag

Constraints:

The value cannot start with CCE-, __type_baremetal, or sys.

Options:

The value contains a maximum of 128 characters. The tag key must be unique and cannot start or end with a space. It cannot contain non-printable ASCII characters (0–31) or the following special characters: =*<>,|/

Default value:

N/A

value

No

String

Details:

Value of the cloud server tag

Constraints:

None

Options:

The value contains a maximum of 255 characters. The tag value cannot start or end with a space. It cannot contain non-printable ASCII characters (0–31) or the following special characters: =*<>,|

Default value:

N/A

Table 21 nodeNameTemplate

Parameter

Mandatory

Type

Description

nodeNamePrefix

No

String

Details:

Node name prefix. If this parameter is left empty or set to the default value, no prefix is added to the node name.

Constraints:

Only lowercase letters, digits, hyphens (-), and periods (.) are allowed. The value must start with a lowercase letter.

Options:

N/A

Default value:

N/A

nodeNameSuffix

No

String

Details:

Node name suffix. If this parameter is left empty or set to the default value, no suffix is added to the node name.

Constraints:

Only lowercase letters, digits, hyphens (-), and periods (.) are allowed. The value must start with a lowercase letter.

Options:

N/A

Default value:

N/A

Table 22 nodeNicSpecUpdate

Parameter

Mandatory

Type

Description

primaryNic

No

primaryNic object

Details:

Description of the primary ENI

Constraints:

None

Options:

N/A

Default value:

N/A

Table 23 primaryNic

Parameter

Mandatory

Type

Description

subnetId

No

String

Details:

Network ID of the subnet to which an ENI belongs

Constraints:

If subnetId is not specified when a primary ENI is created, the cluster subnet will be used. If subnetList is specified for a node pool, the subnetList field is used for adding subnets to the node pool. When creating an extended ENI, you must specify subnetId.

Options:

N/A

Default value:

N/A

subnetList

No

Array of strings

Details:

Network ID list of the subnet where the ENI resides. Multiple subnets can be configured for a node pool.

Constraints:

A maximum of 20 subnets can be configured.

Options:

N/A

Default value:

N/A

Table 24 NodePoolUpdateExtendParam

Parameter

Mandatory

Type

Description

agency_name

No

String

Details:

Agency name. An agency is created by a tenant administrator on Identity and Access Management (IAM) to provide temporary credentials for CCE nodes to access cloud servers.

Constraints:

This parameter is returned only when it is transferred during node creation.

Options:

N/A

Default value:

N/A

alpha.cce/preInstall

No

String

Details:

Pre-installation script.

The input value must be encoded using Base64. The method is as follows:

echo -n "*Content to be encoded*" | base64

Constraints:

The characters of both the pre-installation and post-installation scripts are centrally calculated, and the total number of characters after transcoding cannot exceed 10,240.

Options:

N/A

Default value:

N/A

alpha.cce/postInstall

No

String

Details:

Post-installation script.

The input value must be encoded using Base64. The method is as follows:

echo -n "*Content to be encoded*" | base64

Constraints:

The characters of both the pre-installation and post-installation scripts are centrally calculated, and the total number of characters after transcoding cannot exceed 10,240.

Options:

N/A

Default value:

N/A

Table 25 NodePoolNodeAutoscaling

Parameter

Mandatory

Type

Description

enable

No

Boolean

Details:

Whether to enable auto scaling

Constraints:

None

Options:

  • false: Auto scaling is disabled.

  • true: Auto scaling is enabled.

Default value:

false

minNodeCount

No

Integer

Details:

Minimum number of nodes that can be scaled in if auto scaling is enabled

Constraints:

None

Options:

Values that are greater than or equal to 0 and cannot be greater than the maximum number of nodes allowed by the cluster specifications

Default value:

0

maxNodeCount

No

Integer

Details:

Maximum number of nodes that can be added if auto scaling is enabled

Constraints:

None

Options:

Values that are greater than or equal to the value of minNodeCount and cannot be greater than the maximum number of nodes allowed by the cluster specifications

Default value:

0

scaleDownCooldownTime

No

Integer

Details:

How long nodes will be kept, in minutes. During this period, nodes added will not be deleted.

Constraints:

None

Options:

0 to 2147483646

Default value:

0

priority

No

Integer

Details:

Weight of a node pool. A node pool with a higher weight has a higher priority during scale-out.

Constraints:

None

Options:

N/A

Default value:

0

scaleDownUnneededTime

No

Integer

Details:

How long a node should be unneeded before it is eligible for scale in. This parameter specifies the duration during which a node is in the unneeded state before the scale-in operation can be performed.

CCE Cluster Autoscaler scales in the node only when the node is not needed for a specified period.

This prevents frequent scale-in triggered by temporary resource fluctuations and improves system stability. If this parameter is not specified, the CCE Cluster Autoscaler add-on uses the default time threshold.

Constraints:

None

Options:

0 to 2147483647

NOTE:

Note: If the parameter is set to -1, it indicates that the value is empty.

Default value:

This parameter is left empty by default.

scaleDownUtilizationThreshold

No

Float

Details:

Scale-in utilization threshold of a node, which is defined by the total CPU or memory resources used by all running pods on the node divided by the total available resources of the node. If the calculated value falls below the specified threshold, the node becomes eligible for scale-in. For example, setting this parameter to 0.3 means that if the resource utilization on a node drops below 30%, the node will be scaled in. If this parameter is not specified, the CCE Cluster Autoscaler add-on will use the default utilization threshold.

Constraints:

None

Options:

0 to 1

NOTE:

Note: If the parameter is set to -1, it indicates that the value is empty.

Default value:

This parameter is left empty by default.

Table 26 NodeManagement

Parameter

Mandatory

Type

Description

serverGroupReference

No

String

Details:

A cloud server group ID. If this parameter is specified, the cloud server group will be associated with the target node pool, and all nodes in the node pool will be created in this cloud server group. After a cloud server group is associated with a node pool, the number of nodes in the node pool cannot exceed the number of cloud servers that can be added to the cloud server group, or the node pool cannot be scaled out.

NOTE:
  • After a cloud server group is associated with a node pool, the cloud servers added to the cloud server group will be distributed in strict accordance with the affinity policy and the maximum number of nodes in the node pool will be limited. The anti-affinity capabilities are available during cloud server creation on ECS. If your goal is to enhance service reliability by distributing cloud servers across different hosts and you do not want the number of nodes to be restricted by cloud server groups, you are advised not to associate cloud server groups with any node pools.

  • A cloud server group can be disassociated from the node pool. After the change, the existing nodes will remain in the original cloud server group, and no new nodes will be added to the cloud server group. If the node pool is empty, you can associate a new cloud server group with the node pool or change the associated cloud server group.

Constraints:

If a cloud server group is specified, the number of nodes in the node pool cannot exceed the group quota.

Options:

  • If this parameter is not specified or left blank, the cloud server group will be disassociated from the node pool.

  • A cloud server group ID: The cloud server group associated with the node pool will be changed to a specified one.

Default value:

N/A

Table 27 ExtensionScaleGroup

Parameter

Mandatory

Type

Description

metadata

No

ExtensionScaleGroupMetadata object

Details:

Basic information about an extended scaling group

Constraints:

None

spec

No

ExtensionScaleGroupSpec object

Details:

Configurations of an extended scaling group, which carry different configurations from those of the default scaling group

Constraints:

None

Table 28 ExtensionScaleGroupMetadata

Parameter

Mandatory

Type

Description

uid

No

String

Details:

UUID of an extended scaling group, which is automatically generated by the system

Constraints:

None

Options:

N/A

Default value:

N/A

name

No

String

Details:

Name of an extended scaling group

Constraints:

The value cannot be default.

Options:

Enter 1 to 56 characters starting with a lowercase letter and ending with a lowercase letter or digit. Only digits, lowercase letters, and hyphens (-) are allowed.

Default value:

N/A

Table 29 ExtensionScaleGroupSpec

Parameter

Mandatory

Type

Description

flavor

No

String

Details:

Node flavors. For details about the node flavors supported by CCE clusters, see Node Specifications.

Constraints:

None

Options:

N/A

Default value:

N/A

az

No

String

Details:

Node AZ

Constraints:

None

Options:

N/A

Default value:

If this parameter is not specified or left blank, the default scaling group configurations take effect.

capacityReservationSpecification

No

CapacityReservationSpecification object

Details:

Capacity reservation configurations of an extended scaling group

Constraints:

None

autoscaling

No

ScaleGroupAutoscaling object

Details:

Auto scaling configurations of an extended scaling group

Constraints:

None

Table 30 CapacityReservationSpecification

Parameter

Mandatory

Type

Description

id

No

String

Details:

Private pool ID

Constraints:

This value can be ignored when preference is set to none.

Options:

N/A

Default value:

N/A

preference

No

String

Details:

Private pool capacity

Constraints:

If the value is none, the capacity reservation is not specified. If the value is targeted, the capacity reservation is specified. In this case, the ID cannot be left blank.

Options:

N/A

Default value:

none

Table 31 ScaleGroupAutoscaling

Parameter

Mandatory

Type

Description

enable

No

Boolean

Details:

Whether to enable auto scaling for a scaling group

Constraints:

None

Options:

  • false: Auto scaling is disabled.

  • true: Auto scaling is enabled.

Default value:

false

extensionPriority

No

Integer

Details:

Scaling group priority. A larger value indicates a higher priority.

Constraints:

None

Options:

N/A

Default value:

0

minNodeCount

No

Integer

Details:

Minimum number of nodes that can be kept in a scaling group during auto scaling

Constraints:

None

Options:

Values that are greater than or equal to 0 and cannot be greater than the maximum number of nodes allowed by the cluster specifications

Default value:

0

maxNodeCount

No

Integer

Details:

Maximum number of nodes that can be kept in a scaling group during auto scaling

Constraints:

None

Options:

Values that are greater than or equal to the value of minNodeCount, less than or equal to the maximum number of nodes allowed by the cluster specifications, and less than or equal to the maximum number of nodes in the node pool

Default value:

0

Response Parameters

Status code: 200

Table 32 Response body parameters

Parameter

Type

Description

kind

String

Details:

API type

Constraints:

The value cannot be changed.

Options:

N/A

Default value:

NodePool

apiVersion

String

Details:

API version

Constraints:

The value cannot be changed.

Options:

N/A

Default value:

v3

metadata

NodePoolMetadata object

Details:

Metadata of a node pool

Constraints:

None

Options:

N/A

Default value:

N/A

spec

NodePoolSpec object

Details:

Node pool specifications

Constraints:

None

Options:

N/A

Default value:

N/A

status

UpdateNodePoolStatus object

Details:

Node pool status

Constraints:

None

Options:

N/A

Default value:

N/A

Table 33 NodePoolMetadata

Parameter

Type

Description

name

String

Details:

Node pool name

Constraints:

You cannot create node pools named DefaultPool.

Options:

Enter 1 to 50 characters starting with a lowercase letter and not ending with a hyphen (-). Only lowercase letters, digits, and hyphens (-) are allowed.

Default value:

N/A

uid

String

Details:

UID of a node pool

Constraints:

The value is automatically generated after the object is created. A user-defined value will not take effect.

Options:

N/A

Default value:

N/A

annotations

Map<String,String>

Details:

Annotations of a node pool in key-value pairs

Constraints:

This parameter is used only for query and cannot be input through a request. Entered data of this parameter is invalid.

updateTimestamp

String

Details:

Time when a node pool was updated

Constraints:

The value is automatically recorded when a node pool is updated and cannot be specified.

Options:

N/A

Default value:

N/A

creationTimestamp

String

Details:

Time when a node pool was created

Constraints:

The value is automatically recorded when a node pool is created and cannot be specified.

Options:

N/A

Default value:

N/A

Table 34 NodePoolSpec

Parameter

Type

Description

type

String

Details:

Node pool type

Constraints:

None

Options:

  • vm: ECS

  • ElasticBMS: C6 general computing-plus BMS. An example flavor is c6.22xlarge.2.physical.

  • pm: BMS

Default value:

vm

nodeTemplate

NodeSpec object

Details:

Detailed parameters of a node pool template

Constraints:

None

initialNodeCount

Integer

Details:

The initial number of nodes in a node pool. The obtained value is the desired number of nodes in the node pool.

Constraints:

None

Options:

Values that are greater than or equal to 0 and less than or equal to the cluster scale

Default value:

0

autoscaling

NodePoolNodeAutoscaling object

Details:

Auto scaling parameters

Constraints:

None

nodeManagement

NodeManagement object

Details:

Node management configuration

Constraints:

None

podSecurityGroups

Array of SecurityID objects

Details:

Security group configuration

Constraints:

None

extensionScaleGroups

Array of ExtensionScaleGroup objects

Details:

Configuration list of the extended scaling groups in a node pool. For details, see the definition of ExtensionScaleGroup.

Constraints:

None

customSecurityGroups

Array of strings

Details:

Custom security group configuration for a node pool. New nodes added to a node pool can be bound to a specified security group.

  • Specifying no security group ID will add the new nodes to the default node security group.

  • Specifying a valid security group ID will put new nodes in that security group.

  • When specifying a security group, do not modify the port rules on which CCE depends.

Constraints:

None

taintPolicyOnExistingNodes

String

Details:

Taint synchronization policy of existing nodes

Constraints:

None

Options:

  • ignore: The taints of existing nodes in a node pool will not be updated synchronously.

  • refresh: The taints of existing nodes in a node pool will be updated synchronously.

Default value:

refresh

labelPolicyOnExistingNodes

String

Details:

Label synchronization policy of existing nodes

Constraints:

None

Options:

  • ignore: The labels of existing nodes in a node pool will not be updated synchronously.

  • refresh: The labels of existing nodes in a node pool will be updated synchronously.

Default value:

refresh

userTagsPolicyOnExistingNodes

String

Details:

Resource tag synchronization policy of existing nodes

Constraints:

None

Options:

  • ignore: The resource tags of existing nodes in a node pool will not be updated synchronously.

  • refresh: The resource tags of existing nodes in a node pool will be updated synchronously.

Default value:

ignore

Table 35 NodeSpec

Parameter

Type

Description

flavor

String

Details:

Node flavors. For details about the node flavors supported by CCE clusters, see Node Specifications.

Constraints:

None

Options:

N/A

Default value:

N/A

az

String

Details:

AZ where the node to be created is located. You need to specify the AZ name. Random AZs will not be allocated to a node created using APIs.

Constraints:

When you are creating a node pool and configuring a scaling group, this parameter cannot be set to random.

Options:

N/A

Default value:

N/A

os

String

Details:

OS type of a node. For details about the supported OSs, see Node OSs.

Constraints:

  • If this parameter is not specified when you create a node, CCE automatically selects an OS version supported by the cluster version.

  • If the selected OS is not supported by the current cluster version, it will be automatically replaced with a supported OS of the same series.

  • If the alpha.cce/NodeImageID parameter in extendParam is specified during node creation, the node will use private images. In this case, this parameter is optional.

Options:

N/A

Default value:

N/A

login

Login object

Details:

Node login mode. Either a key pair or password must be used for login.

Constraints:

None

rootVolume

Volume object

Details:

Disk information of a node

Constraints:

None

dataVolumes

Array of Volume objects

Details:

Data disk parameters of a node. For DeC nodes, the parameter details are the same as those in rootVolume.

Constraints:

  • A VM can have up to 16 disks attached, while a BMS can only have up to 10 disks attached. The maximum number of disks that can be attached to either a VM or BMS is limited by their respective maximum disk limits. (You can add more data disks to each of your nodes through the CCE console or APIs.)

  • The data disk used by the container runtime and kubelet cannot be detached, or the node will become unavailable.

  • This parameter can be left blank only when a system disk is selected for the system components.

storage

Storage object

Details:

Disk initialization management parameter.

This parameter is complex to configure. For details, see Attaching Disks to a Node.

Constraints:

  • This field is supported by clusters v1.15.11-r0 and later versions. If the cluster version is not supported, this field will be ignored.

  • If a node has both local and EVS disks attached, make sure to not keep the default value for this parameter, or it may result in unexpected disk partitions.

  • If you want to change the value range of a data disk to 20 to 32768, do not use the default value.

  • If you want to use the shared disk space (with the runtime and Kubernetes partitions cancelled), do not retain the default value of this parameter. For details about the shared disk space, see Space Allocation of a Data Disk.

  • If you want to store system components in the system disk, do not use the default value.

publicIP

NodePublicIP object

Details:

EIP of a node

Constraints:

This parameter is not supported when you add a node during node pool creation.

nodeNicSpec

NodeNicSpec object

Details:

ENI of a node

Constraints:

None

count

Integer

Details:

Number of nodes that can be created at a time

Constraints:

  • This parameter can be left empty when it is used for a node pool.

  • This parameter is not returned during node pool creation.

Options:

Positive integers that are greater than or equal to 1 and less than or equal to the maximum limit

Default value:

N/A

billingMode

Integer

Details:

Billing mode of a node

Constraints:

None

Options:

  • 0: pay-per-use

Default value:

N/A

taints

Array of Taint objects

Details:

Taints, which can be added to nodes for anti-affinity configuration. Each taint contains the following parameters:

  • Key: Enter 1 to 63 characters starting and ending with a letter or digit. Only letters, digits, hyphens (-), underscores (_), and periods (.) are allowed. A DNS subdomain can be prefixed to a key.

  • Value: Enter 1 to 63 characters starting and ending with a letter or digit. Only letters, digits, hyphens (-), underscores (_), and periods (.) are allowed.

  • Effect: Available options are NoSchedule, PreferNoSchedule, and NoExecute.

When creating a node, you can specify the initial value for this parameter and this field is not returned during query. In node pools, the initial value can be specified in the node template and this field is returned during query. In other scenarios, this field is not returned during query.

Example:

"taints": [{
  "key": "status",
  "value": "unavailable",
  "effect": "NoSchedule"
}, {
  "key": "looks",
  "value": "bad",
  "effect": "NoSchedule"
}]

Constraints:

A maximum of 20 taints can be configured.

k8sTags

Map<String,String>

Details:

Defined in key-value pairs.

  • Key: Enter 1 to 63 characters starting and ending with a letter or digit. Only letters, digits, hyphens (-), underscores (_), and periods (.) are allowed. A DNS subdomain containing a maximum of 253 characters (such as example.com/my-key) can be prefixed to a key.

  • Value: The value can be left blank or contain 1 to 63 characters that start and end with a letter or digit. Only letters, digits, hyphens (-), underscores (_), and periods (.) are allowed.

When creating a node, you can specify the initial value for this parameter and this field is not returned during query. In node pools, the initial value can be specified in the node template and this field is returned during query. In other scenarios, this field is not returned during query.

Example:

"k8sTags": {
  "key": "value"
}

Constraints:

A maximum of 20 key-value pairs are allowed.

ecsGroupId

String

Details:

ECS group ID. If this parameter is specified, nodes will be created in the specific ECS group.

Constraints:

This configuration does not take effect when a node pool is created. To ensure that all nodes in a node pool are in the same ECS group, configure nodeManagement in the node pool.

Options:

N/A

Default value:

N/A

dedicatedHostId

String

Details:

ID of the DeH to which nodes will be scheduled.

Constraints:

This parameter is not supported when you add a node during node pool creation.

userTags

Array of UserTag objects

Details:

Cloud server resource tags. When creating a node, you can specify an initial value for this field and this field is not returned during query. In node pools, the initial value can be specified in the node template and this field is returned during query. In other scenarios, this field is not returned during query.

Constraints:

  • The key of a tag must be unique. The maximum number of custom tags supported by CCE varies depending on regions and cannot exceed 8.

runtime

Runtime object

Details:

Container runtime

  • Clusters earlier than v1.25: The default value is docker.

  • Clusters of v1.25 or later: The default value varies with the OSs.

  • For nodes running EulerOS 2.5 or EulerOS 2.8, the default container runtime is docker. For nodes running other OSs, the default container runtime is containerd.

Constraints:

None

initializedConditions

Array of strings

Details:

Custom initialization flag, which is left blank by default.

Before CCE nodes are initialized, they are tainted with node.cloudprovider.kubernetes.io/uninitialized to prevent pods from being scheduled to them. When creating a node, you can specify the initializedConditions parameter to control the taint removal time. By default, the timeout interval is not configured.

Example:

  1. Create a node and add parameter "initializedConditions": ["CCEInitial", "CustomedInitial"].

  2. After custom initialization is complete, CCE will call a Kubernetes API (for example, PATCH /v1/nodes/{node_ip}/status) to update the node conditions by adding two labels of types CCEInitial and CustomedInitial and setting the status to True, as shown in the following:

  3. CCE polls status.Conditions of nodes to check whether there are conditions of types CCEInitial and CustomedInitial. If such conditions exist and the status is True, the node initialization is complete and the initialization taint is removed.

  4. initializedConditions allows you to configure a timeout period during node creation. For example, "initializedConditions": ["CCEInitial:15m", "CustomedInitial:15m"] indicates that the timeout period is 15 minutes. After the timeout period is reached, the initialization conditions will be automatically ignored and the initialization taint will be removed when CCE polls the node.

status:
  conditions:
  - type: CCEInitial
    status: 'True'
  - type: CustomedInitial
    status: 'True'

Constraints:

  • The timeout interval in initializedConditions ranges from 1 to 99 seconds.

  • Each value has 1 to 20 characters, which must consist of letters and digits.

  • The maximum number of flags cannot exceed 2.

  • The unit of the timeout period is minute (m).

extendParam

NodeExtendParam object

Details:

Extended parameters for creating a node

Constraints:

None

hostnameConfig

HostnameConfig object

Details:

Kubernetes node name configuration parameter

Constraints:

The supported cluster version is v1.23.6-r0 to v1.25 or v1.25.2-r0 or later.

serverEnterpriseProjectID

String

Details:

Enterprise project ID of a server. CCE does not support features provided by EPS. This field is used only for synchronizing enterprise project IDs of servers.

Constraints:

To create a node or node pool, you can specify an existing enterprise project for it. If this field is left blank, it inherits the enterprise project attributes of the cluster that runs the node or node pool.

When updating a node pool, any configuration modifications you made will apply only to new nodes. You need to modify the enterprise projects of existing nodes on the EPS console.

Options:

N/A

Default value:

If no value is specified during the update, this field will not be updated.

If this parameter is left blank, the cluster enterprise project is returned.

nodeNameTemplate

nodeNameTemplate object

Details:

Fixed prefix and suffix of node names. Assume that different node pools in a cluster are used by different departments of a company. You can use the prefix and suffix to distinguish the departments and how they use the nodes. For example, you can set nodeNamePrefix to finance- to indicate the department name, set nodeNameSuffix to -product to indicate the production usage, and set the node pool name to gpu to indicate the service type. The nodes will have names in the format of finance-gpu(Five random digits)-product.

Constraints:

This function is only supported by clusters of v1.28.1, v1.27.3, v1.25.6, v1.23.11, v1.21.12, or later. This parameter is only valid for node pools.

Options:

N/A

Default value:

N/A

Table 36 Login

Parameter

Type

Description

sshKey

String

Details:

Name of the key pair used for login

Constraints:

None

Options:

N/A

Default value:

N/A

userPassword

UserPassword object

Details:

Password used for node login

Constraints:

None

Table 37 UserPassword

Parameter

Type

Description

username

String

Details:

Login account. The default value is root.

Constraints:

None

Options:

N/A

Default value:

root

password

String

Details:

Login password. If a username and password are used when a node is created, this field is shielded in the response body.

Constraints:

The password field must be salted during node creation. For details, see Adding a Salt in the password Field When Creating a Node.

Options:

A password must:

  • Contain 8 to 26 characters.

  • Contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters !@$%^-_=+[{}]:,./?

  • Not contain the username or the username spelled backwards.

Default value:

N/A

Table 38 Volume

Parameter

Type

Description

size

Integer

Details:

Disk size, in GiB

Constraints:

None

Options:

  • System disks: 40 to 1,024

  • Data disks: 100 to 32,768

Default value:

N/A

volumetype

String

Details:

Disk type. For details about possible values, see the root_volume parameter in the API used to create an ECS.

Constraints:

None

Options:

  • SAS: high I/O SAS disks

  • SSD: ultra-high I/O SSD disks

  • SATA: common I/O SATA disks. SATA disks have been removed from EVS. You can find them attached only to existing nodes.

Default value:

N/A

extendParam

Map<String,Object>

Details:

Extended disk parameters, defined in extendparam in the API used to create an ECS.

Constraints:

None

cluster_id

String

Details:

ID of the storage pool used by the ECS system disk. This field is used only for DeC clusters and functions as dssPoolID, that is, the ID of the DSS storage pool.

Constraints:

None

Options:

N/A

Default value:

N/A

cluster_type

String

Details:

Storage class of the ECS system disk

Constraints:

None

Options:

This field is used only for DeC clusters, and the value is always dss.

Default value:

N/A

hw:passthrough

Boolean

Details:

  • Pay attention to this field if your ECS is SDI-compliant. If the value of this field is true, the created disk is of SCSI type.

  • If the node pool type is ElasticBMS, this field must be set to true.

  • If the node specification involves both local and EVS disks, configure the disk initialization parameters. For details, see Attaching Disks to a Node.

Constraints:

None

Options:

N/A

Default value:

N/A

metadata

VolumeMetadata object

Details:

EVS disk encryption information. This parameter is mandatory only when the system disk or data disk of the node to be created needs to be encrypted.

Constraints:

None

Table 39 VolumeMetadata

Parameter

Type

Description

__system__encrypted

String

Details:

Whether an EVS disk is encrypted. The value 0 indicates that the EVS disk is not encrypted, and the value 1 indicates that the EVS disk is encrypted.

Constraints:

None

Options:

N/A

Default value:

If this parameter does not appear, the disk is not encrypted.

__system__cmkid

String

Details:

CMK ID, which indicates encryption in metadata. This field is used with __system__encrypted.

Constraints:

None

Options:

N/A

Default value:

N/A

Table 40 Storage

Parameter

Type

Description

storageSelectors

Array of StorageSelectors objects

Details:

Disk selection. Matched disks are managed based on matchLabels and storageType settings. Disks are matched in sequence. The matching rule in the front is matched first.

Constraints:

None

storageGroups

Array of StorageGroups objects

Details:

A storage group consisting of multiple storage devices, which are used to divide storage space.

Constraints:

None

Table 41 StorageSelectors

Parameter

Type

Description

name

String

Details:

Name of a selector, which is used as the index of selectorNames in storageGroup.

Constraints:

The name of each selector must be unique.

Options:

N/A

Default value:

N/A

storageType

String

Details:

Storage type

Constraints:

  • The local storage type does not support disk selection. All local disks form a VG. Therefore, only one local storage selector is allowed.

  • The system storage type does not support disk selection. It is recommended that you use the system disk to store system components. As a result, only one storage selector of the system type is allowed, and the name must be cceUse.

Options:

Only evs (EVS disks), local (local disks), and system (system disks) are supported.

Default value:

N/A

matchLabels

matchLabels object

Details:

Matching field of an EVS disk

Constraints:

If storageType is set to system (system disk), you do not need to configure this parameter.

Options:

The size, volumeType, metadataEncrypted, metadataCmkid, and count fields in DataVolume are supported.

Default value:

N/A

Table 42 matchLabels

Parameter

Type

Description

size

String

Details:

Matched disk size, for example, 100. If this parameter is left blank, the disk size is not limited.

Constraints:

None

Options:

N/A

Default value:

N/A

volumeType

String

Details:

EVS disk type

Constraints:

None

Options:

SSD, GPSSD, SAS, ESSD, and SATA are supported. If this parameter is left blank, there is no restriction on the disk type.

Default value:

N/A

metadataEncrypted

String

Details:

Disk encryption identifier. If this parameter is set to 0, it specifies that the disk is not encrypted. If this parameter is set to 1, it specifies that the disk is encrypted. If this parameter is left blank, there is no restriction on the disk encryption identifier.

Constraints:

None

Options:

N/A

Default value:

N/A

metadataCmkid

String

Details:

CMK ID of an encrypted disk. The value is a string of 36 bytes. If this parameter is left blank, there is no restriction on the disk key ID.

Constraints:

None

Options:

N/A

Default value:

N/A

count

String

Details:

Number of disks to be selected. If this parameter is left blank, all disks of this type are selected.

Constraints:

None

Options:

N/A

Default value:

N/A

Table 43 StorageGroups

Parameter

Type

Description

name

String

Details:

Name of a virtual storage group, which must be unique

Constraints:

None

Options:

  • If cceManaged is set to true, the name field must be set to vgpaas.

  • If the data disk is used as a temporary storage volume, the name field must be set to vg-everest-localvolume-ephemeral.

  • If the data disk is used as a persistent storage volume, the name field must be set to vg-everest-localvolume-persistent.

Default value:

N/A

cceManaged

Boolean

Details:

Storage space to which Kubernetes and runtime belong. Only one group is set to true. If this parameter is left blank, the default value false is used.

Constraints:

None

Options:

N/A

Default value:

N/A

selectorNames

Array of strings

Details:

Corresponds to name in storageSelectors. One group can select multiple selectors, but one selector can be selected by only one group.

Constraints:

System components cannot be separately stored in the system disk and data disks. Therefore, when the selector type is set to system, only one selector can be selected for a group.

virtualSpaces

Array of VirtualSpace objects

Details:

Detailed management of space configurations in a group

Constraints:

None

Table 44 VirtualSpace

Parameter

Type

Description

name

String

Details:

Name of a virtualSpace. Only types of share, kubernetes, runtime, and user are supported.

Constraints:

None

Options:

  • Kubernetes: Kubernetes space configuration. lvmConfig needs to be configured.

  • runtime: runtime space configuration. runtimeConfig needs to be configured.

  • user: user space configuration. lvmConfig needs to be configured.

Default value:

N/A

size

String

Details:

Size of a virtualSpace. The value must be an integer in percentage, for example, 90%.

Constraints:

None

Options:

10 to 90. The sum of percentages of all virtualSpaces in a group cannot exceed 100%.

Default value:

N/A

lvmConfig

LVMConfig object

Details:

LVM configuration management, which is applicable to share, Kubernetes, and user space configuration

Constraints:

One virtualSpace supports only one config.

runtimeConfig

RuntimeConfig object

Details:

Runtime configuration management, which is applicable to runtime space configuration

Constraints:

One virtualSpace supports only one config.

Table 45 LVMConfig

Parameter

Type

Description

lvType

String

Details:

LVM write mode. linear indicates the linear mode. striped indicates the striped mode, in which multiple disks are used to form a strip to improve disk performance.

Constraints:

None

Options:

N/A

Default value:

N/A

path

String

Details:

Disk mount path. This parameter only takes effect in user configuration. The value can be an absolute path containing digits, uppercase letters, lowercase letters, periods (.), hyphens (-), and underscores (_).

Constraints:

Do not leave the path empty or set it to a key OS path such as the root directory. Key OS paths that cannot be entered:

/, /home, /home/, /bin, /bin/, /lib, /lib/, /root, /root/, /boot, /boot/, /dev, /dev/, /etc, /etc/, /lost+found, /lost+found/, /mnt, /mnt/, /proc, /proc/,/sbin, /sbin/, /srv, /srv/, /tmp, /tmp/, /var, /var/, /media, /media/, /opt, /opt/, /selinux, /selinux/, /sys, /sys/, /usr, /usr/, /opt/cloud/, /mnt/paas/, /home/paas/, /var/paas/, /var/lib/, /var/script/

Options:

N/A

Default value:

N/A

Table 46 RuntimeConfig

Parameter

Type

Description

lvType

String

Details:

LVM write mode. linear indicates the linear mode. striped indicates the striped mode, in which multiple disks are used to form a strip to improve disk performance.

Constraints:

None

Options:

N/A

Default value:

N/A

Table 47 NodePublicIP

Parameter

Type

Description

ids

Array of strings

Details:

IDs of existing EIPs

Constraints:

  • The quantity cannot be greater than the number of nodes to be created.

  • If ids has been specified, you do not need to configure count and eip.

count

Integer

Details:

Number of EIPs to be dynamically created

Constraints:

count and eip must be configured simultaneously.

Options:

N/A

Default value:

N/A

eip

NodeEIPSpec object

Details:

EIP configuration

Constraints:

This parameter is not supported when you create a node pool.

Table 48 NodeEIPSpec

Parameter

Type

Description

iptype

String

Details:

EIP type, specified in publicip.type in the API for assigning an EIP.

Constraints:

None

Options:

N/A

Default value:

N/A

bandwidth

NodeBandwidth object

Details:

Bandwidth parameters of the EIP

Constraints:

None

Table 49 NodeBandwidth

Parameter

Type

Description

chargemode

String

Details:

Bandwidth billing mode

NOTE:
  • Billed by bandwidth: The billing will be based on the data transmission rate (in Mbps) of public networks. This billing mode is recommended if your bandwidth usage is higher than 10%.

  • Billed by traffic: The billing is based on the total amount of data (in GB) transmitted over the public network. This mode is available only when you are creating a pay-per-use node. This billing mode is recommended if your bandwidth usage is lower than 10%.

Constraints:

None

Options:

  • If this field is not specified, the billing is based on bandwidth.

  • If the field value is empty, the billing is based on bandwidth.

  • If the field value is traffic, the billing is based on traffic.

  • If the value is out of the preceding options, the cloud server will fail to be created.

Default value:

N/A

size

Integer

Details:

Bandwidth size, specified in bandwidth.size in the API for assigning an EIP.

Constraints:

None

Options:

N/A

Default value:

N/A

sharetype

String

Details:

Bandwidth sharing type. Dedicated bandwidth is supported only. PER specifies dedicated bandwidth.

Constraints:

None

Options:

N/A

Default value:

N/A

Table 50 NodeNicSpec

Parameter

Type

Description

primaryNic

NicSpec object

Details:

Description of the primary ENI

Constraints:

None

extNics

Array of NicSpec objects

Details:

Extension ENI

Constraints:

This parameter is not supported when you add a node during node pool creation.

Table 51 NicSpec

Parameter

Type

Description

subnetId

String

Details:

Network ID of the subnet to which an ENI belongs. If subnetList is also configured for a node pool, the subnetList field is used for adding subnets to the node pool.

Constraints:

  • If subnetId is not specified when a primary ENI is creating, the cluster subnet will be used.

  • When creating an extended ENI, you must specify subnetId.

Options:

N/A

Default value:

N/A

fixedIps

Array of strings

Details:

The IP address of a primary network interface is specified using fixedIps. The number of IP addresses cannot be greater than the number of created nodes.

Constraints:

  • Either fixedIps or ipBlock can be specified.

  • fixedIps cannot be specified for extended network interfaces.

  • This parameter cannot be configured during node pool creation.

ipBlock

String

Details:

CIDR format of the primary network interface IP address range. The IP address of the created node falls in this range.

Constraints:

  • Either fixedIps or ipBlock can be specified.

  • This parameter cannot be configured during node pool creation.

Options:

N/A

Default value:

N/A

subnetList

Array of strings

Details:

Network ID list of the subnet where the ENI resides. Multiple subnets can be configured for a node pool.

Constraints:

A maximum of 20 subnets can be configured.

Table 52 Taint

Parameter

Type

Description

key

String

Details:

Key

Constraints:

The value must contain 1 to 63 characters starting and ending with a letter or digit. Only letters, digits, hyphens (-), underscores (_), and periods (.) are allowed.

Options:

N/A

Default value:

N/A

value

String

Details:

Value

Constraints:

The value must contain 1 to 63 characters starting and ending with a letter or digit. Only letters, digits, hyphens (-), underscores (_), and periods (.) are allowed.

Options:

N/A

Default value:

N/A

effect

String

Details:

Effect

Constraints:

None

Options:

Available options are NoSchedule, PreferNoSchedule, and NoExecute.

Default value:

N/A

Table 53 UserTag

Parameter

Type

Description

key

String

Details:

Key of the cloud server tag

Constraints:

The value cannot start with CCE-, __type_baremetal, or sys.

Options:

The value contains a maximum of 128 characters. The tag key must be unique and cannot start or end with a space. It cannot contain non-printable ASCII characters (0–31) or the following special characters: =*<>,|/

Default value:

N/A

value

String

Details:

Value of the cloud server tag

Constraints:

None

Options:

The value contains a maximum of 255 characters. The tag value cannot start or end with a space. It cannot contain non-printable ASCII characters (0–31) or the following special characters: =*<>,|

Default value:

N/A

Table 54 Runtime

Parameter

Type

Description

name

String

Details:

Container runtime

Constraints:

None

Options:

N/A

Default value:

  • Clusters earlier than v1.25: The default value is docker.

  • Clusters of v1.25 or later: The default value varies with the OSs.

  • For nodes running EulerOS 2.5, the default value is docker. For nodes running other OSs, the default value is containerd.

Table 55 NodeExtendParam

Parameter

Type

Description

ecs:performancetype

String

Details:

ECS flavor types. This field is returned in the response.

Constraints:

None

Options:

N/A

Default value:

N/A

maxPods

Integer

Details:

Maximum number of pods that can be created on a node, including the default system pods.

This limit prevents the node from being overloaded with pods.

The number of pods that can be created on a node is determined by multiple parameters. For details, see Maximum Number of Pods That Can Be Created on a Node.

Constraints:

None

Options:

16 to 256

Default value:

N/A

DockerLVMConfigOverride

String

Details:

Docker data disk configuration item. (This parameter has been deprecated. Use the storage field instead.) Example of the default configuration:

"DockerLVMConfigOverride":"dockerThinpool=vgpaas/90%VG;kubernetesLV=vgpaas/10%VG;diskType=evs;lvType=linear"

By default, if no VD disk is available, an error occurs because the data disk fails to be found. Specify diskType based on the actual drive letter type.

Constraints:

None

Options:

The following fields are included:

  • userLV: (Optional) size of the user space, for example, vgpaas/20%VG

  • userPath (Optional): mount path of the user space, for example, /home/wqt-test

  • diskType: disk type. Only evs, hdd, and ssd are supported.

  • lvType: type of a logic volume. The value can be linear or striped.

  • dockerThinpool: Docker space size, for example, vgpaas/60%VG

  • kubernetesLV: kubelet space size, for example, vgpaas/20%VG

Default value:

N/A

dockerBaseSize

Integer

Details:

Available disk space of a single container on a node (unit: G). This parameter has been deprecated. Use containerBaseSize.

For details about how to allocate the space for the container runtime, see Space Allocation of a Data Disk.

Constraints:

When Device Mapper is used, it is recommended that dockerBaseSize be set to a value less than or equal to 80 GiB. If the value is too large, the container runtime may fail to be started due to long initialization. If there are special requirements for the container disk space, you can mount an external or local storage device.

  • The dockerBaseSize setting takes effect only on nodes running EulerOS in clusters of the new version.

Options:

10 to 500

Default value:

If the value is not specified or is set to 0, the default value is used.

  • The default value is 10 in Device Mapper mode.

  • In OverlayFS mode, the available space of a single container is not limited by default.

containerBaseSize

Integer

Details:

Available disk space of a single container on a node (unit: G).

For details about how to allocate the space for the container runtime, see Space Allocation of a Data Disk.

Constraints:

When Device Mapper is used, it is recommended that containerBaseSize be set to a value less than or equal to 80 GiB. If the value is too large, the container runtime may fail to be started due to long initialization. If there are special requirements for the container disk space, you can mount an external or local storage device. In new versions, the Device Mapper mode is used only by BMSs in the same resource pool and is being deprecated.

  • The containerBaseSize setting takes effect only on nodes running EulerOS in clusters of the new version (v1.23.14-r0, v1.25.9-r0, v1.27.6-r0, v1.28.4-r0 or later).

  • This parameter cannot be updated when a node pool is being updated.

Options:

10 to 500

Default value:

If the value is not specified or is set to 0, the default value is used.

  • The default value is 10 in Device Mapper mode.

  • In OverlayFS mode, the available space of a single container is not limited by default.

publicKey

String

Details:

Public key of a node

Constraints:

  • This parameter is invalid if you use a key pair to log in to the node.

  • This parameter is not supported in node pool creation and update scenarios.

Options:

N/A

Default value:

N/A

alpha.cce/preInstall

String

Details:

Pre-installation script.

The input value must be encoded using Base64. The method is as follows:

echo -n "*Content to be encoded*" | base64

Constraints:

The characters of both the pre-installation and post-installation scripts are centrally calculated, and the total number of characters after transcoding cannot exceed 10,240.

Options:

N/A

Default value:

N/A

alpha.cce/postInstall

String

Details:

Post-installation script.

The input value must be encoded using Base64. The method is as follows:

echo -n "*Content to be encoded*" | base64

Constraints:

The characters of both the pre-installation and post-installation scripts are centrally calculated, and the total number of characters after transcoding cannot exceed 10,240.

Options:

N/A

Default value:

N/A

alpha.cce/NodeImageID

String

Details:

Private image ID of a node, which can be obtained from the IMS console. This parameter is required when a private image is used to create a BMS node.

Constraints:

None

Options:

N/A

Default value:

N/A

chargingMode

Integer

Details:

Billing mode of a node. This parameter has been deprecated. Use billingMode in NodeSpec instead.

Constraints:

None

Options:

N/A

Default value:

N/A

agency_name

String

Details:

Agency name.

An agency is created by a tenant administrator on Identity and Access Management (IAM) to provide temporary credentials for CCE nodes to access cloud servers.

This parameter is returned only when it is transferred during node creation.

Constraints:

None

Options:

N/A

Default value:

N/A

kubeReservedMem

Integer

Details:

Reserved node memory, which is reserved for Kubernetes components.

Constraints:

None

Options:

N/A

Default value:

N/A

systemReservedMem

Integer

Details:

Reserved node memory, which is reserved for system components.

Constraints:

None

Options:

N/A

Default value:

N/A

init-node-password

String

Details:

Node password. If this parameter is used as a response parameter, asterisks (*) will be displayed.

Constraints:

None

Options:

N/A

Default value:

N/A

Table 56 HostnameConfig

Parameter

Type

Description

type

String

Details:

Configuration type of the Kubernetes node name. The default value is privateIp.

Constraints:

  • The node names, Kubernetes node names, and VM names of the nodes configured with cceNodeName are the same. Node names cannot be changed. Once a VM name is altered on the ECS console, the node name cannot be modified accordingly during ECS synchronization.

  • To prevent conflicts between Kubernetes node names, a suffix is automatically added to the node name of a node configured with cceNodeName. The suffix consists of a hyphen (-) followed by five random lowercase letters and digits (0 to 9).

Options:

  • privateIp: Use the private node IP address the as the Kubernetes node name.

  • cceNodeName: Use the CCE node name as the Kubernetes node name.

Default value:

privateIp

Table 57 nodeNameTemplate

Parameter

Type

Description

nodeNamePrefix

String

Details:

Node name prefix. If this parameter is left empty or set to the default value, no prefix is added to the node name.

Constraints:

Only lowercase letters, digits, hyphens (-), and periods (.) are allowed. The value must start with a lowercase letter.

Options:

N/A

Default value:

N/A

nodeNameSuffix

String

Details:

Node name suffix. If this parameter is left empty or set to the default value, no suffix is added to the node name.

Constraints:

Only lowercase letters, digits, hyphens (-), and periods (.) are allowed. The value must start with a lowercase letter.

Options:

N/A

Default value:

N/A

Table 58 NodePoolNodeAutoscaling

Parameter

Type

Description

enable

Boolean

Details:

Whether to enable auto scaling

Constraints:

None

Options:

  • false: Auto scaling is disabled.

  • true: Auto scaling is enabled.

Default value:

false

minNodeCount

Integer

Details:

Minimum number of nodes that can be scaled in if auto scaling is enabled

Constraints:

None

Options:

Values that are greater than or equal to 0 and cannot be greater than the maximum number of nodes allowed by the cluster specifications

Default value:

0

maxNodeCount

Integer

Details:

Maximum number of nodes that can be added if auto scaling is enabled

Constraints:

None

Options:

Values that are greater than or equal to the value of minNodeCount and cannot be greater than the maximum number of nodes allowed by the cluster specifications

Default value:

0

scaleDownCooldownTime

Integer

Details:

How long nodes will be kept, in minutes. During this period, nodes added will not be deleted.

Constraints:

None

Options:

0 to 2147483646

Default value:

0

priority

Integer

Details:

Weight of a node pool. A node pool with a higher weight has a higher priority during scale-out.

Constraints:

None

Options:

N/A

Default value:

0

scaleDownUnneededTime

Integer

Details:

How long a node should be unneeded before it is eligible for scale in. This parameter specifies the duration during which a node is in the unneeded state before the scale-in operation can be performed.

CCE Cluster Autoscaler scales in the node only when the node is not needed for a specified period.

This prevents frequent scale-in triggered by temporary resource fluctuations and improves system stability. If this parameter is not specified, the CCE Cluster Autoscaler add-on uses the default time threshold.

Constraints:

None

Options:

0 to 2147483647

NOTE:

Note: If the parameter is set to -1, it indicates that the value is empty.

Default value:

This parameter is left empty by default.

scaleDownUtilizationThreshold

Float

Details:

Scale-in utilization threshold of a node, which is defined by the total CPU or memory resources used by all running pods on the node divided by the total available resources of the node. If the calculated value falls below the specified threshold, the node becomes eligible for scale-in. For example, setting this parameter to 0.3 means that if the resource utilization on a node drops below 30%, the node will be scaled in. If this parameter is not specified, the CCE Cluster Autoscaler add-on will use the default utilization threshold.

Constraints:

None

Options:

0 to 1

NOTE:

Note: If the parameter is set to -1, it indicates that the value is empty.

Default value:

This parameter is left empty by default.

Table 59 NodeManagement

Parameter

Type

Description

serverGroupReference

String

Details:

A cloud server group ID. If this parameter is specified, the cloud server group will be associated with the target node pool, and all nodes in the node pool will be created in this cloud server group. After a cloud server group is associated with a node pool, the number of nodes in the node pool cannot exceed the number of cloud servers that can be added to the cloud server group, or the node pool cannot be scaled out.

NOTE:
  • After a cloud server group is associated with a node pool, the cloud servers added to the cloud server group will be distributed in strict accordance with the affinity policy and the maximum number of nodes in the node pool will be limited. The anti-affinity capabilities are available during cloud server creation on ECS. If your goal is to enhance service reliability by distributing cloud servers across different hosts and you do not want the number of nodes to be restricted by cloud server groups, you are advised not to associate cloud server groups with any node pools.

  • A cloud server group can be disassociated from the node pool. After the change, the existing nodes will remain in the original cloud server group, and no new nodes will be added to the cloud server group. If the node pool is empty, you can associate a new cloud server group with the node pool or change the associated cloud server group.

Constraints:

If a cloud server group is specified, the number of nodes in the node pool cannot exceed the group quota.

Options:

  • If this parameter is not specified or left blank, the cloud server group will be disassociated from the node pool.

  • A cloud server group ID: The cloud server group associated with the node pool will be changed to a specified one.

Default value:

N/A

Table 60 SecurityID

Parameter

Type

Description

id

String

Details:

Security group ID

Constraints:

None

Options:

N/A

Default value:

N/A

Table 61 ExtensionScaleGroup

Parameter

Type

Description

metadata

ExtensionScaleGroupMetadata object

Details:

Basic information about an extended scaling group

Constraints:

None

spec

ExtensionScaleGroupSpec object

Details:

Configurations of an extended scaling group, which carry different configurations from those of the default scaling group

Constraints:

None

Table 62 ExtensionScaleGroupMetadata

Parameter

Type

Description

uid

String

Details:

UUID of an extended scaling group, which is automatically generated by the system

Constraints:

None

Options:

N/A

Default value:

N/A

name

String

Details:

Name of an extended scaling group

Constraints:

The value cannot be default.

Options:

Enter 1 to 56 characters starting with a lowercase letter and ending with a lowercase letter or digit. Only digits, lowercase letters, and hyphens (-) are allowed.

Default value:

N/A

Table 63 ExtensionScaleGroupSpec

Parameter

Type

Description

flavor

String

Details:

Node flavors. For details about the node flavors supported by CCE clusters, see Node Specifications.

Constraints:

None

Options:

N/A

Default value:

N/A

az

String

Details:

Node AZ

Constraints:

None

Options:

N/A

Default value:

If this parameter is not specified or left blank, the default scaling group configurations take effect.

capacityReservationSpecification

CapacityReservationSpecification object

Details:

Capacity reservation configurations of an extended scaling group

Constraints:

None

autoscaling

ScaleGroupAutoscaling object

Details:

Auto scaling configurations of an extended scaling group

Constraints:

None

Table 64 CapacityReservationSpecification

Parameter

Type

Description

id

String

Details:

Private pool ID

Constraints:

This value can be ignored when preference is set to none.

Options:

N/A

Default value:

N/A

preference

String

Details:

Private pool capacity

Constraints:

If the value is none, the capacity reservation is not specified. If the value is targeted, the capacity reservation is specified. In this case, the ID cannot be left blank.

Options:

N/A

Default value:

none

Table 65 ScaleGroupAutoscaling

Parameter

Type

Description

enable

Boolean

Details:

Whether to enable auto scaling for a scaling group

Constraints:

None

Options:

  • false: Auto scaling is disabled.

  • true: Auto scaling is enabled.

Default value:

false

extensionPriority

Integer

Details:

Scaling group priority. A larger value indicates a higher priority.

Constraints:

None

Options:

N/A

Default value:

0

minNodeCount

Integer

Details:

Minimum number of nodes that can be kept in a scaling group during auto scaling

Constraints:

None

Options:

Values that are greater than or equal to 0 and cannot be greater than the maximum number of nodes allowed by the cluster specifications

Default value:

0

maxNodeCount

Integer

Details:

Maximum number of nodes that can be kept in a scaling group during auto scaling

Constraints:

None

Options:

Values that are greater than or equal to the value of minNodeCount, less than or equal to the maximum number of nodes allowed by the cluster specifications, and less than or equal to the maximum number of nodes in the node pool

Default value:

0

Table 66 UpdateNodePoolStatus

Parameter

Type

Description

currentNode

Integer

Details:

Total number of nodes in the current node pool (excluding the nodes that are being deleted)

Constraints:

None

Options:

N/A

Default value:

N/A

creatingNode

Integer

Details:

Number of nodes that are being created in the current node pool

Constraints:

None

Options:

N/A

Default value:

N/A

deletingNode

Integer

Details:

Number of nodes that are being deleted in the current node pool

Constraints:

None

Options:

N/A

Default value:

N/A

configurationSyncedNodeCount

Integer

Details:

The number of nodes specified in the node pool configuration has been synchronized in the current node pool.

Constraints:

None

Options:

N/A

Default value:

N/A

phase

String

Details:

Node pool status

Constraints:

None

Options:

  • Null: The node pool is available. (The number of nodes in the current node pool has reached the expected value, and no node scaling is being performed.)

  • Synchronizing: The node pool is being scaled. (The number of nodes in the current node pool has not reached the expected value, and no node scaling is being performed.)

  • Synchronized: The node pool scaling is pending. (The number of nodes in the current node pool has not reached the expected value, and node scaling is being performed.)

  • SoldOut: The node pool cannot be scaled out. (This field is used in multiple scenarios, for example, resources in the node pool have been sold out or the resource quota is insufficient.)

  • Deleting: The node pool is being deleted.

  • Error: An error occurred.

NOTE:

The preceding node pool statuses have been deprecated. They are reserved only for compatibility. Do not use them anymore. Use the following instead:

  • Node pool scaling status: You can obtain the status of the current node pool using parameters such as currentNode, creatingNode, or deletingNode.

  • Node pool scale-out: You can use conditions to obtain the detailed status of a node pool. Scalable can replace SoldOut.

Default value:

N/A

conditions

Array of NodePoolCondition objects

Details:

Details of node pool statuses. For details, see the definition of Condition.

Constraints:

None

scaleGroupStatuses

Array of ScaleGroupStatus objects

Details:

Detailed status of a scaling group. For details, see the definition of ScaleGroupStatus.

Constraints:

None

Table 67 ScaleGroupStatus

Parameter

Type

Description

name

String

Details:

Scaling group name

Constraints:

None

Options:

N/A

Default value:

N/A

uid

String

Details:

Scaling group UUID

Constraints:

None

Options:

N/A

Default value:

N/A

creationTimestamp

String

Details:

The time when a scaling group was created

Constraints:

None

Options:

N/A

Default value:

N/A

updateTimestamp

String

Details:

The time when a scaling group was updated

Constraints:

None

Options:

N/A

Default value:

N/A

phase

String

Details:

Scaling group status

Constraints:

None

Options:

  • Null: The scaling group is available. (The number of nodes in the current scaling group has reached the expected value, and no node scaling is being performed.)

  • Synchronizing: The scaling group is being scaled. (The number of nodes in the current scaling group has not reached the expected value, and no node scaling is being performed.)

  • Synchronized: The scaling is pending. (The number of nodes in the current scaling group has not reached the expected value, or node scaling is being performed.)

  • SoldOut: The scaling group cannot be scaled out. (This field is used in multiple scenarios, for example, resources in the node pool have been sold out or the resource quota is insufficient.)

  • Deleting: The scaling group is being deleted.

  • Error: An error occurred.

NOTE:

The preceding scaling group status has been deprecated. It is reserved only for compatibility. Do not use it anymore. Use the following instead:

  • Scaling status of a scaling group: You can obtain the status of the current scaling group using parameters such as desiredNodeCount, existingNodeCount, or upcomingNodeCount.

  • Scaling group scale-out: You can use conditions to obtain the detailed status of a scaling group. Scalable can replace SoldOut.

Default value:

N/A

desiredNodeCount

Integer

Details:

Expected number of nodes in a scaling group

Constraints:

None

Options:

N/A

Default value:

N/A

unpaidScaleNodeCount

Integer

Details:

Number of nodes in an unpaid order

Constraints:

None

Options:

N/A

Default value:

N/A

existingNodeCount

existingNodeCount object

Details:

Statistics on existing nodes in a scaling group

Constraints:

None

upcomingNodeCount

upcomingNodeCount object

Details:

Statistics on the nodes to be added in a scaling group

Constraints:

None

scaleDownDisabledNodeCount

Integer

Details:

Number of nodes that cannot be deleted in a scaling group

Constraints:

None

Options:

N/A

Default value:

N/A

conditions

Array of NodePoolCondition objects

Details:

Scaling group status details. For details, see the definition of Condition.

Constraints:

None

Table 68 existingNodeCount

Parameter

Type

Description

postPaid

Integer

Details:

Number of pay-per-use nodes

Constraints:

None

Options:

N/A

Default value:

N/A

total

Integer

Details:

Total number of pay-per-use nodes

Constraints:

None

Options:

N/A

Default value:

N/A

Table 69 upcomingNodeCount

Parameter

Type

Description

postPaid

Integer

Details:

Number of pay-per-use nodes

Constraints:

None

Options:

N/A

Default value:

N/A

total

Integer

Details:

Total number of pay-per-use nodes

Constraints:

None

Options:

N/A

Default value:

N/A

Table 70 NodePoolCondition

Parameter

Type

Description

type

String

Details:

Condition type

Constraints:

None

Options:

  • Scalable: whether a node pool can be scaled out. If the status is False, node pool scale-out will not be triggered again.

  • QuotaInsufficient: Quotas on which node pool scale-out depends are insufficient, affecting the node pool scale-out status.

  • ResourceInsufficient: Resources on which node pool scale-out depends are insufficient, affecting the node pool scale-out status.

  • UnexpectedError: The node pool fails to be scaled out due to unexpected reasons, affecting the node pool scale-out status.

  • Error: A node pool error occurred. A common trigger is deletion failure.

Default value:

N/A

status

String

Details:

Status of the condition

Constraints:

None

Options:

  • True

  • False

Default value:

N/A

lastProbeTime

String

Details:

Time when the status was last checked

Constraints:

None

Options:

N/A

Default value:

N/A

lastTransitTime

String

Details:

Time when the status was last changed

Constraints:

None

Options:

N/A

Default value:

N/A

reason

String

Details:

Reason why the status was last changed

Constraints:

None

Options:

N/A

Default value:

N/A

message

String

Details:

Detailed description about the condition

Constraints:

None

Options:

N/A

Default value:

N/A

Example Requests

  • Change the number of nodes in the node pool to 1.

    PUT /api/v3/projects/{project_id}/clusters/{cluster_id}/nodepools/{nodepool_id}
    
    {
      "metadata" : {
        "name" : "lc-it-nodepool-3"
      },
      "spec" : {
        "nodeTemplate" : {
          "k8sTags" : { },
          "taints" : [ {
            "key" : "status",
            "value" : "unavailable",
            "effect" : "NoSchedule"
          } ],
          "userTags" : [ ]
        },
        "autoscaling" : {
          "enable" : false,
          "minNodeCount" : 0,
          "maxNodeCount" : 0,
          "scaleDownCooldownTime" : 0,
          "priority" : 0,
          "scaleDownUnneededTime" : 5,
          "scaleDownUtilizationThreshold" : 0.6
        },
        "initialNodeCount" : 1
      }
    }
  • Modify the key pair.

    PUT /api/v3/projects/{project_id}/clusters/{cluster_id}/nodepools/{nodepool_id}
    
    {
      "metadata" : {
        "name" : "lc-it-nodepool-2"
      },
      "spec" : {
        "nodeTemplate" : {
          "k8sTags" : { },
          "taints" : [ {
            "key" : "status",
            "value" : "unavailable",
            "effect" : "NoSchedule"
          } ],
          "userTags" : [ ],
          "login" : {
            "sshKey" : "KeyPair-IES"
          }
        },
        "autoscaling" : {
          "enable" : false,
          "minNodeCount" : 0,
          "maxNodeCount" : 0,
          "scaleDownCooldownTime" : 0,
          "priority" : 0,
          "scaleDownUnneededTime" : 5,
          "scaleDownUtilizationThreshold" : 0.6
        },
        "initialNodeCount" : 1
      }
    }
  • Modify the cloud server group of a node pool.

    PUT /api/v3/projects/{project_id}/clusters/{cluster_id}/nodepools/{nodepool_id}
    
    {
      "metadata" : {
        "name" : "lc-it-nodepool-3"
      },
      "spec" : {
        "nodeTemplate" : {
          "k8sTags" : { },
          "taints" : [ {
            "key" : "status",
            "value" : "unavailable",
            "effect" : "NoSchedule"
          } ],
          "userTags" : [ ]
        },
        "autoscaling" : { },
        "initialNodeCount" : 1,
        "nodeManagementUpdate" : {
          "serverGroupReference" : "8a611bcf-xxxx-xxxx-xxxx-be4ac7bc9075"
        }
      }
    }

Example Responses

Status code: 200

Information about the specified node pool is successfully updated.

{
  "kind" : "NodePool",
  "apiVersion" : "v3",
  "metadata" : {
    "name" : "lc-it-nodepool-3",
    "uid" : "1deef848-690d-11ea-a11b-0255ac1001b7"
  },
  "spec" : {
    "initialNodeCount" : 1,
    "type" : "vm",
    "nodeTemplate" : {
      "flavor" : "Sit3.xlarge.2",
      "az" : "******",
      "os" : "EulerOS 2.5",
      "login" : {
        "sshKey" : "KeyPair-001"
      },
      "rootVolume" : {
        "volumetype" : "SAS",
        "size" : 40
      },
      "dataVolumes" : [ {
        "volumetype" : "SAS",
        "size" : 100,
        "extendParam" : {
          "useType" : "docker"
        }
      } ],
      "publicIP" : {
        "eip" : {
          "bandwidth" : { }
        }
      },
      "nodeNicSpec" : {
        "primaryNic" : {
          "subnetId" : "7e767d10-7548-4df5-ad72-aeac1d08bd8a"
        }
      },
      "billingMode" : 0,
      "extendParam" : {
        "maxPods" : 110
      },
      "k8sTags" : {
        "cce.cloud.com/cce-nodepool" : "lc-it-nodepool-3"
      }
    },
    "autoscaling" : { },
    "nodeManagement" : {
      "serverGroupReference" : "8a611bcf-xxxx-xxxx-xxxx-be4ac7bc9075"
    }
  },
  "status" : {
    "phase" : ""
  }
}

Status Codes

Status Code

Description

200

Information about the specified node pool is successfully updated.

Error Codes

See Error Codes.