请求参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见
公共请求参数。
Action
|
String
|
是
| 公共参数,本接口取值:AddKecNodes。 |
Version
|
String
|
是
| 公共参数,本接口取值:2023-01-01。 |
ClusterId
|
String
|
是
| |
NodeInstanceSet
|
Object
|
否
| |
Provider
|
String
|
是
| 示例值:KEC |
Components
|
Object[]
|
是
| |
Type
|
String
|
是
| 核心组件的类型
• APISERVER
• ETCD
• CONTROLLERMANAGER
• EVENTETCD
• SCHEDULER
|
AdvancedSetting
|
Object
|
否
| |
PostUserScript
|
String
|
否
| |
PreUserScript
|
String
|
否
| |
Container
|
Object
|
否
| |
Runtime
|
String
|
否
| 容器运行时名称:
• Containerd(默认)
示例值:Containerd |
Path
|
String
|
否
| 容器存储目录,默认值为:/data/container
|
LogMaxSize
|
Int
|
否
| |
LogMaxFiles
|
Int
|
否
| |
NodeInstanceSet
|
Object
|
是
| |
Provider
|
String
|
是
| 示例值:KEC 默认值:KEC |
Components
|
Object[]
|
否
| |
Type
|
String
|
是
| 核心组件的类型
• APISERVER
• ETCD
• CONTROLLERMANAGER
• EVENTETCD
• SCHEDULER
示例值:APISERVER |
AdvancedSetting
|
Object
|
否
| |
PostUserScript
|
String
|
否
| |
PreUserScript
|
String
|
否
| |
Container
|
Object
|
否
| |
Runtime
|
String
|
否
| 容器运行时名称:
• Containerd(默认)
示例值:Containerd 默认值:Containerd |
Path
|
String
|
否
| 容器存储目录,默认值为:/data/container
|
LogMaxSize
|
Int
|
否
| |
LogMaxFiles
|
Int
|
否
| 示例值:10 默认值:10 |
Labels
|
Object[]
|
否
| |
Key
|
String
|
否
| |
Value
|
String
|
否
| |
Taints
|
Object
|
否
| |
Key
|
String
|
否
| |
Value
|
String
|
否
| |
BasicSetting
|
Object
|
是
| |
IsNew
|
Boolean
|
是
| 是否为新建节点
true为新建节点
false为已有节点
|
AvailabilityZone
|
String
|
否
| 可用区信息,示例:cn-beijing-6a(新建必填)
|
ExistedInstances
|
String[]
|
否
| 如果是已有节点,填写已有实例的id
云主机已有节点要求:
- 跟集群在同一个vpc下
- 云主机处于关机状态
- 未加入其他集群
|
Num
|
Int
|
否
| |
InstanceType
|
String
|
否
| 云主机的实例类型 ,示例:S6.4B
具体值参照云主机文档:https://docs.ksyun.com/documents/1528?type=6(新建节点时必填)
|
ImageID
|
String
|
是
| |
SystemDisk
|
Object
|
否
| |
Type
|
String
|
是
| 系统盘类型
具体值参考云主机文档:https://docs.ksyun.com/documents/1528?type=6
|
Size
|
Int
|
是
| 系统盘大小,单位:G
具体值参考云主机文档:https://docs.ksyun.com/documents/1528?type=6
|
DataDisk
|
Object[]
|
否
| |
Type
|
String
|
否
| 数据盘配置
具体值参考云主机文档https://docs.ksyun.com/documents/1528?type=6
|
Size
|
Int
|
否
| 数据盘大小,单位:G
具体值参考云主机文档https://docs.ksyun.com/documents/1528?type=6
|
DeleteWithInstance
|
Boolean
|
否
| |
AutoFormatAndMount
|
Boolean
|
否
| 是否格式化并挂载,默认挂载在/data目录下,用ext4的文件格式挂载
|
InstanceName
|
String
|
否
| 实例名称(新建节点必填)有效值:2-64个字符,支持中文,英文,数字,以及特殊字符-_
|
SubnetID
|
String
|
否
| 子网id(新建节点必填),子网id必须为集群vpc下的
|
NodeNameMode
|
String
|
是
| 节点命名方式
• INTERNAL_IP 以实例ip作为节点名称
• HOST_NAME 以实例hostName作为节点名称
|
LoginSetting
|
Object
|
是
| 节点登录信息(云主机节点为必填字段)
(查询时,该字段为敏感信息,不返回)
|
Password
|
String
|
否
| 登录密码(明文)跟秘钥二选一
有效值:8-32个字符,必须包含大小写字母和数字
|
SSHKeyId
|
String
|
否
| |
SecurityGroupID
|
String
|
否
| 安全组Id,为集群所选vpc下的安全组id(如果为空,则会创建一个新的安全组id)
如果为已有云主机实例,该字段为空时,会判断是否已有5个安全组,如果已有5个安全组会报错(云主机实例安全组上限为5个)
|
ChargeType
|
String
|
否
| 计费方式(新建实例为必填项)
• monthly 包年包月
• dailysettlement 按量付费(按日月结)
• hourlyInstantSettlement(按小时结)
|
Unit
|
Int
|
否
| 购买时长单位,当计费方式为包年包月时必填
• 2 单位月
|
PurchaseTime
|
Int
|
否
| 购买时长,当计费方式为包年包月时必填,单位为月
有效值1-36
其他计费类型可不填,若填只能为0
|
返回参数
Data
|
Object
| |
RequestId
|
String
| |
InstanceSet
|
Object[]
| |
KceNodeId
|
String
| 示例值:3ebe6766-0532-4ade-bc13-0664cd11aa37 |
Code
|
Int
| 示例值:200 |
请求示例
curl -X POST
'http://kce2.api.ksyun.com/?Action=AddKecNodes&Version=2023-01-01'
-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: kce2.api.ksyun.com'
-H 'x-amz-date: 20170720T022802Z'
-d 'ClusterId=xxx&NodeInstanceSet.Provider=xxx&NodeInstanceSet.Components[0].Type=xxx&NodeInstanceSet.AdvancedSetting.PostUserScript=xxx&NodeInstanceSet.AdvancedSetting.PreUserScript=xxx&NodeInstanceSet.AdvancedSetting.Container.Runtime=xxx&NodeInstanceSet.AdvancedSetting.Container.Path=xxx&NodeInstanceSet.AdvancedSetting.Container.LogMaxSize=xxx&NodeInstanceSet.AdvancedSetting.Container.LogMaxFiles=xxx&NodeInstanceSet.NodeInstanceSet.Provider=KEC&NodeInstanceSet.NodeInstanceSet.Components[0].Type=xxx&NodeInstanceSet.NodeInstanceSet.AdvancedSetting.PostUserScript=xxx&NodeInstanceSet.NodeInstanceSet.AdvancedSetting.PreUserScript=xxx&NodeInstanceSet.NodeInstanceSet.AdvancedSetting.Container.Runtime=Containerd&NodeInstanceSet.NodeInstanceSet.AdvancedSetting.Container.Path=xxx&NodeInstanceSet.NodeInstanceSet.AdvancedSetting.Container.LogMaxSize=xxx&NodeInstanceSet.NodeInstanceSet.AdvancedSetting.Container.LogMaxFiles=10&NodeInstanceSet.NodeInstanceSet.AdvancedSetting.Labels[0].Key=xxx&NodeInstanceSet.NodeInstanceSet.AdvancedSetting.Labels[0].Value=xxx&NodeInstanceSet.NodeInstanceSet.AdvancedSetting.Taints.Key=xxx&NodeInstanceSet.NodeInstanceSet.AdvancedSetting.Taints.Value=xxx&NodeInstanceSet.NodeInstanceSet.BasicSetting.IsNew=xxx&NodeInstanceSet.NodeInstanceSet.BasicSetting.AvailabilityZone=xxx&NodeInstanceSet.NodeInstanceSet.BasicSetting.ExistedInstances[0]=xxx&NodeInstanceSet.NodeInstanceSet.BasicSetting.Num=xxx&NodeInstanceSet.NodeInstanceSet.BasicSetting.InstanceType=xxx&NodeInstanceSet.NodeInstanceSet.BasicSetting.ImageID=xxx&NodeInstanceSet.NodeInstanceSet.BasicSetting.SystemDisk.Type=xxx&NodeInstanceSet.NodeInstanceSet.BasicSetting.SystemDisk.Size=xxx&NodeInstanceSet.NodeInstanceSet.BasicSetting.DataDisk[0].Type=xxx&NodeInstanceSet.NodeInstanceSet.BasicSetting.DataDisk[0].Size=xxx&NodeInstanceSet.NodeInstanceSet.BasicSetting.DataDisk[0].DeleteWithInstance=xxx&NodeInstanceSet.NodeInstanceSet.BasicSetting.DataDisk[0].AutoFormatAndMount=xxx&NodeInstanceSet.NodeInstanceSet.BasicSetting.InstanceName=xxx&NodeInstanceSet.NodeInstanceSet.BasicSetting.SubnetID=xxx&NodeInstanceSet.NodeInstanceSet.BasicSetting.NodeNameMode=xxx&NodeInstanceSet.NodeInstanceSet.BasicSetting.LoginSetting.Password=xxx&NodeInstanceSet.NodeInstanceSet.BasicSetting.LoginSetting.SSHKeyId=xxx&NodeInstanceSet.NodeInstanceSet.BasicSetting.SecurityGroupID=xxx&NodeInstanceSet.NodeInstanceSet.BasicSetting.ChargeType=xxx&NodeInstanceSet.NodeInstanceSet.BasicSetting.Unit=xxx&NodeInstanceSet.NodeInstanceSet.BasicSetting.PurchaseTime=xxx'

返回示例
JSON格式
{
"KceNodeId":"3ebe6766-0532-4ade-bc13-0664cd11aa37", "KceNodeId":"4ba7d5ec-def1-4a46-8bb5-98a3ea54bbbd", "KceNodeId":"b543cc2c-d745-40ab-a04f-981a8cfc8540", }

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