:original_name: cce_02_0354.html .. _cce_02_0354: Creating a Node Pool ==================== Function -------- This API is used to create a node pool in a specified cluster. URI --- POST /api/v3/projects/{project_id}/clusters/{cluster_id}/nodepools :ref:`Table 1 ` describes the parameters of the API. .. _cce_02_0354__table2027961241820: .. table:: **Table 1** Parameter description +------------+-----------+-------------------------------------------------------------------------------------------------------------------------------+ | Parameter | Mandatory | Description | +============+===========+===============================================================================================================================+ | project_id | Yes | Project ID. For details about how to obtain the project ID, see :ref:`How to Obtain Parameters in the API URI `. | +------------+-----------+-------------------------------------------------------------------------------------------------------------------------------+ | cluster_id | Yes | Cluster ID. For details about how to obtain the cluster ID, see :ref:`How to Obtain Parameters in the API URI `. | +------------+-----------+-------------------------------------------------------------------------------------------------------------------------------+ Request ------- **Request parameters**: :ref:`Table 2 ` and :ref:`Table 3 ` describe the request parameters. .. _cce_02_0354__table13796145119241: .. table:: **Table 2** Parameters in the request header +-----------------+-----------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Parameter | Mandatory | String | Description | +=================+=================+=================+===============================================================================================================================================================================================================================================================================+ | Content-Type | Yes | String | Message body type (format). | | | | | | | | | | Default: **application/json** | +-----------------+-----------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | X-Auth-Token | Yes | String | 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 on how to obtain a user token, see :ref:`API Usage Guidelines `. | +-----------------+-----------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. _cce_02_0354__table1644211019: .. table:: **Table 3** NodePool structure +------------+-----------+--------------------------------------------------------+-------------------------------------------+ | Parameter | Mandatory | Type | Description | +============+===========+========================================================+===========================================+ | kind | Yes | String | API type, which is fixed at **NodePool**. | +------------+-----------+--------------------------------------------------------+-------------------------------------------+ | apiVersion | Yes | String | API version, which is fixed at **v3**. | +------------+-----------+--------------------------------------------------------+-------------------------------------------+ | metadata | Yes | :ref:`metadata ` object | Metadata of the node pool. | +------------+-----------+--------------------------------------------------------+-------------------------------------------+ | spec | Yes | :ref:`spec ` object | Parameters of the node pool. | +------------+-----------+--------------------------------------------------------+-------------------------------------------+ .. _cce_02_0354__table13456192212: .. table:: **Table 4** Data structure of the **metadata** field +-----------------+-----------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +=================+=================+=================+==========================================================================================================================================================================================================+ | name | Yes | String | Node pool name. | | | | | | | | | | Naming rule: Enter 1 to 50 characters that starts with a lowercase letter and cannot end with a hyphen (-). Lowercase letters, digits, and hyphens (-) are allowed. The value cannot be **DefaultPool**. | +-----------------+-----------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. _cce_02_0354__table620623542313: .. table:: **Table 5** Data structure of the **spec** field +----------------------+-----------------+---------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +======================+=================+===============================================================+=====================================================================================================================================================================================================================================================================================================================================+ | type | No | String | Node pool type. If this parameter is left blank, the value **vm** is used by default. | | | | | | | | | | - **vm**: ECS | | | | | - **ElasticBMS**: BMS. This value is valid in CCE Turbo cluster. | +----------------------+-----------------+---------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | nodeTemplate | Yes | :ref:`nodeTemplate ` object | Parameters of the node pool template. | | | | | | | | | | If **az** is set to **random**, when you create a node pool or update the number of nodes in a node pool, a scaling task is triggered. The system selects an AZ from all AZs where scaling is allowed to add nodes based on priorities. | | | | | | | | | | AZs with a smaller number of existing nodes have a higher priority. If AZs have the same number of nodes, the system selects the AZ based on the AZ sequence. Example: | | | | | | | | | | - Creating nodes in a node pool for the first time: Assume that AZ 1, AZ 2, and AZ 3 have available resources. These AZs have the same priority because they have no existing nodes. In this case, AZ 1 is selected by sequence to create all nodes to be added. | | | | | - Adding nodes to a node pool that already has nodes: | | | | | | | | | | - Assume that the node pool has 1 node in AZ 1, 3 in AZ 2, and 2 in AZ 3, and that resources in AZ 1 have been sold out. Only AZ 2 and AZ 3 are available for scaling. In this case, AZ 3 has a higher priority than AZ 2 because AZ 3 has less nodes. Therefore, all nodes to be added will be created in AZ 3. | | | | | - Assume that the node pool has 1 node in AZ 1, 2 in AZ 2, and 2 in AZ 3, and that resources in AZ 1 have been sold out. Only AZ 2 and AZ 3 are available for scaling. In this case, AZ 2 and AZ 3 have the same priority because they have the same number of nodes. Therefore, all nodes to be added will be created in AZ 2. | +----------------------+-----------------+---------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | initialNodeCount | Yes | Integer | Expected number of nodes in this node pool. The value cannot be greater than the maximum number of nodes allowed for the cluster. | +----------------------+-----------------+---------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | autoscaling | No | :ref:`autoscaling ` object | Auto scaling parameters. | +----------------------+-----------------+---------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | nodeManagement | No | :ref:`nodeManagement ` object | Node management parameters. | +----------------------+-----------------+---------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | customSecurityGroups | No | Array of strings | Custom security group settings for a node pool. New nodes scaled out in a node pool can be bound to a specified security group. | | | | | | | | | | - Specifying no security group ID will add the new nodes to the default security group of the worker nodes. | | | | | - Specifying a valid security group ID will put new nodes in that security group. | | | | | - When specifying a security group, do not modify the rules of the port on which CCE running depends. | +----------------------+-----------------+---------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. _cce_02_0354__table3150105216225: .. table:: **Table 6** Data structure of the **nodeTemplate** field +-----------------+-----------------+-----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +=================+=================+===================================================================================+====================================================================================================================================================================================================================================================================================+ | flavor | Yes | String | Node specifications. For details, see the description of the **flavorRef** parameter in `Creating an ECS `__. | | | | | | | | | | .. note:: | | | | | | | | | | When adding a BMS node, check whether the flavor of the node to be added supports local disks. If local disks are not supported, add at least one 100 GB EVS disk. | +-----------------+-----------------+-----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | az | Yes | String | AZ of the node. For details, see the description of the **availability_zone** parameter in `Creating an ECS `__. | +-----------------+-----------------+-----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | os | No | String | - Nodes in clusters of Kubernetes v1.11 or earlier support EulerOS 2.2. | | | | | - Nodes in clusters of Kubernetes v1.13 or v1.15 support EulerOS 2.5. | | | | | - Nodes in clusters of Kubernetes v1.17 support EulerOS 2.5 and CentOS 7.7. | | | | | - Nodes in clusters of Kubernetes v1.19, v1.21 or v1.23 support EulerOS 2.5, EulerOS 2.9 and CentOS 7.7. | | | | | - Nodes using **kata** runtime in CCE Turbo cluster support EulerOS 2.9. | | | | | | | | | | .. note:: | | | | | | | | | | If the **alpha.cce/NodeImageID** parameter in **extendParam** is specified during node creation, you do not need to set this field. | +-----------------+-----------------+-----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | login | Yes | :ref:`login ` object | Node login mode, which can be key pair or password. | +-----------------+-----------------+-----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | rootVolume | Yes | :ref:`Volume ` object | System disk parameters of the node. | +-----------------+-----------------+-----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | dataVolumes | Yes | Array of :ref:`Volume ` object | Data disk parameters of the node. | +-----------------+-----------------+-----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | storage | No | :ref:`Storage ` object | Disk initialization management parameter. | | | | | | | | | | This parameter is complex to configure. For details, see :ref:`Attaching Disks to a Node `. | | | | | | | | | | If this parameter retains its default, disks are managed based on the DockerLVMConfigOverride (discarded) parameter in extendParam. This parameter is supported by clusters of version 1.15.11 and later. | | | | | | | | | | .. note:: | | | | | | | | | | If a node specification involves local disks and EVS disks at the same time, do not retain the default value of this parameter to prevent unexpected disk partitions. | +-----------------+-----------------+-----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | publicIP | No | :ref:`publicIP ` object | EIP used by the node to access public networks. | +-----------------+-----------------+-----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | billingMode | No | Integer | Billing mode of a node. | | | | | | | | | | .. note:: | | | | | | | | | | This field is not supported for the current version. | +-----------------+-----------------+-----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | count | Yes | Integer | Number of nodes to be created in a batch. The value must be a positive integer greater than or equal to 1 and less than or equal to the defined limit. This field can be set to **0** for a node pool. | +-----------------+-----------------+-----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | extendParam | No | :ref:`extendParam ` object | Extended parameter. Format: Key-value pair. | +-----------------+-----------------+-----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | userTags | No | Object | Tag of a VM. | | | | | | | | | | The format is key-value pair. The number of key-value pairs cannot exceed 20. | | | | | | | | | | - **Key**: Only letters, digits, hyphens (-), underscores (_), and at signs (@) are supported. | | | | | - **Value**: Only letters, digits, hyphens (-), underscores (_), and at signs (@) are supported. | | | | | | | | | | Example: | | | | | | | | | | .. code-block:: | | | | | | | | | | "userTags": [ | | | | | { | | | | | "key": "tag1", | | | | | "value": "aaaa" | | | | | }, | | | | | { | | | | | "key": "tag2", | | | | | "value": "bbbb" | | | | | } | | | | | ] | +-----------------+-----------------+-----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | k8sTags | No | Object | Tag of a Kubernetes node. | | | | | | | | | | The format is key-value pair. The number of key-value pairs cannot exceed 20. | | | | | | | | | | - **Key**: Enter 1 to 63 characters starting with a letter or digit. Only letters, digits, hyphens (-), underscores (_), and periods (.) are allowed. A DNS subdomain can be prefixed to a key and contain a maximum of 253 characters. Example DNS subdomain: example.com/my-key | | | | | - **Value**: The value can be left blank or a string of 1 to 63 characters starting with a letter or digit. Only letters, digits, hyphens (-), underscores (_), and periods (.) are allowed in the character string. | | | | | | | | | | Example: | | | | | | | | | | .. code-block:: | | | | | | | | | | "k8sTags": { | | | | | "key": "value" | | | | | } | +-----------------+-----------------+-----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | taints | No | Object | You can add taints to created nodes to configure anti-affinity. Each taint contains the following parameters: | | | | | | | | | | - **Key**: A key must contain 1 to 63 characters starting with a letter or digit. Only letters, digits, hyphens (-), underscores (_), and periods (.) are allowed. A DNS subdomain name can be used as the prefix of a key. | | | | | - **Value**: A value must start with a letter or digit and can contain a maximum of 63 characters, including letters, digits, hyphens (-), underscores (_), and periods (.). | | | | | - **Effect**: Available options are **NoSchedule**, **PreferNoSchedule**, and **NoExecute**. | | | | | | | | | | Example: | | | | | | | | | | .. code-block:: | | | | | | | | | | "taints": [{ | | | | | "key": "status", | | | | | "value": "unavailable", | | | | | "effect": "NoSchedule" | | | | | }, { | | | | | "key": "looks", | | | | | "value": "bad", | | | | | "effect": "NoSchedule" | | | | | }] | +-----------------+-----------------+-----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | nodeNicSpec | No | :ref:`nodeNicSpec ` object | Description about the node NIC. | +-----------------+-----------------+-----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | runtime | No | :ref:`Runtime ` object | Container runtime. The default value is **docker**. | +-----------------+-----------------+-----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. _cce_02_0354__table10946114617286: .. table:: **Table 7** Data structure of the **login** field +-----------------+-----------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +=================+=================+=================+==================================================================================================================================+ | sshKey | No | String | Name of the key pair used for node login. For details on how to create a key pair, see :ref:`Creating a Key Pair `. | +-----------------+-----------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------+ | userPassword | No | String | Password used for node login. | | | | | | | | | | .. note:: | | | | | | | | | | This field is not supported for the current version. | +-----------------+-----------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------+ .. _cce_02_0354__table1359314517: .. table:: **Table 8** Data structure of the **Volume** field +-----------------+-----------------+---------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +=================+=================+=====================================================================+==============================================================================================================================================================================================+ | volumetype | No | String | Disk type. For details, see the description of **root_volume** in \ `Creating an ECS `__. | | | | | | | | | | - **SATA**: common I/O disk type. | | | | | - **SAS**: high I/O disk type. | | | | | - **SSD**: ultra-high I/O disk type. | +-----------------+-----------------+---------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | size | No | Integer | Specifies the system disk size, in GB. The value ranges from 40 to 1024. | +-----------------+-----------------+---------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | extendParam | No | Map | Disk extension parameter. For details, see the description of the extendparam parameter in \ `Creating an ECS `__. | +-----------------+-----------------+---------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | hw:passthrough | No | Boolean | - Pay attention to this field if your ECS is SDI-compliant. If the value of this field is **true**, the created disk is of the SCSI type. | | | | | - If the node pool type is **ElasticBMS**, this field must be set to **true**. | +-----------------+-----------------+---------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | metadata | No | :ref:`dataVolumeMetadata ` object | Data disk encryption information. This parameter is mandatory only when the data disk of the node to be created needs to be encrypted. | | | | | | | | | | If data disks are created using a data disk image, this parameter cannot be used. | +-----------------+-----------------+---------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. _cce_02_0354__table15849123210415: .. table:: **Table 9** Data structure of the **dataVolumeMetadata** field +----------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +======================+=================+=================+==================================================================================================================================================================+ | \__system__encrypted | No | String | Whether an EVS disk is encrypted. | | | | | | | | | | - **'0'**: not encrypted | | | | | - **'1'**: encrypted | | | | | | | | | | If this parameter is not specified, EVS disks will not be encrypted by default. | +----------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | \__system__cmkid | Yes | String | CMK ID used for encryption. This parameter is used with **\__system__encrypted**. | | | | | | | | | | .. note:: | | | | | | | | | | You can obtain the ID through HTTPS requests. For details, see `Querying the List of CMKs `__. | +----------------------+-----------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. _cce_02_0354__table139179586343: .. table:: **Table 10** Data structure of the **publicIP** field +-----------------+-----------------+----------------------------------------------------+---------------------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +=================+=================+====================================================+=====================================================================+ | ids | No | Array of strings | List of IDs of the existing EIPs. | | | | | | | | | | .. important:: | | | | | | | | | | NOTICE: | | | | | If **ids** is set, you do not need to set **count** and **eip**. | +-----------------+-----------------+----------------------------------------------------+---------------------------------------------------------------------+ | count | No | Integer | Number of EIPs to be dynamically created. | | | | | | | | | | .. important:: | | | | | | | | | | NOTICE: | | | | | The **count** and **eip** parameters must be set simultaneously. | +-----------------+-----------------+----------------------------------------------------+---------------------------------------------------------------------+ | eip | No | :ref:`eip ` object | EIP. | | | | | | | | | | .. important:: | | | | | | | | | | NOTICE: | | | | | The **count** and **eip** parameters must be set simultaneously. | +-----------------+-----------------+----------------------------------------------------+---------------------------------------------------------------------+ .. _cce_02_0354__table135065714419: .. table:: **Table 11** Data structure of the **eip** field +-----------+-----------+------------------------------------------------------------+----------------------------------+ | Parameter | Mandatory | Type | Description | +===========+===========+============================================================+==================================+ | iptype | Yes | String | Type of the EIP. | +-----------+-----------+------------------------------------------------------------+----------------------------------+ | bandwidth | Yes | :ref:`bandwidth ` object | Bandwidth parameters of the EIP. | +-----------+-----------+------------------------------------------------------------+----------------------------------+ .. _cce_02_0354__table16381121974213: .. table:: **Table 12** Data structure of the **bandwidth** field +-----------------+-----------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +=================+=================+=================+=================================================================================================================================================================================================+ | chargemode | No | String | Bandwidth billing mode. | | | | | | | | | | - If this parameter is not carried, the node is billed by bandwidth. | | | | | - If this parameter is carried but is left blank, the node is billed by bandwidth. | | | | | - If this parameter is set to **traffic**, the node is billed by traffic. | | | | | - If this parameter is set to another value, node creation will fail. | | | | | | | | | | .. note:: | | | | | | | | | | - Billed by bandwidth: The billing will be based on the data transfer rate (in Mbps) of public networks. If your bandwidth usage is higher than 10%, this billing mode is recommended. | | | | | - Billed by traffic: The billing will be based on the total traffic (in GB) transferred on public networks. If your bandwidth usage is lower than 10%, this billing mode is recommended. | +-----------------+-----------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | size | Yes | Integer | Bandwidth size. | +-----------------+-----------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | sharetype | Yes | String | Bandwidth sharing type. | +-----------------+-----------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. _cce_02_0354__table153332427337: .. table:: **Table 13** Data structure of the spec/extendParam field +-------------------------+-----------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +=========================+=================+=================+============================================================================================================================================================================================================================+ | maxPods | No | Integer | Maximum number of pods on the node. | +-------------------------+-----------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | agency_name | No | String | Specifies the IAM agency name. | +-------------------------+-----------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | alpha.cce/preInstall | No | String | Script required before the installation. | | | | | | | | | | .. note:: | | | | | | | | | | The input value must be encoded using Base64. (Command: **echo -n "Content to be encoded" \| base64**) | +-------------------------+-----------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | alpha.cce/postInstall | No | String | Script required after the installation. | | | | | | | | | | .. note:: | | | | | | | | | | The input value must be encoded using Base64. (Command: **echo -n "Content to be encoded" \| base64**) | +-------------------------+-----------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | alpha.cce/NodeImageID | No | String | Mandatory if a custom image is used in creating a bare metal node. | +-------------------------+-----------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | DockerLVMConfigOverride | No | String | Docker data disk configuration item. (This parameter has been discarded. Use the **storage** field instead.)The following is an example configuration: | | | | | | | | | | .. code-block:: | | | | | | | | | | "DockerLVMConfigOverride":"dockerThinpool=vgpaas/90%VG;kubernetesLV=vgpaas/10%VG;diskType=evs;lvType=linear" | | | | | | | | | | In this example: | | | | | | | | | | - **userLV**: size of the user space, for example, **vgpaas/20%VG**. | | | | | - **userPath**: mount path of the user space, for example, **/home/wqt-test**. | | | | | - **diskType**: disk type. Currently, only the **evs**, **hdd**, and **ssd** are supported. | | | | | - **lvType**: type of a logic volume. Currently, 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**. | +-------------------------+-----------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | publicKey | No | String | Public key of the node. Used when creating a key pair. | +-------------------------+-----------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | nicMultiqueue | No | String | ENI queue settings, the default setting is: | | | | | | | | | | .. code-block:: | | | | | | | | | | "[{\"queue\":4}]" | | | | | | | | | | - **queue** indicates the number of ENI queues. | | | | | - Supported proportions are {"1":128, "2":92, "4":92, "8":32, "16":16, "28":9}. That is, there is one queue, a maximum of 128 ENIs can be bound. If there are two queues, a maximum of 92 ENIs can be bound. | | | | | - A larger number of ENI queues indicates higher performance but fewer ENIs can be bound. The queue settings cannot be changed after the node pool is created. | +-------------------------+-----------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | nicThreshold | No | String | ENI pre-binding thresholds, the default setting is: | | | | | | | | | | .. code-block:: | | | | | | | | | | "0.3:0.6" | | | | | | | | | | - The first decimal place indicates the low threshold. Formula: Minimum number of pre-bound ENIs = Min (128 x Low threshold, Maximum number of ENIs that can be bound to the queue) | | | | | - The second decimal place indicates the high threshold. Formula: Maximum number of pre-bound ENIs = Min (128 x High threshold, Maximum number of ENIs that can be bound to the queue) | | | | | - The high and low thresholds of the number of pre-bound ENIs are restricted by the maximum number of ENIs that can be bound to a queue. | | | | | - ENIs bound to a BMS node = Number of ENIs currently used by pods + Number of pre-bound ENIs | | | | | - CCE keeps binding ENIs to a BMS node to ensure that the minimum number of ENIs is always reached. (Min. pre-bound ENIs <= Number of pre-bound ENIs + Number of ENIs currently used by pods) | | | | | - At every 2 minutes, CCE releases ENIs pre-bound to a BMS node to ensure that the maximum number of ENIs will not be exceeded. (Max. pre-bound ENIs >= Number of pre-bound ENIs + Number of ENIs currently used by pods) | | | | | - Both the thresholds are one-decimal-place values ranging from 0.0 to 1.0. The low threshold must be smaller than or equal to the high one. | | | | | - This field can be configured only for BMS nodes in a CCE Turbo cluster. | | | | | - Pre-binding ENIs can speed up workload creation but occupies IP addresses. | +-------------------------+-----------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. _cce_02_0354__table322873620312: .. table:: **Table 14** Data structure of the nodeNicSpec field +------------+-----------+----------------------------------------------------------------+------------------------------------+ | Parameter | Mandatory | Type | Description | +============+===========+================================================================+====================================+ | primaryNic | No | :ref:`primaryNic ` object | Description about the primary NIC. | +------------+-----------+----------------------------------------------------------------+------------------------------------+ | extNics | No | Array of :ref:`extNics ` objects | Extension NIC. | +------------+-----------+----------------------------------------------------------------+------------------------------------+ .. _cce_02_0354__request_nicspec: .. table:: **Table 15** Data structure of the primaryNic/extNics field +-----------+-----------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +===========+===========+==================+===================================================================================================================================================================================================================+ | subnetId | No | String | Network ID of the subnet to which the NIC belongs. | +-----------+-----------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | fixedIps | No | Array of strings | The IP address of the primary NIC is specified by **fixedIps**. The number of IP addresses cannot be greater than the number of created nodes. **fixedIps** and **ipBlock** cannot be specified at the same time. | +-----------+-----------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | ipBlock | No | String | CIDR format of the IP address segment. The IP address of the created node falls in this IP address segment. **fixedIps** and **ipBlock** cannot be specified at the same time. | +-----------+-----------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. _cce_02_0354__table1472543502018: .. table:: **Table 16** Data structure of the **autoscaling** field +-----------------------+-----------+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +=======================+===========+=========+=============================================================================================================================================================================================================================+ | enable | No | Boolean | Whether to enable auto scaling. | +-----------------------+-----------+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | minNodeCount | No | Integer | Minimum number of nodes after a scale-down if auto scaling is enabled. | +-----------------------+-----------+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | maxNodeCount | No | Integer | Maximum number of nodes after a scale-up if auto scaling is enabled. The value of this parameter must be greater than or equal to that of **minNodeCount** and does not exceed the maximum number of nodes for the cluster. | +-----------------------+-----------+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | scaleDownCooldownTime | No | Integer | Interval during which nodes added after a scale-up will not be deleted, in minutes. | +-----------------------+-----------+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | priority | No | Integer | Node pool weight. A higher weight indicates a higher priority in scale-up. | +-----------------------+-----------+---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. _cce_02_0354__table978201612141: .. table:: **Table 17** Data structure of the nodeManagement field +----------------------+-----------+--------+-------------------------------------------------------------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +======================+===========+========+=============================================================================================================+ | serverGroupReference | No | String | ECS group ID. If this parameter is specified, all nodes in the node pool will be created in this ECS group. | +----------------------+-----------+--------+-------------------------------------------------------------------------------------------------------------+ .. _cce_02_0354__table163721555105015: .. table:: **Table 18** Runtime +-----------------+-----------------+-----------------+-----------------------------------------------------+ | Parameter | Mandatory | Type | Description | +=================+=================+=================+=====================================================+ | name | No | String | Container runtime. The default value is **docker**. | | | | | | | | | | Enumeration values: | | | | | | | | | | - docker | | | | | - containerd | +-----------------+-----------------+-----------------+-----------------------------------------------------+ .. _cce_02_0354__en-us_topic_0000001417516392_request_storage: .. table:: **Table 19** Storage +------------------+-----------+---------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +==================+===========+===============================================================================================================+=============================================================================================+ | storageSelectors | Yes | Array of :ref:`StorageSelectors ` objects | Disk selection. Matched disks are managed according to **matchLabels** and **storageType**. | +------------------+-----------+---------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ | storageGroups | Yes | Array of :ref:`StorageGroups ` objects | A storage group consists of multiple storage devices. It is used to divide storage space. | +------------------+-----------+---------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ .. _cce_02_0354__en-us_topic_0000001417516392_request_storageselectors: .. table:: **Table 20** StorageSelectors +-------------+-----------+-------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +=============+===========+===========================================================================================+=====================================================================================================================================================================================================================================================================+ | name | Yes | String | Selector name, used as the index of **selectorNames** in **storageGroup**. Therefore, the name of each selector must be unique. | +-------------+-----------+-------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | storageType | Yes | String | Specifies the storage type. Currently, only **evs** (EVS volumes) and **local** (local volumes) are supported. The local storage does not support disk selection. All local disks will form a VG. Therefore, only one storageSelector of the local type is allowed. | +-------------+-----------+-------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | matchLabels | No | :ref:`matchLabels ` object | Matching field of an EVS volume. The **size**, **volumeType**, **metadataEncrypted**, **metadataCmkid** and **count** fields are supported. | +-------------+-----------+-------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. _cce_02_0354__en-us_topic_0000001417516392_request_matchlabels: .. table:: **Table 21** matchLabels +-------------------+-----------+--------+-----------------------------------------------------------------------------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +===================+===========+========+=============================================================================================================================+ | size | No | String | Matched disk size. If this parameter is left unspecified, the disk size is not limited. Example: 100 | +-------------------+-----------+--------+-----------------------------------------------------------------------------------------------------------------------------+ | volumeType | No | String | EVS disk type. | +-------------------+-----------+--------+-----------------------------------------------------------------------------------------------------------------------------+ | metadataEncrypted | No | String | Disk encryption identifier. **0** indicates that the disk is not encrypted, and **1** indicates that the disk is encrypted. | +-------------------+-----------+--------+-----------------------------------------------------------------------------------------------------------------------------+ | metadataCmkid | No | String | Customer master key ID of an encrypted disk. The value is a 36-byte string. | +-------------------+-----------+--------+-----------------------------------------------------------------------------------------------------------------------------+ | count | No | String | Number of disks to be selected. If this parameter is left blank, all disks of this type are selected. | +-------------------+-----------+--------+-----------------------------------------------------------------------------------------------------------------------------+ .. _cce_02_0354__en-us_topic_0000001417516392_request_storagegroups: .. table:: **Table 22** StorageGroups +---------------+-----------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +===============+===========+=======================================================================================================+===================================================================================================================================================================+ | name | Yes | String | Name of a virtual storage group, which must be unique. | +---------------+-----------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | cceManaged | No | Boolean | Storage space for Kubernetes and runtime components. Only one group can be set to **true**. If this parameter is left blank, the default value **false** is used. | +---------------+-----------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | selectorNames | Yes | Array of strings | This parameter corresponds to **name** in **storageSelectors**. A group can match multiple selectors, but a selector can match only one group. | +---------------+-----------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | virtualSpaces | Yes | Array of :ref:`VirtualSpace ` objects | Detailed management of space configuration in a group. | +---------------+-----------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. _cce_02_0354__en-us_topic_0000001417516392_request_virtualspace: .. table:: **Table 23** VirtualSpace +-----------------+-----------------+-----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +=================+=================+===============================================================================================+=============================================================================================================================+ | name | Yes | String | Name of a virtualSpace. | | | | | | | | | | - **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. | +-----------------+-----------------+-----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+ | size | Yes | String | Size of a virtualSpace. The value must be an integer in percentage. Example: 90%. | | | | | | | | | | .. note:: | | | | | | | | | | The sum of the percentages of all virtualSpaces in a group cannot exceed 100%. | +-----------------+-----------------+-----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+ | lvmConfig | No | :ref:`LVMConfig ` object | LVM configurations, applicable to **kubernetes** and **user** spaces. Note that one virtual space supports only one config. | +-----------------+-----------------+-----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+ | runtimeConfig | No | :ref:`RuntimeConfig ` object | runtime configurations, applicable to the **runtime** space. Note that one virtual space supports only one config. | +-----------------+-----------------+-----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+ .. _cce_02_0354__en-us_topic_0000001417516392_request_lvmconfig: .. table:: **Table 24** LVMConfig +-----------+-----------+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +===========+===========+========+========================================================================================================================================================================================================+ | lvType | Yes | String | 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. | +-----------+-----------+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | path | No | String | Path to which the disk is attached. This parameter takes effect only in user configuration. The value is an absolute path. Digits, letters, periods (.), hyphens (-), and underscores (_) are allowed. | +-----------+-----------+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. _cce_02_0354__en-us_topic_0000001417516392_request_runtimeconfig: .. table:: **Table 25** RuntimeConfig +-----------+-----------+--------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Parameter | Mandatory | Type | Description | +===========+===========+========+=============================================================================================================================================================================+ | lvType | Yes | String | 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. | +-----------+-----------+--------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ **Example Request** CCE cluster: .. code-block:: { "kind": "NodePool", "apiVersion": "v3", "metadata": { "name": "wyr-17-nodepool-53042" }, "spec": { "initialNodeCount": 0, "type": "vm", "autoscaling": { "enable": true, "minNodeCount": 1, "maxNodeCount": 3, "scaleDownCooldownTime": 10, "priority": 1 }, "nodeManagement": { "serverGroupReference": "2129f95a-f233-4cd8-a1b2-9c0acdf918d3" }, "nodeTemplate": { "flavor": "s6.large.2", "az": "eu-de-01", "os": "EulerOS 2.5", "login": { "sshKey": "KeyPair-nodepool" }, "rootVolume": { "volumetype": "SATA", "size": 40 }, "dataVolumes": [ { "volumetype": "SATA", "size": 100, "extendParam": { "useType": "docker" } } ], "billingMode": 0, "extendParam": { "alpha.cce/preInstall": "bHMgLWw=", "alpha.cce/postInstall": "bHMgLWwK", "alpha.cce/NodeImageID": "85bd7ec5-bca4-4f5f-947b-6c1bf02599d3", "maxPods": 110, "DockerLVMConfigOverride": "dockerThinpool=vgpaas/90%VG;kubernetesLV=vgpaas/10%VG;diskType=evs;lvType=linear" }, "k8sTags": { "tag1": "value1", "tag2": "value2" }, "taints": [ { "key": "aaa", "value": "bbb", "effect": "NoSchedule" }, { "key": "ccc", "value": "ddd", "effect": "NoSchedule" } ], "userTags": [ { "key": "resource-tag1", "value": "value1" }, { "key": "resource-tag2", "value": "value2" } ], "nodeNicSpec": { "primaryNic": { "subnetId": "31be174a-0c7f-4b71-bb0d-d325fecb90ef" } } } } } CCE Turbo cluster: .. code-block:: { "kind": "NodePool", "apiVersion": "v3", "metadata": { "name": "turbo-cluster-nodepool1" }, "spec": { "initialNodeCount": 0, "type": "ElasticBMS", "nodeTemplate": { "flavor": "cce.c4.22xlarge.4.physical.129nic", "az": "eu-de-01", "login": { "sshKey":"id_rsa" }, "rootVolume": { "volumetype": "SAS", "size": 40, "hw:passthrough": true}, "dataVolumes": [ { "volumetype": "SAS", "size": 100, "hw:passthrough": true } ], "runtime": { "name":"containerd" }, "extendParam": { "alpha.cce/NodeImageID":"0fea78c3-1b31-4653-8859-ac151ccadcd4" } } } } Response -------- **Response parameters:** :ref:`Table 26 ` describes the response parameters. .. _cce_02_0354__table835415466262: .. table:: **Table 26** Response parameters +------------+------------------------------------------------------------+-----------------------------------------------+ | Parameter | Type | Description | +============+============================================================+===============================================+ | kind | String | API type. The value is fixed to **NodePool**. | +------------+------------------------------------------------------------+-----------------------------------------------+ | apiVersion | String | API version. The value is fixed to **v3**. | +------------+------------------------------------------------------------+-----------------------------------------------+ | metadata | :ref:`metadata ` object | Node pool metadata. | +------------+------------------------------------------------------------+-----------------------------------------------+ | spec | :ref:`spec ` object | Detailed node pool parameters. | +------------+------------------------------------------------------------+-----------------------------------------------+ | status | :ref:`status ` object | Node pool status. | +------------+------------------------------------------------------------+-----------------------------------------------+ .. _cce_02_0354__table173551146152616: .. table:: **Table 27** Data structure of the metadata field ========= ====== ====================== Parameter Type Description ========= ====== ====================== name String Name of the node pool. uid String ID of the node pool. ========= ====== ====================== .. _cce_02_0354__table1735515465260: .. table:: **Table 28** Data structure of the spec field +-----------------------+----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | Parameter | Type | Description | +=======================+================================================================+=================================================================================================================================+ | type | String | Node type. Currently, only VM nodes are supported. | +-----------------------+----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | initialNodeCount | Integer | Initial number of nodes for the node pool. | +-----------------------+----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | nodeTemplate | :ref:`nodeTemplate ` object | Detailed parameters of the node pool template. | +-----------------------+----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | autoscaling | :ref:`autoscaling ` object | Auto scaling parameters. | +-----------------------+----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | nodeManagement | :ref:`nodeManagement ` object | Node management parameters. | +-----------------------+----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | customSecurityGroups | Array of strings | Custom security group settings for a node pool. New nodes scaled out in a node pool can be bound to a specified security group. | | | | | | | | - Specifying no security group ID will add the new nodes to the default security group of the worker nodes. | | | | - Specifying a valid security group ID will put new nodes in that security group. | | | | - When specifying a security group, do not modify the rules of the port on which CCE running depends. | +-----------------------+----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ .. _cce_02_0354__table14356154632610: .. table:: **Table 29** Data structure of the autoscaling field +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Parameter | Type | Description | +=======================+=======================+====================================================================================================================================================================================================================+ | enable | Boolean | Whether to enable auto scaling. | +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | minNodeCount | Integer | Minimum number of nodes allowed if auto scaling is enabled. The value cannot be greater than the maximum number of nodes allowed by the cluster specifications. | | | | | | | | Minimum: **0** | +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | maxNodeCount | Integer | Maximum number of nodes allowed if auto scaling is enabled. This value must be greater than or equal to the value of **minNodeCount** and cannot exceed the maximum number of nodes in the cluster specifications. | | | | | | | | Minimum: **0** | +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | scaleDownCooldownTime | Integer | Interval between two scaling operations, in minutes. During this period, nodes added after a scale-up will not be deleted. | | | | | | | | Minimum: **0** | | | | | | | | Maximum: **2147483647** | +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | priority | Integer | Weight of a node pool. A node pool with a higher weight has a higher priority during scaling. | +-----------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. _cce_02_0354__table1778609171919: .. table:: **Table 30** Data structure of the nodeManagement field +----------------------+--------+-------------------------------------------------------------------------------------------------------------+ | Parameter | Type | Description | +======================+========+=============================================================================================================+ | serverGroupReference | String | ECS group ID. If this parameter is specified, all nodes in the node pool will be created in this ECS group. | +----------------------+--------+-------------------------------------------------------------------------------------------------------------+ .. _cce_02_0354__table19851129411: .. table:: **Table 31** Data structure of the status field +-----------------------+-----------------------+---------------------------------------------------------------+ | Parameter | Type | Description | +=======================+=======================+===============================================================+ | currentNode | Integer | Number of nodes in the node pool. | +-----------------------+-----------------------+---------------------------------------------------------------+ | deletingNode | Integer | Number of nodes being deleted in the node pool. | +-----------------------+-----------------------+---------------------------------------------------------------+ | creatingNode | Integer | Number of nodes being created in the node pool. | +-----------------------+-----------------------+---------------------------------------------------------------+ | phase | String | Node pool status. | | | | | | | | - **Synchronizing**: The node is being synchronized. | | | | - **Synchronized**: The node has been synchronized. | | | | - **SoldOut**: Nodes have been sold out. | | | | - **Deleting**: The node is being deleted. | | | | - **Error**: An error occurred when the node is being added. | | | | | | | | Enumeration values: | | | | | | | | - **Synchronizing** | | | | - **Synchronized** | | | | - **SoldOut** | | | | - **Deleting** | | | | - **Error** | | | | | | | | .. note:: | | | | | | | | If the status is blank, the status is normal. | +-----------------------+-----------------------+---------------------------------------------------------------+ | jobId | String | ID of the job to delete the node pool. | +-----------------------+-----------------------+---------------------------------------------------------------+ **Example response:** CCE cluster: .. code-block:: { "kind": "NodePool", "apiVersion": "v3", "metadata": { "name": "wyr-17-nodepool-53042", "uid": "feec6013-cd7e-11ea-8c7a-0255ac100be7" }, "spec": { "initialNodeCount": 0, "type": "vm", "nodeTemplate": { "flavor": "s6.large.2", "az": "eu-de-01", "os": "EulerOS 2.5", "login": { "sshKey": "KeyPair-nodepool", "userPassword": {} }, "rootVolume": { "volumetype": "SATA", "size": 40 }, "dataVolumes": [ { "volumetype": "SATA", "size": 100, "extendParam": { "useType": "docker" } } ], "storage": { "storageSelectors": [ { "name": "cceUse", "storageType": "evs", "matchLabels": { "size": "100", "volumeType": "SAS", "count": "1" } } ], "storageGroups": [ { "name": "vgpaas", "selectorNames": [ "cceUse" ], "cceManaged": true, "virtualSpaces": [ { "name": "runtime", "size": "90%" }, { "name": "kubernetes", "size": "10%" } ] } ] }, "runtime": { "name":"docker" }, "publicIP": { "eip": { "bandwidth": {} } }, "nodeNicSpec": { "primaryNic": { "subnetId": "31be174a-0c7f-4b71-bb0d-d325fecb90ef" } }, "billingMode": 0, "taints": [ { "key": "aaa", "value": "bbb", "effect": "NoSchedule" }, { "key": "ccc", "value": "ddd", "effect": "NoSchedule" } ], "k8sTags": { "cce.cloud.com/cce-nodepool": "wyr-17-nodepool-53042", "tag1": "value1", "tag2": "value2" }, "userTags": [ { "key": "resource-tag1", "value": "value1" }, { "key": "resource-tag2", "value": "value2" } ], "extendParam": { "DockerLVMConfigOverride": "dockerThinpool=vgpaas/90%VG;kubernetesLV=vgpaas/10%VG;diskType=evs;lvType=linear", "alpha.cce/NodeImageID": "85bd7ec5-bca4-4f5f-947b-6c1bf02599d3", "alpha.cce/postInstall": "bHMgLWwK", "alpha.cce/preInstall": "bHMgLWw=", "maxPods": 110, "publicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQA***d-by-Nova\n" } }, "autoscaling": { "enable": true, "minNodeCount": 1, "maxNodeCount": 3, "scaleDownCooldownTime": 10, "priority": 1 }, "nodeManagement": { "serverGroupReference": "2129f95a-f233-4cd8-a1b2-9c0acdf918d3" } }, "status": { "currentNode": 0, "deletingNode": 0, "creatingNode": 0, "phase": "" } } CCE Turbo cluster: .. code-block:: { "kind": "NodePool", "apiVersion": "v3", "metadata": { "name": "turbo-cluster-nodepool1", "uid": "99addaa2-69eb-11ea-a592-0255ac1001bb" }, "spec": { "initialNodeCount": 0, "type": "ElasticBMS", "nodeTemplate": { "flavor": "cce.c4.22xlarge.4.physical.129nic", "az": "eu-de-01", "os": "EulerOS 2.9", "login": { "sshKey":"id_rsa" }, "rootVolume": { "volumetype": "SAS", "size": 40, "hw:passthrough": true}, "dataVolumes": [ { "volumetype": "SAS", "size": 100, "hw:passthrough": true } ], "storage": { "storageSelectors": [ { "name": "cceUse", "storageType": "evs", "matchLabels": { "size": "100", "volumeType": "SAS", "count": "1" } } ], "storageGroups": [ { "name": "vgpaas", "selectorNames": [ "cceUse" ], "cceManaged": true, "virtualSpaces": [ { "name": "runtime", "size": "90%" }, { "name": "kubernetes", "size": "10%" } ] } ] }, "runtime": { "name":"containerd" }, "extendParam": { "alpha.cce/NodeImageID":"0fea78c3-1b31-4653-8859-ac151ccadcd4" } } }, "status": { "phase": "" } } Status Code ----------- :ref:`Table 32 ` describes the status code of this API. .. _cce_02_0354__zh-cn_topic_0079614900_table46761928: .. table:: **Table 32** Status code +-------------+-------------------------------------------------------------------------------+ | Status Code | Description | +=============+===============================================================================+ | 201 | The job for creating a node in a specified cluster is successfully delivered. | +-------------+-------------------------------------------------------------------------------+ For the description about error status codes, see :ref:`Status Code `.