错误码
5.3 节点管理
5.3.1 创建节点
功能介绍
该API用于在指定集群下创建节点。
说明
● 若无集群,请先创建集群。
● 集群管理的URL格式为:https://Endpoint/uri。其中uri为资源路径,也即API访问的路径。
接口约束
仅支持创建KVM虚拟化类型的节点,非KVM虚拟化类型的节点创建后无法正常使用。
调试
您可以在API Explorer中调试该接口。
URI
POST /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes
表5-132 路径参数
参数 是否必选 参数类型 描述
project_id 是 String 项目ID,获取方式请参见如何获 取接口URI中参数
cluster_id 是 String 集群 ID,获取方式请参见如何 获取接口URI中参数
正则匹配:^[0-9a-z]{8}-[0-9a- z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$
表5-133 Query 参数
参数 是否必选 参数类型 描述
nodepoolScal
eUp 否 String 标明是否为nodepool下发的请
求。若不为
“NodepoolScaleUp”将自动更 新对应节点池的实例数
枚举值:
● NodepoolScaleUp
API 参考 5 API
请求参数
表5-134 请求 Header 参数
参数 是否必选 参数类型 描述
Content-Type 是 String 消息体的类型(格式)
缺省值:application/json X-Auth-Token 是 String "调用接口的认证方式分为
Token和AK/SK两种,如果您使 用的Token方式,此参数为必 填,请填写Token的值,获取方 式请参见获取token。"
最大长度:16384
表5-135 请求 Body 参数
参数 是否必选 参数类型 描述
kind 是 String API类型,固定值“Node”,该
值不可修改。
缺省值:Node
apiVersion 是 String API版本,固定值“v3”,该值 不可修改。
缺省值:v3 metadata 否 NodeMetada
ta object metadata是节点对象的元数据 定义,是集合类的元素类型,包 含一组由不同名称定义的属性。
spec 是 NodeSpec
object spec是集合类的元素类型,用户 对需要管理的节点对象进行详细 描述的主体部分都在spec中给 出。系统通过spec的描述来创建 或更新对象。
API 参考 5 API
表5-136 NodeMetadata
labels 否 Map<String,St
ring> CCE自有节点标签,非 Kubernetes原生labels。
标签可用于选择对象并查找满足 某些条件的对象集合,格式为 key/value键值对。
示例:"labels": { "key" : "value"
}
annotations 否 Map<String,St
ring> CCE自有节点注解,非
Kubernetes原生annotations,
格式为key/value键值对。
示例:"annotations": { "key1" : "value1", "key2" : "value2"
}
说明Annotations不用于标识和选择对 象。Annotations中的元数据可以 是small 或large,structured 或 unstructured,并且可以包括标签
表5-137 NodeSpec
参数 是否必选 参数类型 描述
flavor 是 String 节点的规格,CCE支持的节点规
格请参考节点规格说明获取。 2.3、EulerOS 2.5、EulerOS 2.8。
● 若在创建节点时指定了 extendParam中的alpha.cce/
NodeImageID参数,可以不 填写此参数。
login 是 Login object 节点的登录方式 rootVolume 是 Volume
object 节点的磁盘信息 dataVolumes 是 Array of
Volume
参数 是否必选 参数类型 描述 storage 否 Storage
object 磁盘初始化配置管理参数。
该参数配置逻辑较为复杂,详细
publicIP 否 NodePublicIP
object 节点的弹性公网IP nodeNicSpec 否 NodeNicSpec
object 节点的网卡信息
count 否 Integer 批量创建时节点的个数,必须为
大于等于1,小于等于最大限额 的正整数。作用于节点池时该项 可以不填写。
billingMode 否 Integer 节点的计费模式:取值为 0(按 需付费)、1(包周期)、2
(已废弃:自动付费包周期)
taints 否 Array of Taint
objects 支持给创建出来的节点加Taints 来设置反亲和性,taints配置不
● Effect:只可选 NoSchedule,
PreferNoSchedule或 NoExecute。
示例:"taints": [{
"key": "status", "value": "unavailable", "effect": "NoSchedule"
}, { "key": "looks", "value": "bad", "effect": "NoSchedule"
}]
API 参考 5 API
参数 是否必选 参数类型 描述 k8sTags 否 Map<String,St
ring> 格式为key/value键值对。键值 对个数不超过20条。
示例:"k8sTags": { "key": "value"
}
ecsGroupId 否 String 云服务器组ID,若指定,将节点 创建在该云服务器组下
正则匹配:^[0-9a-z]{8}-[0-9a- z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$
dedicatedHost
Id 否 String 指定DeH主机的ID,将节点调度
到自己的DeH上。\n>创建节点 池添加节点时不支持该参数。
userTags 否 Array of UserTag
runtime 否 Runtime
object 容器运行时,默认为
“docker”。
extendParam 否 NodeExtendP
aram object 创建节点时的扩展参数。
表5-138 Login
参数 是否必选 参数类型 描述
sshKey 否 String 选择密钥对方式登录时的密钥对
名称。密钥对和密码登录方式二 者必选其一。
API 参考 5 API
参数 是否必选 参数类型 描述 userPassword 否 UserPasswor
d object 选择密码方式登录时的帐号密码
信息,之后可通过此帐号密码登 录节点。密钥对和密码登录方式 二者必选其一。
表5-139 UserPassword
参数 是否必选 参数类型 描述
username 否 String 登录帐号,默认为“root”
缺省值:root
password 是 String 登录密码,取值请参见创建云服 务器中adminPass参数的描
表5-140 Volume
参数 是否必选 参数类型 描述
size 是 Integer 磁盘大小,单位为GB
● 系统盘取值范围:40~1024
● 数据盘取值范围:
100~32768
volumetype 是 String 磁盘类型,取值请参见创建云服 务器 中“root_volume字段数据 结构说明”。
● SAS:高IO,是指由SAS存储 提供资源的磁盘类型。
● SSD:超高IO,是指由SSD存 储提供资源的磁盘类型。
● SATA:普通IO,是指由 SATA存储提供资源的磁盘类 型。EVS已下线SATA磁盘,
仅存量节点有此类型的磁 盘。
extendParam 否 Map<String,O
bject> 磁盘扩展参数,取值请参见创建 云服务器中“extendparam”参 数的描述。
API 参考 5 API
参数 是否必选 参数类型 描述
cluster_id 否 String 云服务器系统盘对应的存储池的 ID。仅用作专属云集群,专属分
cluster_type 否 String 云服务器系统盘对应的磁盘存储 类型。仅用作专属云集群,固定
● 节点池类型为ElasticBMS 时,此参数必须填写为true metadata 否 VolumeMeta
data object 云硬盘加密信息,仅在创建节点 系统盘或数据盘需加密时须填 写。
表5-141 VolumeMetadata
参数 是否必选 参数类型 描述
__system__en
crypted 否 String 表示云硬盘加密功能的字段,
'0'代表不加密,'1'代表加密。
该字段不存在时,云硬盘默认为 不加密。
__system__cm
kid 否 String 用户主密钥ID,是metadata中
的表示加密功能的字段,与 __system__encrypted配合使 用。
表5-142 Storage
参数 是否必选 参数类型 描述
storageSelect
ors 是 Array of
StorageSelec tors objects
磁盘选择,根据matchLabels和 storageType对匹配的磁盘进行 管理。磁盘匹配存在先后顺序,
靠前的匹配规则优先匹配。
API 参考 5 API
参数 是否必选 参数类型 描述 storageGroup
s 是 Array of
StorageGrou ps objects
由多个存储设备组成的存储组,
用于各个存储空间的划分。
表5-143 StorageSelectors
参数 是否必选 参数类型 描述
name 是 String selector的名字,作为
storageGroup中selectorNames 的索引,因此各个selector间的 名字不能重复。
storageType 是 String 存储类型,当前仅支持evs(云 硬盘)或local(本地盘);
local存储类型不支持磁盘选 择,所有本地盘将被组成一个 VG,因此也仅允许只有一个 local类型的storageSelector。
matchLabels 否 matchLabels
object evs盘的匹配字段,支持 DataVolume中的size、
volumeType、
metadataEncrypted、
metadataCmkid、count五个字 段。
表5-144 matchLabels
参数 是否必选 参数类型 描述
size 否 String 匹配的磁盘大小,不填则无磁盘
大小限制。例如:100.
volumeType 否 String 云硬盘类型,目前支持SSD
\GPSSD\SAS三种。
metadataEncr
ypted 否 String 磁盘加密标识符,0代表不加
密,1代表加密。
表5-145 StorageGroups
参数 是否必选 参数类型 描述
name 是 String storageGroups的名字,作为虚 拟存储组的名字,因此各个 group个名字不能重复。
cceManaged 否 Boolean k8s及runtime所属存储空间。
有且仅有一个group被设置为 true,不填默认false。
selectorName
s 是 Array of
strings 对应storageSelectors中的 name,一个group可选择多个 selector;但一个selector只能被 一个group选择。
virtualSpaces 是 Array of VirtualSpace objects
group中空间配置的详细管理。
表5-146 VirtualSpace
参数 是否必选 参数类型 描述
name 是 String virtualSpace的名称,当前仅支 持三种类型:kubernetes、 size 是 String virtualSpace的大小,仅支持整
数百分比。例如:90%。 需要 注意:一个group中所有 virtualSpace的百分比之和不得 超过100%
lvmConfig 否 LVMConfig
object lvm配置管理,适用于
kubernetes和user空间配置。
需要注意:一个virtualSpace仅 支持一个config配置。
runtimeConfi
g 否 RuntimeConf
ig object runtime配置管理,适用于运行 时空间配置。 需要注意:一个 virtualSpace仅支持一个config 配置。
API 参考 5 API
表5-147 LVMConfig
参数 是否必选 参数类型 描述
lvType 是 String LVM写入模式:linear、
striped。linear:线性模式;
striped:条带模式,使用多块磁 盘组成条带模式,能够提升磁盘 性能。
path 否 String 磁盘挂载路径。仅在用户配置中
生效。支持包含:数字、大小写 字母、点、中划线、下划线的绝 对路径。
表5-148 RuntimeConfig
参数 是否必选 参数类型 描述
lvType 是 String LVM写入模式:linear、
striped。linear:线性模式;
striped:条带模式,使用多块磁 盘组成条带模式,能够提升磁盘 性能。
表5-149 NodePublicIP
参数 是否必选 参数类型 描述
ids 否 Array of
strings 已有的弹性IP的ID列表。数量不 得大于待创建节点数
说明若已配置ids参数,则无需配置
count和eip参数
count 否 Integer 要动态创建的弹性IP个数。
说明count参数与eip参数必须同时配
置。
eip 否 NodeEIPSpec
object 弹性IP参数
API 参考 5 API
表5-150 NodeEIPSpec
参数 是否必选 参数类型 描述
iptype 否 String 弹性IP类型,取值请参见“创建
云服务器
说明eip字段数据结构说明”表中
“iptype”参数的描述。
bandwidth 否 NodeBandwi
dth object 弹性IP的带宽参数
表5-151 NodeBandwidth
参数 是否必选 参数类型 描述
chargemode 否 String 带宽的计费类型:
● 未传该字段,表示按带宽计 费。 - 字段值为空,表示按 带宽计费。 - 字段值为
“traffic”,表示按流量计 费。 - 字段为其它值,会导 致创建云服务器失败。
说明
● 按带宽计费:按公网传输速率
(单位为Mbps)计费。当您的 带宽利用率高于10%时,建议 优先选择按带宽计费。
说明
按流量计费:只允许在创建按需 节点时指定,按公网传输的数据 总量(单位为GB)计费。当您 的带宽利用率低于10%时,建议 优先选择按流量计费。
size 否 Integer 带宽大小,取值请参见“创建云
服务器 > bandwidth字段数据结 构说明”表中“size”参数的描 述。
sharetype 否 String 带宽的共享类型,取值请参见
“创建云服务器
说明bandwidth字段数据结构说明”表 中“sharetype”参数的描述。
API 参考 5 API
表5-152 NodeNicSpec
参数 是否必选 参数类型 描述
primaryNic 否 NicSpec
object 主网卡的描述信息。
extNics 否 Array of NicSpec objects
扩展网卡
表5-153 NicSpec
参数 是否必选 参数类型 描述
subnetId 否 String 网卡所在子网的ID。
正则匹配:^[0-9a-z]{8}-[0-9a- z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$
fixedIps 否 Array of
strings 主网卡的IP将通过fixedIps指 定,数量不得大于创建的节点 数。fixedIps或ipBlock同时只能 指定一个。
ipBlock 否 String IP段的CIDR格式,创建的节点IP 将属于该IP段内。fixedIps或 ipBlock同时只能指定一个。
表5-154 Taint
参数 是否必选 参数类型 描述
key 否 String 键
value 否 String 值
最大长度:63
effect 否 String 作用效果
枚举值:
● NoSchedule
● PreferNoSchedule
● NoExecute
API 参考 5 API
表5-155 UserTag
参数 是否必选 参数类型 描述
key 否 String 云服务器标签的键。不得以
"CCE-"或"__type_baremetal"开 头
最小长度:1 最大长度:36
正则匹配:^[a-zA-Z0-9_
\u4e00-\u9fa5-]{1,36}$
value 否 String 云服务器标签的值
最小长度:0 最大长度:43
正则匹配:^[a-zA-Z0-9_
\u4e00-\u9fa5.-]{0,43}$
表5-156 Runtime
表5-156 Runtime