更新时间:2023-06-20 GMT+08:00

创建集群

功能介绍

该接口用于创建集群。

URI

POST /v1.0/{project_id}/clusters

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

cluster

CreateClusterBody object

集群对象。

表3 CreateClusterBody

参数

是否必选

参数类型

描述

instance

CreateClusterInstanceBody object

实例对象。

datastore

CreateClusterDatastoreBody object

数据搜索引擎类型。

name

String

集群名称。4~32个字符,只能包含数字、字母、中划线和下划线,且必须以字母开头。

instanceNum

Integer

集群实例个数,取值范围为1~32。

backupStrategy

CreateClusterBackupStrategyBody object

开启自动创建快照策略,默认关闭。

当backupStrategy参数配置不为空时,才会开启自动创建快照策略。

httpsEnable

Boolean

设置是否进行通信加密。取值范围为true或false。默认关闭通信加密功能。当httpsEnable设置为true时,authorityEnable字段需要设置为true。

  • true:表示集群进行通信加密。
  • false:表示集群不进行通信加密。
说明:

此参数只有6.5.4及之后版本支持。

authorityEnable

Boolean

是否开启认证,取值范围为true或false。默认关闭认证功能。

  • true:表示集群开启认证。
  • false:表示集群不开启认证。
说明:

此参数只有6.5.4及之后版本支持。

adminPwd

String

安全模式下集群管理员admin的密码,只有在创建集群时authorityEnable设置为true时需要设置此参数。

  • 管理员密码需要满足规则:
    • 可输入的字符串长度为8-32个字符。
    • 密码至少包含大写字母,小写字母,数字和特殊字符中的三类,其中可输入的特殊字符为:~!@#$%^&*()-_=+\|[{}];:,<.>/?。
  • 安全集群的密码会进行弱密码校验,建议设置安全性高的密码。

enterprise_project_id

String

企业项目ID。创建集群时,给集群绑定企业项目ID。最大长度36个字符,带"-"连字符的UUID格式,或者是字符串"0"。"0"表示默认企业项目。

tags

Array of CreateClusterTagsBody objects

集群标签。

表4 CreateClusterInstanceBody

参数

是否必选

参数类型

描述

flavorRef

String

实例规格名称。可以使用获取实例规格列表的name属性确认当前拥有的规格信息。

volume

CreateClusterInstanceVolumeBody object

volume信息。当flavorRef选择的是本地盘规格时不需要填写,目前支持的本地盘规格有:

  • ess.spec-i3small
  • ess.spec-i3medium
  • ess.spec-i3.8xlarge.8
  • ess.spec-ds.xlarge.8
  • ess.spec-ds.2xlarge.8
  • ess.spec-ds.4xlarge.8

nics

CreateClusterInstanceNicsBody object

子网信息。

availability_zone

String

可用区。不填时默认创建单AZ。

如果需要创建多AZ,各个AZ之间使用英文逗号分隔,比如az1,az2 ,az不能重复输入,并且要求节点个数大于等于AZ个数。

如果节点个数为AZ个数的倍数,节点将会均匀的分布到各个AZ。如果节点个数不为AZ个数的倍数时,各个AZ分布的节点数量之差的绝对值小于等于1。

表5 CreateClusterInstanceVolumeBody

参数

是否必选

参数类型

描述

volume_type

String

卷类型。

  • COMMON:普通I/O。
  • HIGH:高I/O。
  • ULTRAHIGH:超高I/O。

size

Integer

卷大小,必须大于0且为4和10的公倍数,磁盘规格大小可以通过获取实例规格列表中diskrange属性获得。 单位:GB。

表6 CreateClusterInstanceNicsBody

参数

是否必选

参数类型

描述

vpcId

String

指定虚拟私有云ID,用于集群网络配置。

netId

String

子网ID(网络ID)。

securityGroupId

String

安全组ID。

表7 CreateClusterDatastoreBody

参数

是否必选

参数类型

描述

version

String

Esasticsearch引擎版本号。详细请参考CSS支持的集群版本

type

String

引擎类型,目前只支持elasticsearch。

表8 CreateClusterBackupStrategyBody

参数

是否必选

参数类型

描述

period

String

每天自动创建快照的时间点。只支持整点,后面需加上时区,格式为“HH:mm z”,“HH:mm”表示整点时间,“z”表示时区。比如“00:00 GMT+08:00”、“01:00 GMT+08:00”等。

prefix

String

自动创建的快照的前缀,需要用户自己手动输入。只能包含1~32位小写字母、数字、中划线或者下划线,并且以小写字母开头。

keepday

Integer

自动创建快照的保留天数。取值范围:1-90。

bucket

String

备份使用的OBS桶名称。

basePath

String

快照在OBS桶中的存放路径。

agency

String

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

说明:

如果bucket、basePath和agency三个参数同时为空,则系统会自动创建OBS桶和IAM代理,否则使用配置的参数值。

表9 CreateClusterTagsBody

参数

是否必选

参数类型

描述

key

String

集群标签的key值。可输入的字符串长度为1~36个字符。只能包含数字、字母、中划线"-"和下划线"_"。

value

String

集群标签的value值。可输入的字符串长度为0~43个字符。只能包含数字、字母、中划线"-"和下划线"_"。

响应参数

状态码: 200

表10 响应Body参数

参数

参数类型

描述

cluster

CreateClusterClusterResponse object

集群对象。若创建的是按需集群,则只返回cluster参数。

表11 CreateClusterClusterResponse

参数

参数类型

描述

id

String

集群ID。

name

String

集群名称。

请求示例

创建按需期集群请求示例。
POST /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters

{
  "cluster" : {
    "name" : "ES-Test",
    "datastore" : {
      "version" : "x.x.x",
      "type" : "elasticsearch"
    },
    "backupStrategy" : {
      "period" : "16:00 GMT+08:00",
      "prefix" : "snapshot",
      "keepday" : 7
    },
    "instanceNum" : 4,
    "instance" : {
      "flavorRef" : "ess.spec-XuXg",
      "volume" : {
        "volume_type" : "COMMON",
        "size" : 100
      },
      "nics" : {
        "vpcId" : "fccd753c-xxx-xxx-xxx-5ddf78d1a1b2",
        "netId" : "af1c65ae-xxx-xxx-xxx-81d6b365c9f1",
        "securityGroupId" : "7e3fed21-xxx-xxx-xxx-34e51124f614"
      },
      "availability_zone" : "xx-xxx-xx"
    },
    "httpsEnable" : true,
    "authorityEnable" : true,
    "adminPwd" : "xxxxxx",
    "enterprise_project_id" : "3e1c74a0-xxx-xxx-xxxx-c6b9e46cf81b",
    "tags" : [ {
      "key" : "k1",
      "value" : "v1"
    }, {
      "key" : "k2",
      "value" : "v2"
    } ]
  }
}

响应示例

状态码: 200

请求已成功。

创建按需期集群响应示例。

{
  "cluster" : {
    "id" : "ef683016-871e-48bc-bf93-74a29d60d214",
    "name" : "ES-Test"
  }
}

状态码

状态码

描述

200

请求已成功。

400

非法请求。

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

409

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

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

412

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

错误码

请参见错误码