Updated on 2024-12-02 GMT+08:00

Scaling In Nodes of a Specific Type

Function

This API is used to remove instances of different types and reduce instance storage capacity in a cluster.

URI

POST /v1.0/extend/{project_id}/clusters/{cluster_id}/role/shrink

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. For details about how to obtain the project ID and name, see Obtaining the Project ID and Name.

cluster_id

Yes

String

ID of the cluster you want to scale in.

Request Parameters

Table 2 Request body parameters

Parameter

Mandatory

Type

Description

shrink

Yes

Array of ShrinkNodeReq objects

Type and quantity of nodes you want to remove from a cluster.

Table 3 ShrinkNodeReq

Parameter

Mandatory

Type

Description

reducedNodeNum

Yes

Integer

Number of nodes you want to remove from a cluster.

  • After the scale-in, there has to be at least one node in each AZ under each node type.

  • In a cross-AZ cluster, the difference between the numbers of the same type nodes in different AZs cannot exceed 1.

  • For a cluster without master nodes, the number of removed data nodes (including cold data nodes and other types of nodes) in a scale-in must be fewer than half of the original data node number, and the number of remaining data nodes after a scale-in must be greater than the maximum number of index replicas.

For a cluster with master nodes, the number of removed master nodes in a scale-in must be fewer than half of the original master node number. After scale-in, there has to be an odd number of master nodes, and there has to be at least three of them.

type

Yes

String

Node type.

  • ess: data node

  • ess-cold: cold data node

  • ess-client: client node

  • ess-master: master node

Response Parameters

None

Example Requests

Scale in a cluster by scaling in specified type of nodes.

POST /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters/4f3deec3-efa8-4598-bf91-560aad1377a3/role/shrink

{
  "shrink" : [ {
    "type" : "ess",
    "reducedNodeNum" : 1
  } ]
}

Example Responses

None

Status Codes

Status Code

Description

200

Request succeeded.

400

Invalid request.

Modify the request before retry.

409

The request could not be completed due to a conflict with the current state of the resource.

The resource that the client attempts to create already exists, or the update request fails to be processed because of a conflict.

412

The server did not meet one of the preconditions contained in the request.

Error Codes

See Error Codes.