说明:当前页面接口为旧版 API,未来可能停止维护。容器服务 API 3.0 版本接口定义更加规范,访问时延下降显著,建议使用 容器服务 API 3.0。
接口描述
本接口 ( AddClusterInstances ) 用于为集群扩展节点。
接口请求域名:
ccs.api.qcloud.com
- 当集群 status 为 Running 时,才能调用此接口。
- vpcId 为创建集群时传入,此处添加节点(云服务器)只需要传入 subnetId 即可。
- 同一个集群下,所有节点的系统名( osName )相同,此处不用重复指定。
- 集群中所有节点为普通云盘。
- 一个集群限20个节点,可以 提交工单 增加配额,同时也要符合 CVM 实例购买限制 文档所描述的总体数量限制。
- CPU 与内存具体的 配比限制 参见 CVM 实例配置。
- 如需要更改带宽,请在节点创建成功后,使用接口 UpdateInstanceBandwidthHour 更改,公网带宽不指定默认为0。
- 支持的节点类型 (每个可用区购买的机型不相同),详情参见 CVM 实例配置。
输入参数
以下请求参数列表仅列出了接口请求参数,其它参数见 公共请求参数。
参数名称 | 描述 | 类型 | 必选 |
---|---|---|---|
clusterId | 集群 ID,请填写 查询集群列表 接口中返回的 clusterId 字段 | String | 是 |
clusterDesc | 集群描述 | String | 否 |
zoneId | 可用区。请填写 查询可用区 接口中返回的 Zone 字段 | String | 是 |
cpu | CPU 核数,具体限制见上 | Int | 是 |
mem | 内存大小 ( GB ),具体限制见上 | Int | 是 |
instanceType | 详情参见 CVM 实例配置, 默认值:S1.SMALL1 | String | 否 |
cvmType | 主机的类型 PayByHour:按量计费 PayByMonth:包年包月 默认按量计费 |
String | 否 |
renewFlag | 包年包月自动续费标识。取值范围: 默认取值:NOTIFY_AND_AUTO_RENEW。若该参数指定为NOTIFY_AND_AUTO_RENEW,在账户余额充足的情况下,实例到期后将按月自动续费。参见InstanceChargePrepaid |
String | 否 |
bandwidthType | 带宽的类型 包年包月主机:PayByMonth:按带宽使用时长计费,PayByTraffic:按流量计费 按量计费主机:PayByHour:按带宽使用时长计费,PayByTraffic:按流量计费 网络计费模式的区别可以参看 购买网络带宽 |
String | 是 |
bandwidth | 公网带宽 ( Mbps ),当按流量计费时为公网带宽峰值 | Int | 是 |
wanIp | 是否开通公网 IP 0:不开通 1:开通 bandwidth大于 0,可自由选择开通与否,默认开通公网 IP;bandwidth为 0,则不分配公网 IP |
Int | 否 |
subnetId | 子网 ID,请填写 查询子网列表 接口中返回的 unSubnetId ( 子网统一 ID )字段 | String | 是 |
isVpcGateway | 是否是公网网关,公网网关只有在拥有公网 IP 以及处于私有网络下时才能正常使用 0:非公网网关 1:公网网关 |
Int | 是 |
storageSize | 数据盘大小 ( GB )。步长为 10,0 表示不要数据盘。关于磁盘的最大值请参考 硬盘产品简介 | Int | 是 |
storageType | 数据盘类型。数据盘类型限制详见CVM实例配置。取值范围: 默认取值:CLOUD_BASIC。 |
String | 否 |
rootSize | 系统盘大小( GB ),默认50G | Int | 是 |
rootType | 系统盘类型。系统盘类型限制详见CVM实例配置。取值范围: 默认取值:CLOUD_BASIC。 |
String | 否 |
goodsNum | 购买节点数量。默认为 1, 最大 100 | Int | 是 |
password | 节点密码。未设置则为随机产生,并通过站内信下发。密码必须 8 - 16 位,至少包括两项 [ a - z,A - Z ]、[ 0 - 9 ] 和 [ ( ) & # 96;~ ! @ # $ % ^ & * - + = & #124; { } [ ] : ; ' < > ,. ? / ] 中的特殊符号 | String | 否 |
keyId | 密钥 ID。关联密钥后可使用密钥登录节点,keyId 可通过接口 查询密钥 获取,密钥与密码不能同时指定,同时 Windows 操作系统不支持指定密钥 | String | 否 |
period | 包年包月节点买时长,单位月。当 cvmType 为 PayByMonth 时,必填此参数 | Int | 否 |
sgId | 安全组 ID,默认为不绑定任何安全组,请填写 查询安全组列表 接口中返回的 sgId 字段 | String | 否 |
osName | 系统名。centos7.2x86_64、ubuntu16.04.1 LTSx86_64、centos7.2x86_64 GPU、 ubuntu16.04.1 LTSx86_64 GPU,包括创建集群时以及后续新添加节点时需要选择节点的操作系统镜像 | String | 是 |
mountTarget | 数据盘挂载点, 默认不挂载数据盘. 已格式化的 ext3,ext4,xfs 文件系统的数据盘将直接挂载,其他文件系统或未格式化的数据盘将自动格式化为 ext4 并挂载,请注意备份数据! 无数据盘或有多块数据盘的云服务器此设置不生效。 | String | 否 |
dockerGraphPath | dockerd --graph 指定值, 默认为 /var/lib/docker | String | 否 |
unschedulable | 设置加入的节点是否参与调度,默认值为0,表示参与调度;非0表示不参与调度, 待节点初始化完成之后, 可执行 kubectl uncordon nodename 使 node 加入调度. | Int | 否 |
userScript | base64 编码的用户脚本, 此脚本会在 k8s 组件运行后执行, 需要用户保证脚本的可重入及重试逻辑, 脚本及其生成的日志文件可在节点的 /data/ccs_userscript/ 路径查看, 如果要求节点需要在进行初始化完成后才可加入调度, 可配合 unschedulable 参数使用, 在 userScript 最后初始化完成后, 添加 kubectl uncordon nodename --kubeconfig=/root/.kube/config 命令使节点加入调度 | String | 否 |
输出参数
参数名称 | 描述 | 类型 |
---|---|---|
code | 公共错误码。0 表示成功,其他值表示失败 | Int |
codeDesc | 业务侧错误码。成功时返回 Success,错误时返回具体业务错误原因 | String |
message | 模块错误信息描述,与接口相关 | String |
instanceIds | 创建的节点 ID | Int |
requestId | 任务 ID | Int |
示例
输入
https://domain/v2/index.php?Action=AddClusterInstances
&clusterId=clus-xxxxx
&expandInstanceNum=1
&其它公共参数
输出
{
"code" : 0,
"message" : "ok",
"codeDesc": "Success",
"data":{
"instanceIds":["ins-xxxxxx","ins-xxxxxx"],
"requestId":11333
}
}