调用AddNodes添加一个或多个计算节点到指定集群。

调试

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

请求参数

名称 类型 是否必选 示例值 描述
Action String AddNodes

系统规定参数。取值:AddNodes

ClusterId String ehpc-hz-FYUr32****

待添加节点的集群ID。

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

ImageOwnerAlias String system

镜像类型。取值范围:

  • system:公共镜像
  • self:自定义镜像
  • others:共享镜像
  • marketplace:镜像市场镜像

默认值:system

ImageId String centos_7_06_64_20G_alibase_20190711.vhd

为待加入集群的计算节点指定的镜像,该镜像需满足以下条件:

  • 指定的镜像的操作系统应与集群中节点的操作系统保持一致。如:集群中节点的操作系统为CentOS时,只能指定CentOS镜像。
    说明 如果集群为混合云集群,并且开启支持多系统功能,当集群中节点的操作系统为Windows时,指定的镜像可以为Windows、CentOS。
  • 指定的镜像应与集群节点的镜像大版本号保持一致,如待加入集群为CentOS 7.x,指定的镜像也应该为CentOS 7.x。

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

Count Integer 10

添加的计算节点数量。取值范围:1~99,并且MinCount<Count。

  • ECS库存数量<MinCount,添加节点失败。
  • MinCount<ECS库存数量<Count,按照MinCount指定的数量添加节点。
  • Count<ECS库存数量,按照Count指定的数量添加节点。
InstanceType String ecs.n1.tiny

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

ComputeSpotStrategy String NoSpot

计算节点抢占策略。当参数EcsChargeType取值为PostPaid时才生效。取值范围:

  • NoSpot:正常按量付费实例。
  • SpotWithPriceLimit:设置上限价格的抢占式实例。
  • SpotAsPriceGo:系统自动出价,跟随当前市场实际价格的抢占式实例。

默认值:NoSpot

ComputeSpotPriceLimit String 0.68

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

EcsChargeType String PostPaid

集群使用节点的付费类型。取值范围:

  • PostPaid:按量付费
  • PrePaid:包年包月

默认值:PostPaid

若选择包年包月类型,默认开启自动续费,集群释放后节点将关闭自动续费。

Period Integer 1

购买资源的时长,单位由PeriodUnit指定。当参数InstanceChargeType取值为PrePaid时才生效且为必选值。取值范围:

  • PeriodUnit=Week时,Period取值:{“1”, “2”, “3”, “4”}。
  • PeriodUnit=Month时,Period取值:{“1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, “12”, “24”, “36”, ”48”, ”60”}。

默认值:1

PeriodUnit String Month

购买资源的时长。取值范围:

  • Week
  • Month

默认值:Month

AutoRenew String true

是否自动续费,当参数EcsChargeType取值为PrePaid时才生效。取值范围:

  • true:自动续费
  • false:不自动续费

默认值:true

AutoRenewPeriod Integer 1

每次自动续费的时长。参数AutoRenew取值true时生效。

  • PeriodUnit为Week时,AutoRenewPeriod取值{"1", "2", "3"}。
  • PeriodUnit为Month时,AutoRenewPeriod取值{"1", "2", "3", "6", "12"}。

默认值:1

JobQueue String workq

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

CreateMode String manual

节点创建方式。取值范围:

  • manual:手动扩容
  • autoscale:自动扩容

默认值:manual

SystemDiskType String cloud_ssd

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

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

默认值:cloud_efficiency

SystemDiskSize Integer 40

系统盘的大小。单位:GiB

取值范围:40~500

默认值:40

ZoneId String cn-hangzhou-b

可用区ID。

VSwitchId String vsw-bp1lfcjbfb099rrjn****

交换机ID。

HostNamePrefix String compute

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

HostNameSuffix String 01

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

ComputeEnableHt Boolean true

计算节点是否支持超线程。取值范围:

  • true:支持超线程
  • false:不支持超线程

默认值:true

