该接口仅用于购买新增普通云服务器节点,如果需要添加已有云服务器节点请使用AddExistedInstances接口
参数名称 | 类型 | 必填 | 描述 |
---|
Action | String | 是 | 公共参数,本接口取值:AddClusterInstances。 |
Version | String | 是 | 公共参数,本接口取值:2019-08-06。 |
ClusterId | String | 是 | 集群id |
InstanceSet.N | Object | 是 | 建议仅填写一条InstanceSet数据,不要填写多条。 |
NodeRole | String | 是 | 节点角色,有效值:Worker |
NodePara.N | String | 是 | 定义节点的配置,支持普通云主机和专属云主机。 示例值:{"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 | 否 | 容器运行时,根据集群版本和需求选择
|
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 |
JSON格式
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见公共错误码
错误码 | 错误信息 | Http状态码 | 描述 |
---|
ClusterIdRequired | ClusterId is required | 400 | 集群ID必须填写 |
ClusterIdInvalid | ClusterId 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}$` |
NodeRoleRequired | NodeRole is required | 400 | 节点角色必须填写 |
NodeParaRequired | NodePara is required | 400 | 节点参数必须填写 |
NodeParaInvalid | NodePara is invalid, it must be json string | 400 | 节点参数必须是json格式字符串 |
UserScriptLengthExceed | the length of UserScript can't exceed 16*1024 | 400 | 用户脚本长度不能超过16*1024个字符 |
PreUserScriptLengthExceed | the length of PreUserScript can't exceed 16*1024 | 400 | 用户前置脚本字符长度不能超过16*1024 |
ContainerRuntimeInvalid | docker is unsupported when k8s version > 1.24 | 400 | 集群版本大于1.24时不支持docker运行时 |
FileSystemInvalid | FileSystem is invalid | 400 | 文件系统无效,仅支持ext3、ext4、xfs |
LabelKeyInvalid | label 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]$) |
LabelValueInvalid | label 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])? |
TaintInvalid | taint 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]$) |
NodeRoleInvalid | only can add Worker | 400 | 仅支持添加Worker节点 |
ClusterNotFound | cluster xx is not found | 400 | 集群不存在 |
GetClusterError | failed to get cluster | 400 | 获取集群信息失败 |
ClusterNodeExceedProductLimit | cluster node num has exceed product limit | 400 | 集群节点数量超过了售卖套餐最高上限 |
InvalidRole | KsyunKCEDefaultRole is needed | 400 | KsyunKCEDefaultRole角色必须接受并授权 |
NodeConfigParamParseError | node param parse error | 400 | 节点参数解析失败 |
CreateKvmError | create kvm error | 400 | 创建云主机失败 |
AddClusterInstanceError | add cluster instance error | 400 | 新增集群节点实例发生错误 |
纯净模式