全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

创建节点池

请求参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见公共请求参数
参数名称
类型
必填
描述
Action String
公共参数,本接口取值:CreateNodePool。
Version String
公共参数,本接口取值:2019-08-06。
NodePoolName String

节点池名称
校验规则:2-64个字符,支持中文,英文,数字,以及特殊字符-,.!$^*()%#&+/:;<=>[]_`{

ClusterId String

集群id

EnableAutoScale Boolean

是否开启弹性伸缩,有效值:
True:开启弹性伸缩
False:关闭弹性伸缩
默认值:False
注:默认未开启自动缩容,若您想开启弹性缩容,后续可在参数ScaleDownEnabled中进行配置开启

NodeTemplate Object

节点模板信息

ChargeType String

计费方式,有效值:

  • Daily:按量付费(按日月结)
  • HourlyInstantSettlement:按量付费
    注:当参数EnableAutoScale设置为False时,计费方式可选Daily、HourlyInstantSettlement;当参数EnableAutoScale设置为True时,计费方式可选HourlyInstantSettlement
InstanceType String

实例类型,详情请见创建实例中InstanceType具体参数

SystemDisk Object

系统盘信息
注:若不指定该参数,则按照系统默认值进行分配

DiskType String

系统盘类型

DiskSize Int

系统盘大小

DataDiskGb Int

本地数据盘大小

DataDisk.N Object

第n个数据盘(云盘)

Type String

第n个数据盘(云盘)的类型,仅支持一块数据盘

Size Int

第n个数据盘(云盘)的容量大小,范围[1-32000]

DeleteWithInstance Boolean

数据盘是否随实例删除,有效值:

  • True:是
  • False:否
    默认值:False
ImageId String

镜像id

VpcId String

节点池所在vpc的id

SubnetId.N String

子网id

SubnetStrategy String

多子网扩展策略,有效值:

  • balanced-distribution:均衡分布
  • choice-first:选择优先
    默认值:balanced-distribution
    注:当绑定多个子网时,该项必填
SecurityGroupId String

安全组id

ProjectId String

节点池所属项目

Password String

