ApplyNodes - 批量添加节点到指定集群

调用ApplyNodes添加一个或多个按量计费或抢占式计算节点到指定集群中。

接口说明

该接口支持按照节点数量或节点设置的 vCPU 个数、内存大小等维度灵活申请所需资源。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
ehpc:ApplyNodesWrite
  • 全部资源
    *

请求参数

名称类型必填描述示例值
ClusterIdstring

待添加节点的集群 ID。

您可以通过调用 ListClusters 获取集群 ID。

ehpc-hz-FYUr32****
ImageIdstring

待添加节点的镜像 ID,仅在未指定 TargetImageId 时,ImageId 生效。

您可以通过调用 ListImagesListCustomImages 接口获取镜像 ID。

说明 如果添加多个节点,仅指定了 TargetImageId 的节点会使用 TargetImageId。
centos_7_06_64_20G_alibase_20190711.vhd
ComputeSpotStrategystring

计算节点抢占策略。取值范围:

  • NoSpot:按量计费节点。

  • SpotWithPriceLimit:设置上限价格的抢占式实例。

  • SpotAsPriceGo:系统自动出价,跟随当前市场实际价格的抢占式实例。

默认值:NoSpot

NoSpot
ComputeSpotPriceLimitfloat

计算节点每小时最高价格,取值是浮点数,最多支持 3 位小数。参数 ComputeSpotStrategy 取值为 SpotWithPriceLimit 时生效。

当同时设置了 ComputeSpotPriceLimit 与 InstanceTypeModel.N.MaxPrice 时,按两者的最小值创建计算节点。

0.68
SystemDiskTypestring

系统盘的云盘类型。取值范围:

  • cloud_efficiency:高效云盘
  • cloud_ssd:SSD 云盘
  • cloud_essd:ESSD 云盘
  • cloud:普通云盘,已停售
cloud_ssd
SystemDiskSizeinteger

系统盘的大小。单位:GB

取值范围:40~500

默认值:40

40
HostNamePrefixstring

主机名前缀。方便您分类管理节点。

compute
HostNameSuffixstring

主机名后缀。方便您分类管理节点。

01
AllocatePublicAddressboolean

是否分配公网地址。取值范围:

  • true:分配公网地址

  • false:不分配公网地址

默认值:false

false
InternetChargeTypestring

弹性公网 IP 付费类型。取值范围:

  • PayByBandwidth:按固定带宽收费

  • PayByTraffic:按使用流量计费

PayByTraffic
InternetMaxBandWidthIninteger

公网入带宽最大值,单位为 Mbit/s。取值范围:

  • 当所购公网出带宽小于等于 10Mbit/s 时:1~10,默认为 10。

  • 当所购公网出带宽大于 10Mbit/s 时:1~InternetMaxBandWidthOut 的取值,默认为 InternetMaxBandWidthOut 的取值。

10
InternetMaxBandWidthOutinteger

公网出带宽最大值,单位为 Mbit/s。取值范围:0~100

默认值:0

10
Coresinteger

vCPU 个数。当参数 ResourceAmountType 为 Cores 时,该参数为必选。

同时指定 vCPU 和 Memory 可以定义节点规格。例如,vCPU=2、Memory=16 可以定义配置为 2 vCPU、16 GB 的所有节点规格。结合节点规格、可用区等因素确定可用节点规格集合,并根据价格排序为您创建价格最低的节点。

2
Memoryinteger

内存大小,当参数 ResourceAmountType 为 Cores 时,该参数为必选。单位:GB。

同时指定 vCPU 和 Memory 可以定义节点规格。例如,vCPU=2、Memory=16 可以定义配置为 2 vCPU、16 GB 的所有节点规格。结合节点规格、可用区等因素确定可用节点规格集合,并根据价格排序为您创建价格最低的节点。

16
InstanceFamilyLevelstring

实例规格族级别,在指定 Cores 和 Memory 时才生效。取值范围:

  • EntryLevel:入门级。

  • EnterpriseLevel:企业级。

  • CreditEntryLevel:积分入门级。更多信息,请参见突发性能实例

默认值:EnterpriseLevel

EntryLevel
TargetCapacityinteger

期望添加的资源数量,具体资源数量依赖 ResourceAmountType 取值。

  • 当 ResourceAmountType 取值为 Instance 时,TargetCapacity 取值范围:1~200

  • 当 ResourceAmountType 取值为 Cores 时,TargetCapacity 取值范围:1~1000

20
ResourceAmountTypestring

期望添加的资源类型。取值范围:

  • Instances:计算节点对应的 ECS 实例

  • Cores:vCPU 和内存

默认值:Instances

Instances
PriorityStrategystring

抢占式节点申请策略。取值范围:

  • LowPriceResourcePlanning:按 vCPU 单价从低到高进行尝试创建。当设置了抢占式计费方式的多节点规格时,优先创建对应抢占式计费节点。

  • CapacityOptResourcePlanning:按照价格更低及释放率更低的方式综合编排创建。

  • CustomizedResourcePlanning:根据预先定义的可用区(ZoneIds.N)扩容。当优先级较高的可用区没有实例库存时,自动使用下一优先级的可用区。

