全部文档
当前文档

暂无内容

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

文档中心

添加已有的服务器

接口说明

该接口用于将已存在的云服务器实例添加到k8s集群中,云服务器必须跟集群在同一个vpc网络中。

请求参数

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

集群id

ExistedInstanceKecSet.N Object

选择已有的虚拟机(包含专属云主机)作为集群的Worker节点,其中NodeRole只能是Worker。
N:1-99

NodeRole String

节点角色,有效值:Worker

KecPara.N String

云服务器产品重新安装实例操作系统的透传参数,json化字符串格式,详见主机更换或者重新安装实例操作接口ModifyInstanceImage。
注意:接口中的ImageId参数替换为支持的节点操作系统,可调用容器的DescribeInstanceImage接口,获取容器服务支持的节点操作系统

示例值:{"InstanceId":"c31b63de-a880-47c4-9c76-7a06358a20da","ImageId":"ebc3aafc-d649-47c4-9866-d7da8248aab3","InstancePassword":"Root123456"}
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

返回参数

参数名称
类型
描述
InstanceSet Object[]
InstanceId String

实例id

示例值:ee355b5d-79e4-4505-b0a5-xxxxxx
Return Boolean

添加结果

示例值:true
Reason String

添加成功,该字段返回为空;添加失败,返回失败的原因。

示例值:null
RequestId String

请求id

示例值:cbc81dc4-e4ce-40f4-b12b-xxxxxx

请求示例

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

返回示例

JSON格式

{
"InstanceSet":[
{
"InstanceId":"ee355b5d-79e4-4505-b0a5-xxxxxx",
"Return":true,
"Reason":null
}
],
"RequestId":"cbc81dc4-e4ce-40f4-b12b-xxxxxx"
}

错误码

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

错误码
错误信息
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}$`
ExistedInstanceKecSetRequiredExistedInstanceKecSet is required400ExistedInstanceKecSet必须填写
ExistedInstanceSizeExceedthe number of ExistedInstance can't exceed 99400单次可添加的实例数量不能超过99
InstanceIdInvalidInstanceId contains repeat value400实例ID不能重复
NodeRoleInvalidNodeRole only can be Worker400当前操作只允许添加Worker
KecParaInvalidKecPara is invalid, it must be json string400KecPara格式必须是正确的json字符串
ParseKecParaErrorparse KecPara error400KecPara解析发生错误
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
LabelKeyInvalidabel 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]$)
ClusterNotFoundcluster xx is not found400集群不存在
GetClusterErrorfailed to get cluster400获取集群信息失败
UnsupportedOperationExternalCluster can't add nodes400纳管集群不支持添加节点
ClusterNotReadythe status of cluster is not ready400集群状态异常,不可进行添加节点操作
InvalidRoleKsyunKCEDefaultRole is needed400KsyunKCEDefaultRole角色必须接受并且授权
ClusterNodeQuotaExceed集群节点配额(quota_kce_node)不足400集群节点配额(quota_kce_node)不足
ClusterNodeExceedProductLimitcluster node num has exceed product limit400集群节点数量超过了售卖套餐最高上限
纯净模式常规模式

纯净模式

点击可全屏预览文档内容