实例密码
校验规则:8-32个字符,必须包含大小写字母和数字,支持英文特殊字符!$%()*+,-./:;<=>?@[]^_`{

AdvancedSetting Object

节点高级设置

DataDisk Object

数据盘挂载设置,仅针对于第一块数据盘生效

AutoFormatAndMount Boolean

是否对数据盘格式化并挂载,默认值;true。若此字段填写false,则 FileSystem 和 MountTarget字段不生效

FileSystem String

数据盘的文件系统,可选值:ext3,ext4,xfs,默认值ext4。若磁盘已有文件系统,则不进行处理,若没有文件系统,则按照用户的定义进行格式化,仅对第一块磁盘生效

MountTarget String

数据盘挂载点,并挂载,仅对第一块盘生效。

ContainerRuntime String

容器运行时,根据集群版本和需求选择
Kubernetes版本<1.24时,有效值:

  • docker
  • containerd
    Kubernetes版本≥1.24时,有效值:
  • contained
    默认值:docker
ContainerPath String

容器的存储路径,不填写的话默认为/data/container

UserScript String

base64 编码的用户脚本, 此脚本会在 节点上k8s 组件运行后执行, 需要用户保证脚本的可重入及重试逻辑,脚本和生成的日志的文件可在录/usr/local/ksyun/kce/userscript路径查看

PreUserScript String

base64 编码的用户脚本, 此脚本会在节点上 k8s 组件运行前执行, 需要用户保证脚本的可重入及重试逻辑,脚本和生成的日志的文件可在录/usr/local/ksyun/kce/pre_userscript路径查看

Schedulable Boolean

节点加入集群后是否可以正常调度,默认值:true

ExtraArg Object

自定义节点上k8s组件的参数

Kubelet.N Object

用户自定义kubelet的参数

CustomArg String

用户自定义kubelet的参数,格式k1=v1,如: --feature-gates=EphemeralContainers=true

ContainerLogMaxSize Int

自定义容器日志采集文件大小,超出此大小日志将滚动写入下一文件,默认值为100m

ContainerLogMaxFiles Int

自定义容器日志采集文件最大数量,默认值为10个

EbsTag.N Object

云盘标签,N取值范围[1-10]

Key String

标签键,校验规则:支持1-128个字符,仅支持中英文字符、数字及±=._/@:

Value String

标签值,校验规则:256个字符内,仅支持中英文字符、数字及±=._/@()()【】:

InstanceTag.N Object

实例标签,N取值范围[1-10]

Key String

标签键,校验规则:支持1-128个字符,仅支持中英文字符、数字及±=._/@:

Value String

标签值,校验规则:256个字符内,仅支持中英文字符、数字及±=._/@()()【】:

Cpu String

Cpu核数

Mem String

内存

KeyId.N String

密钥ID

InstanceName String

实例名称

InstanceNameSuffix Int

实例名称后缀

DeleteDataDisk Boolean

是否删除数据盘

DeleteInstanceTag Boolean

是否删除实例tag

DeleteEbsTag Boolean

是否删除EbsTag

Label.N Object

节点标签

Key String

标签键,校验规则:不超过63个字符,只能包含字母、数字及分隔符("-"、"_"、"."、"/"),且必须以字母、数字开头和结尾

Value String

标签值,校验规则:不超过63个字符,只能包含字母、数字及分隔符("-"、"_"、"."),且必须以字母、数字开头和结尾

Taint.N Object

节点污点

Key String

污点键,校验规则:污点名不超过253个字符,只能包含字母、数字及分隔符("-"、"_"、"."、"/"),且必须以字母、数字开头和结尾

Value String

污点值,校验规则:不超过63个字符,只能包含字母、数字及分隔符("-"、"_"、"."),且必须以字母、数字开头和结尾

Effect String

有效值:NoSchedule、PreferNoSchedule、NoExecute

MinSize Int

最小节点数量,即为最小能缩容的实例数量,范围[0-50],不大于maxSize

MaxSize Int

最大节点数量,即为最大能扩容的实例数量,范围[0-50],不小于minSize

DesiredCapacity Int

期望节点数量,即节点池刚创建时的实例数量,必须在最小节点数量与最大节点数量之间

EnableDelProtection Boolean

开启删除保护
默认值:True

默认值:true

返回参数

参数名称
类型
描述
RequestId String

请求ID

示例值:bb2fd0a6-d009-b5f6-8c35-0f9b6cb8713e
NodePoolId String

节点池id

示例值:573e7229-f7ef-a23a-2d44-d8a55923059d

请求示例

curl -X GET|POST
'http://kce.api.ksyun.com/?Action=CreateNodePool&Version=2019-08-06'
-H 'authorization: xxx, SignedHeaders=content-type;host;x-amz-date, Signature=xxx'
-H 'cache-control: no-cache'
-H 'content-type: application/x-www-form-urlencoded'
-H 'host: kce.api.ksyun.com'
-H 'x-amz-date: 20170720T022802Z'
-d 'NodePoolName=xxx&ClusterId=xxx&EnableAutoScale=xxx&NodeTemplate.ChargeType=xxx&NodeTemplate.InstanceType=xxx&NodeTemplate.SystemDisk.DiskType=xxx&NodeTemplate.SystemDisk.DiskSize=xxx&NodeTemplate.DataDiskGb=xxx&NodeTemplate.DataDisk.N.Type=xxx&NodeTemplate.DataDisk.N.Size=xxx&NodeTemplate.DataDisk.N.DeleteWithInstance=xxx&NodeTemplate.ImageId=xxx&NodeTemplate.VpcId=xxx&NodeTemplate.SubnetId.N=xxx&NodeTemplate.SubnetStrategy=xxx&NodeTemplate.SecurityGroupId=xxx&NodeTemplate.ProjectId=xxx&NodeTemplate.Password=xxx&NodeTemplate.AdvancedSetting.DataDisk.AutoFormatAndMount=xxx&NodeTemplate.AdvancedSetting.DataDisk.FileSystem=xxx&NodeTemplate.AdvancedSetting.DataDisk.MountTarget=xxx&NodeTemplate.AdvancedSetting.ContainerRuntime=xxx&NodeTemplate.AdvancedSetting.ContainerPath=xxx&NodeTemplate.AdvancedSetting.UserScript=xxx&NodeTemplate.AdvancedSetting.PreUserScript=xxx&NodeTemplate.AdvancedSetting.Schedulable=xxx&NodeTemplate.AdvancedSetting.ExtraArg.Kubelet.N.CustomArg=xxx&NodeTemplate.AdvancedSetting.ContainerLogMaxSize=xxx&NodeTemplate.AdvancedSetting.ContainerLogMaxFiles=xxx&NodeTemplate.EbsTag.N.Key=xxx&NodeTemplate.EbsTag.N.Value=xxx&NodeTemplate.InstanceTag.N.Key=xxx&NodeTemplate.InstanceTag.N.Value=xxx&NodeTemplate.Cpu=xxx&NodeTemplate.Mem=xxx&NodeTemplate.KeyId.N=xxx&NodeTemplate.InstanceName=xxx&NodeTemplate.InstanceNameSuffix=xxx&NodeTemplate.DeleteDataDisk=xxx&NodeTemplate.DeleteInstanceTag=xxx&NodeTemplate.DeleteEbsTag=xxx&Label.N.Key=xxx&Label.N.Value=xxx&Taint.N.Key=xxx&Taint.N.Value=xxx&Taint.N.Effect=xxx&MinSize=xxx&MaxSize=xxx&DesiredCapacity=xxx&EnableDelProtection=true'

返回示例

JSON格式

{
"RequestId":"bb2fd0a6-d009-b5f6-8c35-0f9b6cb8713e",
"NodePoolId":"573e7229-f7ef-a23a-2d44-d8a55923059d"
}

错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见公共错误码

错误码
错误信息
Http状态码
描述
ClusterIdRequiredClusterId is required400集群ID必须填写
NodePoolNameRequiredNodePoolName is Required400节点池名称必须填写
NodeTemplateRequiredNodeTemplate is required400节点池模板必须填写
ClusterNotFoundcluster xx is not found400集群不存在
GetClusterErrorfailed to get cluster400获取集群信息失败
ContainerRuntimeInvaliddocker is unsupported when k8s version > 1.24400当集群版本大于1.24时不支持docker运行时
ChargeTypeInvalidwhen enable auto scale, only supports Daily or HourlyInstantSettlement400节点池开启弹性伸缩时计费方式只支持Daily、HourlyInstantSettlement
MaxSizeInvalidMaxSize can't be less than MinSize400节点池最大实例数量不能小于最小实例数量
DesiredCapacityInvalidthe value of DesiredCapacity can't be less than MinSize, and can't be greater than MaxSize400期望实例数量不能小于实例最小范围,不能大于实例最大范围
ClusterNodeQuotaExceedthe sum of existed node and desiredCapacity exceeds quota_kce_node400集群已有节点与期望实例数量总和超过quota限额
KecSecurityGroupExceedthe number of securityGroup exceeds quota_kec_secgroup400安全组数量超过了主机安全组quota限额
SubnetIdRequiredSubnetId is required400子网必须填写
SubnetIdInvalidSubnetId contains repeat value400子网ID列表包含重复值
UserScriptLengthExceedthe length of UserScript can't exceed 16*1024400用户脚本长度不能超过16*1024个字符
PreUserScriptLengthExceedthe length of PreUserScript can't exceed 16*1024400用户前置脚本字符长度不能超过16*1024
FileSystemInvalidFileSystem is invalid400文件系统无效,仅支持ext3、ext4、xfs
LabelKeyInvalidlabel value must match(^[a-z0-9A-Z]([-_.a-zA-Z0-9]){0,61}[a-z0-9A-Z]$)|([a-zA-Z0-9])?400标签值格式必须满足 (^[a-z0-9A-Z]([-_.a-zA-Z0-9]){0,61}[a-z0-9A-Z]$)|([a-zA-Z0-9])?
LabelValueInvalidlabel value must match(^[a-z0-9A-Z]([-_.a-zA-Z0-9]){0,61}[a-z0-9A-Z]$)|([a-zA-Z0-9])?400标签值格式必须满足 (^[a-z0-9A-Z]([-_.a-zA-Z0-9]){0,61}[a-z0-9A-Z]$)|([a-zA-Z0-9])?
TaintInvalidtaint key must match ((^[A-Za-z0-9]([-_./A-Za-z0-9]){0,251}[A-Za-z0-9]$)|^[A-Za-z0-9]$)400污点key格式必须满足 ((^[A-Za-z0-9]([-_./A-Za-z0-9]){0,251}[A-Za-z0-9]$)|^[A-Za-z0-9]$)
InstanceNotFoundinstance is not found400实例不存在
KeyIdInvalidKeyId contains repeat value400KeyId包含重复值
PasswordOrKeyIdRequiredPassword and KeyId can't be empty at the same time400密码与密钥不能同时为空
InstanceTypeInvalidinstanceType xx sellout400机型套餐已售罄
SystemDiskTypeInvalidsystem disk type xx sellout400系统盘已售罄
DataDiskTypeInvaliddata disk type xx sellout400数据盘已售罄
SubnetStrategyInvalidthe value only supports balanced-distribution,choice-first400子网策略仅支持balanced-distribution,choice-first
EbsTagInvalidEbsTag key and value must be a pair400ebs标签键与值必须成对
InstanceTagInvalidInstanceTag key and value must be a pair400主机实例标签键与值必须成对
纯净模式常规模式

纯净模式

点击可全屏预览文档内容