AllocatePublicAddress Boolean false

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

  • true:分配公网地址
  • false:不分配公网地址

默认值:false

InternetChargeType String PayByTraffic

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

  • PayByBandwidth:按固定带宽收费
  • PayByTraffic:按使用流量计费
InternetMaxBandWidthIn Integer 10

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

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

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

默认值:0

ClientToken String 123e4567-e89b-12d3-a456-426655440000

保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符,且不能超过64个字符。更多信息,请参见如何保证幂等性

SystemDiskLevel String PL0

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

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

默认值:PL1

更多ESSD性能参数,请参见ESSD云盘

MinCount Integer 1

指定最小添加的节点数量。取值范围:1~99,并且MinCount<Count。

  • ECS库存数量<MinCount,添加节点失败。
  • MinCount<ECS库存数量<Count,按照MinCount指定的数量添加节点。
  • Count<ECS库存数量,按照Count指定的数量添加节点。

默认值:1

Sync Boolean false

是否设置该接口为同步接口。取值范围:

  • true:是
  • false:否

默认值:false

DataDisks.N.DataDiskSize Integer 40

第N个随节点创建的数据盘容量大小。单位:GB

取值范围:40~500

默认值:40

N的取值范围:0~16

DataDisks.N.DataDiskCategory String cloud_efficiency

第N个随节点创建的数据盘类型。可能值:

  • cloud_efficiency:高效云盘
  • cloud_ssd:SSD云盘
  • cloud_essd:ESSD云盘
  • cloud:普通云盘

默认值:cloud_efficiency

N的取值范围:0~16

DataDisks.N.DataDiskDeleteWithInstance Boolean true

第N个随节点创建的数据盘是否随实例释放。取值范围:

  • true:是
  • false:否

默认值:true

N的取值范围:0~16

DataDisks.N.DataDiskPerformanceLevel String PL1

第N个随节点创建的数据盘类型为ESSD云盘时,区分性能等级。仅当DataDisks.N.DataDiskCategory=cloud_essd时该参数有效。取值范围:

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

默认值:PL1

N的取值范围:0~16

DataDisks.N.DataDiskEncrypted Boolean false

第N个随节点创建的数据盘是否加密。取值范围:

  • true:是
  • false:否

默认值:false

N的取值范围:0~16

DataDisks.N.DataDiskKMSKeyId String 0e478b7a-4262-4802-b8cb-00d3fb40826X

第N个随节点创建的数据盘使用的KMS密钥ID。

N的取值范围:0~16

ComputeSpotDuration Integer 1

抢占式实例的保护期,单位为小时。取值范围为0~1,设置为0表示无保护期,默认为1。

ComputeSpotInterruptionBehavior String Terminate

抢占实例中断模式。目前仅支持Terminate(默认)直接释放实例。

NetworkInterfaceTrafficMode String Standard

网卡的通讯模式。参数取值范围:

  • Standard:使用TCP通讯模式。
  • HighPerformance:开启ERI(Elastic RDMA Interface)接口,使用RDMA通讯模式。

返回数据

名称 类型 示例值 描述
TaskId String B745C159-3155-4B94-95D0-4B73D4D2****

任务ID。

RequestId String B745C159-3155-4B94-95D0-4B73D4D2****

请求ID。

InstanceIds Array of String null

实例ID。

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

示例

请求示例

