Updated on 2025-12-30 GMT+08:00

Scaling a Node Pool

Function

This API is used to scale in or out a node pool.

The URL for cluster management is in the format of https://Endpoint/uri, where uri specifies the resource path for API access.

URI

POST /api/v3/projects/{project_id}/clusters/{cluster_id}/nodepools/{nodepool_id}/operation/scale

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

kind

Yes

String

Details:

API type

Constraints:

None

Options:

The value is fixed at NodePool.

Default value:

N/A

apiVersion

Yes

String

Details:

API version

Constraints:

None

Options:

The value is fixed at v3.

Default value:

N/A

spec

Yes

ScaleNodePoolSpec object

Details:

Parameters in the request for scaling a node pool

Constraints:

None

Table 4 ScaleNodePoolSpec

Parameter

Mandatory

Type

Description

desiredNodeCount

Yes

Integer

Definition

Desired total number of nodes in the node pool. During scale-out, it is the number of existing nodes plus the number of nodes to be added. During scale-in, it is the number of existing nodes minus the number of nodes to be removed.

Constraints

This parameter is mandatory. If it is omitted, the default value 0 is used. This will result in the deletion of all nodes in the node pool scaling group.

Range

0 or a positive integer

Default Value

0

scaleGroups

Yes

Array of strings

Definition

Name of the scaling group in a node pool to be scaled[, which is obtained by calling the API for obtaining a specified node pool]. You can select multiple scaling groups for scale-out. The system allocates the number of nodes to be added among the selected scaling groups randomly or as evenly as possible. For scale-in, only one scaling group can be specified.

Constraints

To use the default scaling group, set the parameter to default.

Range

N/A

Default Value

N/A

options

No

ScaleNodePoolOptions object

Details:

Configurations of node pool scaling options

Constraints:

None

Table 5 ScaleNodePoolOptions

Parameter

Mandatory

Type

Description

scalableChecking

No

String

Details:

Policy for checking the scale-out

Constraints:

None

Options:

  • instant: When a scale-out request is delivered, the system synchronously checks whether the underlying resources are sold out.

  • async: When a scale-out request is delivered, the system asynchronously checks whether the underlying resources are sold out.

Default value:

instant

scalePolicy

No

String

Definition:

Scale-out policy. This parameter can be left empty and is only valid when multiple scaleGroups values are transferred.

Constraints:

N/A

Options:

  • AZBalance: The system attempts to balance the number of nodes in each AZ during node pool scale-out. The flavor of each node is randomly specified in the selected scaling group. This policy simplifies configuration and reduces individual faults. It is suitable if there are no special requirements regarding node costs and AZs. Note: If resources in an AZ are insufficient, the nodes that should be added in this AZ will be added in other AZs, which may cause uneven node distribution among AZs. If this issue occurs, you can add nodes in this AZ again when resources in the AZ are sufficient.

  • Random: The system randomly selects a scaling group from the scaleGroups list for scale-out.

Default value:

Random

Response Parameters

Status code: 202

Table 6 Response body parameters

Parameter

Type

Description

-

String

-

Example Requests

  • Scale out nodes in the default scaling group of a node pool (pay-per-use).

    {
      "kind" : "NodePool",
      "apiVersion" : "v3",
      "spec" : {
        "desiredNodeCount" : 1,
        "scaleGroups" : [ "default" ]
      }
    }

Example Responses

Status code: 202

The node pool scaling is accepted. Nodes in the node pool will be added or deleted based on the expected number of nodes in the node pool after scaling.

{
  "orderID" : "CS2504231542LJVS6"
}

Status Codes

Status Code

Description

202

The node pool scaling is accepted. Nodes in the node pool will be added or deleted based on the expected number of nodes in the node pool after scaling.

Error Codes

See Error Codes.