创建集群V2
功能介绍
该接口用于创建拥有多种不同节点类型(ess,ess-cold,ess-client,ess-master)组合的集群。
调用方法
请参见如何调用API。
URI
POST /v2.0/{project_id}/clusters
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID。获取方法请参见获取项目ID和名称。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
cluster |
是 |
CreateClusterBody object |
集群对象。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
集群名称。4~32个字符,只能包含数字、字母、中划线和下划线,且必须以字母开头。 |
backupStrategy |
否 |
开启自动创建快照策略。 当backupStrategy参数配置不为空时,才会开启自动创建快照策略。 |
|
roles |
是 |
Array of CreateClusterRolesBody objects |
集群信息。 |
nics |
是 |
子网信息。 |
|
enterprise_project_id |
否 |
String |
企业项目ID。创建集群时,给集群绑定企业项目ID。最大长度36个字符,带"-"连字符的UUID格式,或者是字符串"0"。"0"表示默认企业项目。 |
tags |
否 |
Array of CreateClusterTagsBody objects |
集群标签。 |
availability_zone |
是 |
String |
可用区。需要指定可用区的名称(可用分区名称)。 默认指定单AZ。指定多AZ时,各个可用分区名称需要使用英文逗号(,)分隔,以“华北-北京四”为例,选择三AZ时,availability_zone取值为cn-north-4a,cn-north-4b,cn-north-4c。如果使用单AZ,availability_zone默认取值为空。
说明:
说明 - 选择多AZ时,各个可用分区名称不能重复输入,并且要求节点个数大于等于AZ个数。 - 如果节点个数为AZ个数的倍数,节点将会均匀的分布到各个AZ。 - 如果节点个数不为AZ个数的倍数时,各个AZ分布的节点数量之差的绝对值小于等于1。 - 可用分区名称,请在地区和终端节点获取。 |
datastore |
是 |
CreateClusterDatastoreBody object |
引擎类型,支持elasticsearch、opensearch和logstash。 |
authorityEnable |
否 |
Boolean |
是否开启认证,取值范围为true或false。默认关闭认证功能。
说明:
此参数只有6.5.4及之后版本支持。 |
httpsEnable |
否 |
Boolean |
设置是否进行通信加密。取值范围为true或false。默认关闭通信加密功能。当httpsEnable设置为true时,authorityEnable字段需要设置为true。- true:表示集群进行通信加密。- false:表示集群不进行通信加密。>此参数只有6.5.4及之后版本支持。 |
adminPwd |
否 |
String |
安全模式下集群管理员admin的密码,只有在创建集群时authorityEnable设置为true时需要设置此参数。
|
publicIPReq |
否 |
CreateClusterPublicIpReq object |
公网访问信息。只有在httpsEnable设置为true时该参数配置生效。 |
loadBalance |
否 |
CreateClusterLoadBalance object |
终端节点服务信息。 |
publicKibanaReq |
否 |
CreateClusterPublicKibanaReq object |
Kibana公网访问信息。只有在authorityEnable设置为true时该参数配置生效。 |
payInfo |
否 |
PayInfoBody object |
包周期集群相关参数订购包周期集群时使用。 |
ipv6_enable |
否 |
Boolean |
集群是否开启自动分配IPv6地址,默认值为false。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
period |
是 |
String |
每天创建快照的时刻,只支持整点,后面需加上时区,格式为“HH:mm z”,“HH:mm”表示整点时间,“z”表示时区。 比如“00:00 GMT+08:00”、“01:00 GMT+08:00”等。
说明:
默认值“00:00 GMT+08:00”,当frequency取值HOUR时,无需指定period值,默认从设置成功的下一整点创建。 |
frequency |
否 |
String |
自动创建快照的执行频次。
说明:
默认值DAY,取值HOUR时,表示每小时整点执行一次;取值DAY时,表示每天执行一次;取值SUN、MON、TUE、WED、THU、FRI、SAT时,表示在每周对应时间执行一次。比如SUN表示每周日执行一次。保留快照个数与自动创建快照策略中设置的执行频次和索引有关。当执行频次间隔时间短或索引数据量大,保留自动快照可能会达不到设置的个数,请谨慎选择! |
prefix |
是 |
String |
自动创建的快照的前缀,需要用户自己手动输入。只能包含1~32位小写字母、数字、中划线或者下划线,并且以小写字母开头。 |
keepday |
是 |
Integer |
自定义设置快照保留的个数,范围是1~90。系统在半点时刻会自动删除超过保留个数的快照。过期删除策略只针对与当前自动创建快照策略相同执行频次的自动快照。 |
bucket |
否 |
String |
备份使用的OBS桶名称。 |
basePath |
否 |
String |
快照在OBS桶中的存放路径。 |
agency |
否 |
String |
委托名称,委托给CSS,允许CSS调用您的其他云服务。
说明:
如果bucket、basePath和agency三个参数同时为空,则系统会自动创建OBS桶和IAM代理(若创建失败,则需要手工配置正确的参数)。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
flavorRef |
是 |
String |
实例规格名称。可以使用获取实例规格列表的name属性确认当前拥有的规格信息。 |
volume |
是 |
volume信息。当flavorRef选择的是本地盘规格时不需要填写,本地盘规格可以通过获取实例规格列表中diskrange属性获得。目前支持的本地盘规格有:
|
|
type |
是 |
String |
|
instanceNum |
是 |
Integer |
实例个数。
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
volume_type |
是 |
String |
卷类型。
|
size |
是 |
Integer |
卷大小,必须为大于0且为4和10的公倍数,磁盘规格大小可以通过获取实例规格列表中diskrange属性获得。 单位:GB。
说明:
ess-master节点和ess-client节点默认大小为40G,且不可更改。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
vpcId |
是 |
String |
指定虚拟私有云ID,用于集群网络配置。 |
netId |
是 |
String |
子网ID(网络ID)。 |
securityGroupId |
是 |
String |
安全组ID。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
key |
是 |
String |
集群标签的key值。可输入的字符串长度为1~36个字符。只能包含数字、字母、中划线"-"和下划线"_"。 |
value |
是 |
String |
集群标签的value值。可输入的字符串长度为0~43个字符。只能包含数字、字母、中划线"-"和下划线"_"。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
version |
是 |
String |
CSS集群引擎版本号。详细请参考CSS使用前必读中支持的版本。 |
type |
是 |
String |
引擎类型,支持elasticsearch、opensearch和logstash。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
eip |
是 |
CreateClusterPublicEip object |
公网带宽信息。 |
elbWhiteListReq |
是 |
CreateClusterElbWhiteList object |
弹性IP白名单。 |
publicBindType |
是 |
String |
是否自动绑定弹性公网IP。当前仅支持auto_assign为自动分配参数。 |
eipId |
否 |
String |
弹性公网IP的ID。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
enableWhiteList |
是 |
Boolean |
是否开启公网访问控制。 |
whiteList |
否 |
String |
公网访问控制白名单。需要添加白名单的网段或ip,以逗号隔开,不可重复。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
endpointWithDnsName |
是 |
Boolean |
是否开启内网域名。
|
vpcPermissions |
否 |
Array of strings |
访问控制。 |
professionVpcep |
否 |
Boolean |
创建专业型终端节点。
|
dualstackEnable |
否 |
Boolean |
是否开启IPv4/IPv6双栈网络,仅支持在创建专业型终端节点时开启双栈网络,且集群的VPC子网支持IPv6。
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
eipSize |
是 |
Integer |
带宽大小。 |
elbWhiteList |
是 |
kibana白名单信息。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
whiteList |
是 |
String |
白名单。需要添加白名单的网段或ip,以逗号隔开,不可重复。 |
enableWhiteList |
是 |
Boolean |
是否开启kibana访问控制。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
payModel |
是 |
Integer |
订购周期类型。
|
period |
是 |
Integer |
订购周期数。
|
isAutoRenew |
否 |
Integer |
是否自动续订,为空时表示不自动续订。
|
isAutoPay |
否 |
Integer |
是否自动支付。下单订购后,是否自动从客户的华为云账户中支付,而不需要客户手动去进行支付。该参数适用于包周期集群。
|
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
cluster |
CreateClusterResp object |
集群对象。若创建的是按需集群,则只返回cluster参数。 |
orderId |
String |
订单号。只有创建包周期集群时才会返回orderld参数。 |
请求示例
-
创建包周期集群请求示例。
POST /v2.0/6204a5bd270343b5885144cf9c8c158d/clusters { "cluster" : { "name" : "css-cluster", "backupStrategy" : { "period" : "16:00 GMT+08:00", "prefix" : "snapshot", "keepday" : 7, "frequency" : "DAY", "bucket" : "OBS-obsName", "basePath" : "css_repository/obs-path", "agency" : "css_obs_agency" }, "roles" : [ { "flavorRef" : "ess.spec-4u8g", "volume" : { "volume_type" : "COMMON", "size" : 100 }, "type" : "ess", "instanceNum" : 1 } ], "nics" : { "vpcId" : "{VPC ID}", "netId" : "{NET ID}", "securityGroupId" : "{Security group ID}" }, "enterprise_project_id" : 0, "tags" : [ { "key" : "k1", "value" : "v1" }, { "key" : "k2", "value" : "v2" } ], "availability_zone" : "{Az code}", "datastore" : { "version" : "{cluster-version}", "type" : "elasticsearch" }, "authorityEnable" : true, "httpsEnable" : true, "adminPwd" : "{password}", "publicIPReq" : { "eip" : { "bandWidth" : { "size" : 5 } }, "elbWhiteListReq" : { "enableWhiteList" : true, "whiteList" : "127.0.0.1" }, "publicBindType" : "auto_assign", "eipId" : null }, "loadBalance" : { "endpointWithDnsName" : false, "vpcPermissions" : [ "{Account ID}" ] }, "publicKibanaReq" : { "eipSize" : 5, "elbWhiteList" : { "whiteList" : "127.0.0.1", "enableWhiteList" : true } }, "payInfo" : { "payModel" : 2, "period" : 1, "isAutoRenew" : 1, "isAutoPay" : null } } }
-
创建按需集群请求示例。
{ "cluster" : { "name" : "css-cluster", "backupStrategy" : { "period" : "16:00 GMT+08:00", "prefix" : "snapshot", "keepday" : 7, "frequency" : "DAY", "bucket" : "OBS-obsName", "basePath" : "css_repository/obs-path", "agency" : "css_obs_agency" }, "roles" : [ { "flavorRef" : "ess.spec-4u8g", "volume" : { "volume_type" : "COMMON", "size" : 100 }, "type" : "ess", "instanceNum" : 1 } ], "nics" : { "vpcId" : "{VPC ID}", "netId" : "{NET ID}", "securityGroupId" : "{Security group ID}" }, "enterprise_project_id" : 0, "tags" : [ { "key" : "k1", "value" : "v1" }, { "key" : "k2", "value" : "v2" } ], "availability_zone" : "{Az code}", "datastore" : { "version" : "{cluster-version}", "type" : "elasticsearch" }, "authorityEnable" : true, "httpsEnable" : true, "adminPwd" : "{password}", "publicIPReq" : { "eip" : { "bandWidth" : { "size" : 5 } }, "elbWhiteListReq" : { "enableWhiteList" : true, "whiteList" : "127.0.0.1" }, "publicBindType" : "auto_assign", "eipId" : null }, "loadBalance" : { "endpointWithDnsName" : false, "vpcPermissions" : [ "{Account ID}" ] }, "publicKibanaReq" : { "eipSize" : 5, "elbWhiteList" : { "whiteList" : "127.0.0.1", "enableWhiteList" : true } } } }
响应示例
状态码: 200
请求已成功
-
创建按需期集群响应示例。
{ "cluster" : { "id" : "ef683016-871e-48bc-bf93-74a29d60d214", "name" : "ES-Test" } }
-
创建包周期集群响应示例。
{ "orderId" : "CS2208241141LY94J", "cluster" : { "id" : "ef683016-871e-48bc-bf93-74a29d60d214", "name" : "ES-Test" } }
状态码
状态码 |
描述 |
---|---|
200 |
请求已成功 |
400 |
非法请求。 建议直接修改该请求,不要重试该请求。 |
409 |
服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 |
412 |
未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 |
错误码
请参见错误码。