LowPriceResourcePlanning
StrictSatisfiedTargetCapacityboolean

是否满足 TargetCapacity 的数量要求。取值范围:

  • true:如果库存不足,则不创建任何节点并返回报错。如果库存充足,会存在以下两种情况:

    • StrictResourceProvision 为 true:检查库存,如果库存充足才会创建节点,并严格按期望数量创建节点,否则就不创建任何节点。
    • StrictResourceProvision 为 false:检查库存,如果库存充足才会创建节点,但实际可能会因为先查询库存量,创建节点时实时库存不足而创建部分节点。
  • false:如果库存不足,则按库存量创建部分节点。

默认值:true

true
SystemDiskLevelstring

创建 ESSD 云盘作为系统盘使用时,设置云盘的性能等级。取值范围:

  • PL0:单盘最高随机读写 IOPS 1 万
  • PL1:单盘最高随机读写 IOPS 5 万
  • PL2:单盘最高随机读写 IOPS 10 万
  • PL3:单盘最高随机读写 IOPS 100 万

默认值:PL0 关于如何选择 ESSD 性能等级,请参见 ESSD 云盘

PL0
StrictResourceProvisionboolean

是否必须满足 TargetCapacity 的数量要求。当 StrictSatisfiedTargetCapacity 为 true 时生效。取值范围:

  • true:检查库存,如果库存充足才会创建节点,并严格按期望数量创建节点,否则就不创建任何节点。
  • false:检查库存,如果库存充足才会创建节点,但实际可能会因为先查询库存量,创建节点时实时库存不足而创建部分节点。

默认值:false

false
Roundinteger

分批创建节点的总批数。 取值范围:1~10

默认值:1

1
Intervalinteger

分批创建节点的时间间隔。单位:秒,取值范围:60~600

默认值:60

60
ZoneInfosobject []

可用区信息。最多可以添加 10 个。

VSwitchIdstring

待添加节点的交换机 ID。N 的取值范围:1~10。

vsw-bp1e47optm9g58zcu****
ZoneIdstring

待添加节点的可用区 ID。N 的取值范围:1~10。

说明 多个可用区 ID 之间不能相同。
cn-hangzhou-b
InstanceTypeModelobject []

抢占式实例信息。

MaxPricefloat

您可以为该抢占式实例支付的每小时最高价格。取值是浮点数,最多支持 3 位小数。

当参数 ComputeSpotStrategy 取值为 SpotWithPriceLimit 时才生效。

N 的取值范围:1~10

0.034
TargetImageIdstring

待添加节点的镜像 ID,该镜像必须为 Windows 镜像。

N 的取值范围:1~10

win2016_1607_x64_dtc_zh-cn_40G_alibase_20210516.vhd
InstanceTypestring

待添加的节点规格,默认使用上次扩容或者创建集群时的计算节点规格。

N 的取值范围:1~10

ecs.n1.tiny
Tagobject []

标签信息。

Keystring

待添加节点的标签键。一旦传入该值,则不允许为空字符串。最多支持 128 个字符,不能以 aliyun 和 acs:开头,不能包含 http://或 https://。

N 的取值范围:1~20

TestKey
Valuestring

待添加节点的标签值。一旦传入该值,可以为空字符串。最多支持 128 个字符,不能以 acs:开头,不能包含 http://或者 https://。

N 的取值范围:1~20

TestValue
JobQueuestring

计算节点加入的队列名称。

您可以通过调用 ListQueues 获取已有队列名称。

workq
UserDatastring

实例自定义数据。需要以 Base64 方式编码,原始数据最多为 16 KB。Linux 操作系统支持 shell 脚本;Windows 操作系统支持 bat 和 powershell 两种格式,在 Base64 编码前,第一行为[bat]或者[powershell]。

说明 因为传输 API 请求时,不会加密您设置的 UserData,建议不要以明文方式传入机密的信息,例如密码和私钥等。如果必须传入,建议加密后,然后以 Base64 的方式编码后再传入,在实例内部以同样的方式反解密。
ZWNobyBoZWxsbyBlY3Mh

返回参数

名称类型描述示例值
object
RequestIdstring

任务 ID。

B745C159-3155-4B94-95D0-4B73D4D2****
SatisfiedAmountinteger

创建成功的计算节点数量。

10
TaskIdstring

请求 ID。

B745C159-3155-4B94-95D0-4B73D4D2****
Detailstring

API 调用结果详情。

Resources Application is satisfied. Creating...
InstanceIdsarray

实例 ID。

说明 由于 ApplyNodes 是异步操作,请求成功就会立即返回结果,不会等待实例创建成功,因此 InstanceIds 内容为空。您可以通过 ListNodes 获取 InstanceId。
string

实例 ID。

