全部文档
当前文档

暂无内容

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

文档中心

新增节点

接口说明

该接口仅用于购买新增普通云服务器节点,如果需要添加已有云服务器节点请使用AddExistedInstances接口

请求参数

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

集群id

InstanceSet.N Object

建议仅填写一条InstanceSet数据,不要填写多条。

NodeRole String

节点角色,有效值:Worker

NodePara.N String

定义节点的配置,支持普通云主机和专属云主机。
节点配置信息使用云主机/专属云主机创建透传参数,json化字符串格式,详见云主机创建实例接口和专属云主机创建实例接口

示例值:{"SystemDisk.DiskSize":20,"InstanceNameSuffix":"1","SecurityGroupId":"eaa64c85-5dbd-49e2-85cd-5368954db241","ProjectId":0,"SriovNetSupport":false,"SubnetId":"2085daad-d9b6-4a8b-8c55-f24d14dbf7e5","MaxCount":3,"InstancePassword":"xxx","InstanceName":"sunjinfu","PurchaseTime":0,"ChargeType":"Daily","ImageId":"ebc3aafc-d649-47c4-9866-d7da8248aab3","DataDiskGb":0,"InstanceType":"S6.4B","SystemDisk.DiskType":"SSD3.0","MinCount":3,"DataDisk.1.Type":"SSD3.0","DataDisk.1.Size":50}
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

Label.N Object

节点加入集群时预置的标签

Key String

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

Value String

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

ExtraArg Object

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

Kubelet.N Object

用户自定义kubelet的参数

CustomArg String

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

ContainerLogMaxSize Int

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

ContainerLogMaxFiles Int

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

Taints.N Object

节点加入集群时预置污点,匹配污点容忍进行调度

Key String

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

Value String

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

Effect String

污点效果,有效值为NoSchedule、PreferNoSchedule、NoExecute

返回参数

参数名称
类型
描述
RequestId String

请求id

示例值:9ccb3336-dfcc-4f92-a9a7-xxxxx
InstanceSet Object[]

添加的节点信息

InstanceId String

实例id

示例值:323bf08c-fbfb-46c0-b140-xxxxx
InstanceName String

实例名称

示例值:openapi-work-1

请求示例

curl -X POST
'http://kce.api.ksyun.com/?Action=AddClusterInstances&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 'ClusterId=xxx&InstanceSet.N.NodeRole=xxx&InstanceSet.N.NodePara.N=xxx&InstanceSet.N.AdvancedSetting.DataDisk.AutoFormatAndMount=xxx&InstanceSet.N.AdvancedSetting.DataDisk.FileSystem=xxx&InstanceSet.N.AdvancedSetting.DataDisk.MountTarget=xxx&InstanceSet.N.AdvancedSetting.ContainerRuntime=xxx&InstanceSet.N.AdvancedSetting.ContainerPath=xxx&InstanceSet.N.AdvancedSetting.UserScript=xxx&InstanceSet.N.AdvancedSetting.PreUserScript=xxx&InstanceSet.N.AdvancedSetting.Schedulable=xxx&InstanceSet.N.AdvancedSetting.Label.N.Key=xxx&InstanceSet.N.AdvancedSetting.Label.N.Value=xxx&InstanceSet.N.AdvancedSetting.ExtraArg.Kubelet.N.CustomArg=xxx&InstanceSet.N.AdvancedSetting.ContainerLogMaxSize=xxx&InstanceSet.N.AdvancedSetting.ContainerLogMaxFiles=xxx&InstanceSet.N.AdvancedSetting.Taints.N.Key=xxx&InstanceSet.N.AdvancedSetting.Taints.N.Value=xxx&InstanceSet.N.AdvancedSetting.Taints.N.Effect=xxx'

返回示例

JSON格式

{
"RequestId":"9ccb3336-dfcc-4f92-a9a7-xxxxx",
"InstanceSet":[
{
"InstanceId":"323bf08c-fbfb-46c0-b140-xxxxx",
"InstanceName":"openapi-work-1"
},
{
"InstanceId":"3f09cac4-8a1e-4960-8858-xxxxx",
"InstanceName":"openapi-work-2"
}
]
}

错误码

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

错误码
错误信息
Http状态码
描述
ClusterIdRequiredClusterId is required400集群ID必须填写
ClusterIdInvalidClusterId must match `^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$`400集群ID必须满足 `^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$`
NodeRoleRequiredNodeRole is required400节点角色必须填写
NodeParaRequiredNodePara is required400节点参数必须填写
NodeParaInvalidNodePara is invalid, it must be json string400节点参数必须是json格式字符串
UserScriptLengthExceedthe length of UserScript can't exceed 16*1024400用户脚本长度不能超过16*1024个字符
PreUserScriptLengthExceedthe length of PreUserScript can't exceed 16*1024400用户前置脚本字符长度不能超过16*1024
ContainerRuntimeInvaliddocker is unsupported when k8s version > 1.24400集群版本大于1.24时不支持docker运行时
FileSystemInvalidFileSystem is invalid400文件系统无效,仅支持ext3、ext4、xfs
LabelKeyInvalidlabel key must match (^[a-z0-9A-Z]([-_./a-zA-Z0-9]){0,61}[a-z0-9A-Z]$)|(^[a-zA-Z0-9]$)400标签key格式必须满足 (^[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]$)
NodeRoleInvalidonly can add Worker400仅支持添加Worker节点
ClusterNotFoundcluster xx is not found400集群不存在
GetClusterErrorfailed to get cluster400获取集群信息失败
ClusterNodeExceedProductLimitcluster node num has exceed product limit400集群节点数量超过了售卖套餐最高上限
InvalidRoleKsyunKCEDefaultRole is needed400KsyunKCEDefaultRole角色必须接受并授权
NodeConfigParamParseErrornode param parse error400节点参数解析失败
CreateKvmErrorcreate kvm error400创建云主机失败
AddClusterInstanceErroradd cluster instance error400新增集群节点实例发生错误
纯净模式常规模式

纯净模式

点击可全屏预览文档内容