更新时间:2026-01-12 GMT+08:00

指定节点类型缩容

功能介绍

该接口用于集群对不同类型实例的个数以及存储容量进行缩容。

在缩容前,建议备份所有关键数据,以免造成数据丢失。

调用方法

请参见如何调用API

URI

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

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释

项目ID。获取方法请参见获取项目ID和名称

约束限制

不涉及

取值范围

账户的项目ID。

默认取值

不涉及

cluster_id

String

参数解释

指定缩容的集群ID。获取方法请参见获取集群ID

约束限制

不涉及

取值范围

集群ID。

默认取值

不涉及

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

shrink

Array of ShrinkNodeReq objects

参数解释

需要缩容的节点类型和数量集合。

agency_name

String

参数解释

委托名称,委托给CSS服务,允许CSS调用您的其他云服务。

约束限制

委托需要有VPC的操作权限:"vpc:subnets:get","vpc:ports:*"。

对接了IAM新平面时该参数必填,对接IAM旧平面时该参数可选。

取值范围

不涉及

默认取值

不涉及

operation_type

String

参数解释

操作类型。

约束限制

不涉及

取值范围

  • vm: 缩容节点。

默认取值

vm

cluster_load_check

Boolean

参数解释

是否需要检查集群负载。

约束限制

不涉及

取值范围

  • true: 开启集群负载校验。

  • false: 忽略集群负载校验。

默认取值

true

表3 ShrinkNodeReq

参数

是否必选

参数类型

描述

reducedNodeNum

Integer

参数解释

需要缩容的节点数量。

约束限制

  • 对节点缩容后,请确保每个节点类型在每个可用区中的数量至少为1。

  • 关于跨可用区的集群,在不同可用区中同类型节点个数的差值要小于等于1。

  • 关于没有Master节点的集群,每次缩容的数据节点个数(包含冷数据节点和其他类型节点)要小于当前数据节点总数的一半,缩容后的数据节点个数要大于索引的最大副本个数。

  • 关于有Master节点的集群,每次缩容的Master节点个数要小于当前Master节点总数的一半,缩容后的Master节点个数必须是奇数且不小于3。

取值范围

见约束限制。

默认取值

不涉及

type

String

参数解释

指定节点类型。

约束限制

不涉及

取值范围

  • ess:数据节点。

  • ess-cold:冷数据节点。

  • ess-client:Client节点。

  • ess-master:Master节点。

默认取值

不涉及

响应参数

状态码:200

请求已成功。

请求示例

通过指定当前节点类型、缩容节点数量,进行集群缩容。

POST https://{Endpoint}/v1.0/extend/{project_id}/clusters/4f3deec3-efa8-4598-bf91-560aad1377a3/role/shrink

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

响应示例

状态码

状态码

描述

200

请求已成功。

400

非法请求。

建议直接修改该请求,不要重试该请求。

409

服务器在完成请求时发生冲突。

返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。

412

未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。

错误码

请参见错误码