说明 由于 ApplyNodes 是异步操作,请求成功就会立即返回结果,不会等待实例创建成功,因此 InstanceIds 内容为空。您可以通过 ListNodes 获取 InstanceId。
null

示例

正常返回示例

JSON格式

{
  "RequestId": "B745C159-3155-4B94-95D0-4B73D4D2****",
  "SatisfiedAmount": 10,
  "TaskId": "B745C159-3155-4B94-95D0-4B73D4D2****",
  "Detail": "Resources Application is satisfied. Creating...",
  "InstanceIds": {
    "InstanceId": [
      "null"
    ]
  }
}

错误码

HTTP status code错误码错误信息描述
400InvalidParamsThe specified parameter %s is invalid.无效的参数:%s
400NotEnabledYou have not enabled this service您的账户还未开通此服务
400InDebtYour account has overdue payments.您的账户已欠费
400InvalidVswitchThe vSwitch parameter is invalid, or the number of available IP addresses is insufficient.vSwitch参数无效或可用IP不足量
400InvalidImageThe image ID is invalid.无效镜像ID
400InvaildSystemDiskSizeThe system disk size must be greater than or equal to image size.系统盘大小必须大于或等于镜像大小
400InvalidInstanceType.NotSupportedThe instance type is invalid.无效实例类型
400InvalidZoneId.ValueNotSupportedThe specified ZoneId is invalid.无效区域ID
403TooManyComputesThe number of computing nodes exceeds the quota.计算节点数超过用户配额
403TooManyLoginsThe maximum number of logged on nodes is exceeded.登录节点数超过配额,默认不超过2个。如需更多,请参考使用限制文档中的提升配额方式。
403TooManySccThe maximum number of SCC instances is exceeded.SCC实例数量超过配额,默认不超过15个。如需更多,请参考使用限制文档中的提升配额方式。
403InvalidClusterStatusThe operation failed due to invalid cluster status.集群状态不允许执行本次操作。
403ConflictOptA conflicting operation is running.有冲突的操作在执行中,请您稍后再试。
403ImageNotSupportedThe specified image is not supported.暂不支持所选的镜像,请您更换镜像后重试。
403InvalidCapacityNum.ValueNotSupportedThe specified TargetCapacity is invalid.指定的目标容量值无效
403RecommendEmpty.InstanceTypeSoldOutThe resource is out of stock.资源已售光
403ResourceTargetAmount.NotSatisfiedThe resource application is not satisfied.资源申请不满足
403RecommendEmpty.PriceNotSatisfiedThe price limit is not satisfied.价格限制不满足
403QuotaExceed.PayasyougoInstanceThe pay-as-you-go instance exceeds the quota.后付费实例已超出配额
403RecommendEmpty.InstanceTypeNoStockThe instanceTypes are out of usage.实例规格不可用
403RecommendEmpty.InstanceTypeNotAuthorizedThe recommend instanceTypes are not authorized.推荐集合为空。地域/可用区下无合适的备选规格。
403InvalidOptThe specified operation is invalid. Please try again later.未知的操作,请检查相关参数是否合理,检查后稍后重试。
404ImageNotFoundThe specified image does not exist.指定的镜像不存在,请您检查该参数是否正确。
404ClusterNotFoundThe specified cluster does not exist.指定的集群不存在,请您检查该参数是否正确。
404VolumeNotFoundThe specified volume does not exist.指定的存储不存在,请您检查该参数是否正确。
404ManagerNotFoundThe manager nodes do not exist or their status is abnormal.管理节点不存在或状态异常。
404ObjectNotFoundThe specified object is not found.指定的对象未找到,请您检查该参数是否正确。
404VswitchNotFoundThe specified vSwitch does not exist.指定的Vswitch不存在,请您检查该参数是否正确。
406EcsErrorAn error occurred while calling the ECS API operation.ECS API调用出错
406EipErrorThe EIP API request failed.请求弹性IP失败
406DbErrorA database service error occurred.数据库请求失败
406AliyunErrorAn Alibaba Cloud product error occurred.阿里云产品错误
407NotAuthorizedYou are not authorized by RAM for this request.此请求未获得RAM授权
409PartFailurePart of the batch operation failed.批量操作部分失败
500UnknownErrorAn unknown error occurred.未知错误
503ServiceUnavailableThe request has failed due to a temporary failure of the server请求失败,服务暂时不可用

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2024-03-05OpenAPI 错误码发生变更、OpenAPI 入参发生变更看变更集
变更项变更内容
错误码OpenAPI 错误码发生变更
    错误码 403 变更
    删除错误码:400
    删除错误码:404
    删除错误码:406
    删除错误码:407
    删除错误码:409
    删除错误码:500
    删除错误码:503
入参OpenAPI 入参发生变更
    新增入参:UserData
2022-10-12OpenAPI 错误码发生变更看变更集
变更项变更内容
错误码OpenAPI 错误码发生变更
    错误码 403 变更
    删除错误码:400
    删除错误码:404
    删除错误码:406
    删除错误码:407
    删除错误码:409
    删除错误码:500
    删除错误码:503