调用SetAutoScaleConfig设置指定集群的自动伸缩配置信息。

接口说明

当队列配置和全局配置中配置不一致时,以队列设置为优先。

调试

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

请求参数

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

系统规定参数。取值:SetAutoScaleConfig

ClusterId String ehpc-hz-FYUr32****

集群ID。

EnableAutoGrow Boolean false

是否开启自动扩容。取值范围:

  • true:开启自动扩容
  • false:不开启自动扩容

默认值: false

EnableAutoShrink Boolean false

是否开启自动缩容。取值范围:

  • true:开启自动缩容
  • false:不开启自动缩容

默认值: false

GrowIntervalInMinutes Integer 2

每轮计算节点扩容的时间间隔。单位:分钟

取值范围:2~10

默认值:2

说明 一次扩容任务可能会分几次完成,或者连续触发扩容时的时间间隔。
ShrinkIntervalInMinutes Integer 2

每轮计算节点收缩的时间间隔。单位:分钟

取值范围:2~10

默认值:2

ShrinkIdleTimes Integer 3

节点连续空闲(未运行作业)次数。节点收缩检查时,一个节点连续处于空闲状态的次数。

取值范围:2~5

默认值:3

如果设置为3,表示一个计算节点连续空闲超过3次,就会被释放。因为ShrinkIntervalInMinutes默认值是2分钟,所以默认配置下,一个计算节点连续空闲时间超过6分钟,就会被释放。

GrowTimeoutInMinutes Integer 20

扩容超时时间。单位:分钟

取值范围:10~60

默认值:20

如果扩容时间大于扩容超时时间,节点依然未达到运行状态,该节点将被释放。

ExtraNodesGrowRatio Integer 0

额外节点百分比。取值范围:0~100

默认值:0

如果作业负载需要新增100个计算节点,ExtraNodesGrowRatio值为2,那么最终新增数量为102。

GrowRatio Integer 50

扩容比例。取值范围:1~100

默认值:100

如果作业负载需要新增10个计算节点,GrowRatio配置为50,那么会进行多轮扩容,每轮扩容当前所需的50%节点。

MaxNodesInCluster Integer 100

集群最多可以扩容的计算节点数量。取值范围:0~500

默认值:100

ExcludeNodes String i-bp19lgqwxb4206t5****,i-bp1g4hvzs9pywrhb****

例外节点列表,不参与自动伸缩的节点列表。节点之间用半角逗号(,)隔开。

如果您希望一直保留某个节点,可以设置为例外节点,空闲时不被释放。

SpotStrategy String SpotWithPriceLimit

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

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

默认值:NoSpot

SpotPriceLimit Float 0.062

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

ImageId String centos_7_03_64_20G_alibase_201708****

镜像ID。

说明
  • 如果同时设置了Queues.N.QueueImageIdImageId时,默认使用Queues.N.QueueImageId
  • 如果设置了Queues.N.QueueImageIdImageId,以设置的参数为准。
  • 如果Queues.N.QueueImageIdImageId都为空,则默认使用集群上次扩容的镜像,若之前没有进行过扩容,则默认使用创建集群时的镜像。
Queues.N.QueueImageId String centos_7_03_64_20G_alibase_201708****

扩容队列的镜像ID。N的取值范围:1~8

说明
  • 如果同时设置了Queues.N.QueueImageIdImageId时,默认使用Queues.N.QueueImageId
  • 如果设置了Queues.N.QueueImageIdImageId,以设置的参数为准。
  • 如果Queues.N.QueueImageIdImageId都为空,则默认使用集群上次扩容的镜像,若之前没有进行过扩容,则默认使用创建集群时的镜像。
Queues.N.SystemDiskCategory String cloud_efficiency

队列中扩容的计算节点系统盘类型。取值范围:

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

N的取值范围:1~8

默认值:cloud_efficiency

Queues.N.InstanceType String ecs.n1.medium

队列中自动扩容的节点规格。N的取值范围:1~8

Queues.N.HostNameSuffix String 000

队列中扩容的主机名后缀。方便您管理具有指定后缀的节点。

N的取值范围:1~8

Queues.N.SpotStrategy String NoSpot

队列中自动扩容的计算节点的抢占策略。N的取值范围:1~8

抢占策略取值范围为:

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

默认值:NoSpot

Queues.N.HostNamePrefix String compute

队列中扩容的主机名前缀。方便您管理具有指定前缀的节点。

N的取值范围:1~8

Queues.N.MinNodesInQueue Integer 0

队列允许收缩的最小节点数。取值范围:0~50

N的取值范围:1~8

默认值:0

Queues.N.SystemDiskSize Integer 40

队列中扩容的节点系统盘大小。单位:GB

取值范围:40~500

N的取值范围:1~8

默认值:40

Queues.N.MaxNodesInQueue Integer 30

队列允许扩容的最大节点数。取值范围:0~500

N的取值范围:1~8

默认值:100

Queues.N.EnableAutoShrink Boolean false

队列是否允许自动缩容。取值范围:

  • true:允许自动缩容
  • false:不允许自动缩容

N的取值范围:1~8

默认值:false

Queues.N.QueueName String cluster1

队列名称。支持同时设置N个队列的名称,N的取值范围:1~8

Queues.N.EnableAutoGrow Boolean false

队列是否允许自动扩容。取值范围:

  • true:允许自动扩容
  • false:不允许自动扩容

N的取值范围:1~8

默认值:false

Queues.N.SystemDiskLevel String PL1

队列中扩容的计算节点系统盘性能等级。取值范围:

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

N的取值范围:1~8

默认值:PL1

Queues.N.SpotPriceLimit Float 0.662