http(s)://ehpc.cn-hangzhou.aliyuncs.com/?Action=AddNodes
&ClusterId=ehpc-hz-FYUr32****
&ImageOwnerAlias=system
&ImageId=centos_7_06_64_20G_alibase_20190711.vhd
&Count=10
&InstanceType=ecs.n1.tiny
&ComputeSpotStrategy=NoSpot
&ComputeSpotPriceLimit=0.68
&EcsChargeType=PostPaid
&Period=1
&PeriodUnit=Month
&AutoRenew=true
&AutoRenewPeriod=1
&JobQueue=workq
&CreateMode=manual
&SystemDiskType=cloud_ssd
&SystemDiskSize=40
&ZoneId=cn-hangzhou-b
&VSwitchId=vsw-bp1lfcjbfb099rrjn****
&HostNamePrefix=compute
&HostNameSuffix=01
&ComputeEnableHt=true
&AllocatePublicAddress=false
&InternetChargeType=PayByTraffic
&InternetMaxBandWidthIn=10
&InternetMaxBandWidthOut=10
&ClientToken=123e4567-e89b-12d3-a456-426655440000
&SystemDiskLevel=PL0
&MinCount=1
&Sync=false
&DataDisks=[{"DataDiskSize":40,"DataDiskCategory":"cloud_efficiency","DataDiskDeleteWithInstance":true,"DataDiskPerformanceLevel":"PL1","DataDiskEncrypted":false,"DataDiskKMSKeyId":"0e478b7a-4262-4802-b8cb-00d3fb40826X"}]
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<AddNodesResponse>
<TaskId>B745C159-3155-4B94-95D0-4B73D4D2****</TaskId>
<RequestId>B745C159-3155-4B94-95D0-4B73D4D2****</RequestId>
<InstanceIds>
    <InstanceId>null</InstanceId>
</InstanceIds>
</AddNodesResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "TaskId" : "B745C159-3155-4B94-95D0-4B73D4D2****",
  "RequestId" : "B745C159-3155-4B94-95D0-4B73D4D2****",
  "InstanceIds" : {
    "InstanceId" : "null"
  }
}

错误码

HttpCode 错误码 错误信息 描述
400 InvalidParams The specified parameter %s is invalid. 无效的参数:%s
400 NotEnabled You have not enabled this service 您的账户还未开通此服务
400 InDebt Your account has overdue payments. 您的账户已欠费
400 InvaildSystemDiskSize The system disk size must be greater than or equal to image size. 系统盘大小必须大于或等于镜像大小
403 TooManyComputes The number of computing nodes exceeds the quota. 计算节点数超过用户配额
403 TooManyLogins The maximum number of logged on nodes is exceeded. 登录节点数超过配额,默认不超过2个。如需更多,请参考使用限制文档中的提升配额方式。
403 TooManyScc The maximum number of SCC instances is exceeded. SCC实例数量超过配额,默认不超过15个。如需更多,请参考使用限制文档中的提升配额方式。
403 InvalidClusterStatus The operation failed due to invalid cluster status. 集群状态不允许执行本次操作。
403 ConflictOpt A conflicting operation is running. 有冲突的操作在执行中,请您稍后再试。
403 ImageNotSupported The specified image is not supported. 暂不支持所选的镜像,请您更换镜像后重试。
403 InvalidOpt The specified operation is invalid. Please try again later. 未知的操作,请检查相关参数是否合理,检查后稍后重试。
404 ImageNotFound The specified image does not exist. 指定的镜像不存在,请您检查该参数是否正确。
404 ClusterNotFound The specified cluster does not exist. 指定的集群不存在,请您检查该参数是否正确。
404 VolumeNotFound The specified volume does not exist. 指定的存储不存在,请您检查该参数是否正确。
404 ManagerNotFound The manager nodes do not exist or their status is abnormal. 管理节点不存在或状态异常。
404 ObjectNotFound The specified object is not found. 指定的对象未找到,请您检查该参数是否正确。
406 EcsError An error occurred while calling the ECS API operation. ECS API调用出错
406 EipError The EIP API request failed. 请求弹性IP失败
406 DbError A database service error occurred. 数据库请求失败
406 AliyunError An Alibaba Cloud product error occurred. 阿里云产品错误
407 NotAuthorized You are not authorized by RAM for this request. 此请求未获得RAM授权
409 PartFailure Part of the batch operation failed. 批量操作部分失败
500 UnknownError An unknown error occurred. 未知错误,请检查相关参数是否合理,检查后稍后重试。
503 ServiceUnavailable The request has failed due to a temporary failure of the server 请求失败,服务暂时不可用

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