队列中自动扩容的计算节点的每小时最高价格,支持最多3位小数。参数Queues.N.SpotStrategy取值为SpotWithPriceLimit时生效。

N的取值范围:1~8

Queues.N.InstanceTypes.N.VSwitchId String vsw-bp1lfcjbfb099rrjn****

队列中自动扩容的节点绑定的交换机ID。

支持同时设置N个队列的名称,N的取值范围:1~8

队列自动扩容时支持同时为队列中N个节点设置交换机ID,N的取值范围:0~500

Queues.N.InstanceTypes.N.ZoneId String cn-hangzhou-b

队列中自动扩容的节点所在可用区ID。

支持同时设置N个队列的名称,N的取值范围:1~8

队列自动扩容时支持同时为队列中N个节点设置可用区ID,N的取值范围:0~500

Queues.N.InstanceTypes.N.SpotPriceLimit Float 0.660

队列中自动扩容的节点每小时最高价格,支持最多3位小数。参数Queues.N.InstanceTypes.N.SpotStrategy取值为SpotWithPriceLimit时生效。

支持同时设置N个队列的名称,N的取值范围:1~8

队列自动扩容时支持同时为队列中N个节点设置每小时最高价格,N的取值范围:0~500

Queues.N.InstanceTypes.N.InstanceType String ecs.n1.tiny

队列中自动扩容的节点规格。

支持同时设置N个队列的名称,N的取值范围:1~8

队列自动扩容时支持同时为队列中N个节点设置规格参数,N的取值范围:0~500

Queues.N.InstanceTypes.N.SpotStrategy String SpotWithPriceLimit

队列中自动扩容的计算节点竞价策略。取值范围:

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

默认值:NoSpot

支持同时设置N个队列的名称,N的取值范围:1~8

队列自动扩容时支持同时为队列中N个节点设置计算节点竞价策略,N的取值范围:0~500

Queues.N.DataDisks.N.DataDiskSize Integer 40

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

取值范围:40~500

默认值:40

N的取值范围:0~16

Queues.N.DataDisks.N.DataDiskCategory String cloud_efficiency

第N个随节点创建的数据盘类型。取值范围:

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

默认值:cloud_efficiency

N的取值范围:0~16

Queues.N.DataDisks.N.DataDiskDeleteWithInstance Boolean true

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

  • true:是
  • false:否

默认值:true

N的取值范围:0~16

Queues.N.DataDisks.N.DataDiskPerformanceLevel String PL1

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

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

默认值:PL1

N的取值范围:0~16

Queues.N.DataDisks.N.DataDiskEncrypted Boolean false

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

  • true:是
  • false:否

默认值:false

N的取值范围:0~16

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

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

N的取值范围:0~16

返回数据

名称 类型 示例值 描述
RequestId String 04F0F334-13358736C-A1D7-6C044FE7****

请求ID。

示例

请求示例

http(s)://ehpc.cn-hangzhou.aliyuncs.com/?Action=SetAutoScaleConfig
&ClusterId=ehpc-hz-FYUr32****
&EnableAutoGrow=false
&EnableAutoShrink=false
&GrowIntervalInMinutes=2
&ShrinkIntervalInMinutes=2
&ShrinkIdleTimes=3
&GrowTimeoutInMinutes=20
&ExtraNodesGrowRatio=0
&GrowRatio=50
&MaxNodesInCluster=100
&ExcludeNodes=i-bp19lgqwxb4206t5****,i-bp1g4hvzs9pywrhb****
&SpotStrategy=SpotWithPriceLimit
&SpotPriceLimit=0.062
&ImageId=centos_7_03_64_20G_alibase_201708****
&Queues=[{"QueueImageId":"centos_7_03_64_20G_alibase_201708****","SystemDiskCategory":"cloud_efficiency","InstanceType":"ecs.n1.medium","HostNameSuffix":"000","SpotStrategy":"NoSpot","HostNamePrefix":"compute","MinNodesInQueue":0,"SystemDiskSize":40,"MaxNodesInQueue":30,"EnableAutoShrink":false,"QueueName":"cluster1","EnableAutoGrow":false,"SystemDiskLevel":"PL1","SpotPriceLimit":0.662,"InstanceTypes":[{"VSwitchId":"vsw-bp1lfcjbfb099rrjn****","ZoneId":"cn-hangzhou-b","SpotPriceLimit":0.66,"InstanceType":"ecs.n1.tiny","SpotStrategy":"SpotWithPriceLimit"}],"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

<SetAutoScaleConfigResponse>
    <RequestId>04F0F334-13358736C-A1D7-6C044FE7****</RequestId>
</SetAutoScaleConfigResponse>

JSON格式

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

{
  "RequestId" : "04F0F334-13358736C-A1D7-6C044FE7****"
}

错误码

HttpCode 错误码 错误信息 描述
400 InvalidParams The specified parameter %s is invalid. 无效的参数:%s
403 InvalidOpt The specified operation is invalid. Please try again later. If the problem still exists, submit a ticket. 未知的操作,请您稍后再试,若还出现相同的错误请提交工单处理。
403 TooManyComputes The number of computing nodes exceeds the quota. 计算节点数超过用户配额
404 ClusterNotFound The specified cluster does not exist. 指定的集群不存在,请您检查该参数是否正确。
404 ImageNotFound The specified image does not exist. 指定的镜像不存在,请您检查该参数是否正确。
406 DbError A database service error occurred. 数据库请求失败
407 NotAuthorized You are not authorized by RAM for this request. 此请求未获得RAM授权
500 UnknownError An unknown error occurred. 未知错误,请您稍后再试,若还出现相同的错误请提交工单处理。
503 ServiceUnavailable The request has failed due to a temporary failure of the server 请求失败,服务暂时不可用

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