更新时间:2024-07-11 GMT+08:00
分享

更新弹性伸缩策略

功能介绍

更新弹性伸缩策略。

调用方法

请参见如何调用API

URI

PUT /v2/{project_id}/autoscaling-policy/{cluster_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。

cluster_id

String

集群ID。

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

node_group_name

String

节点组名称。必填参数。如果resource_pool_name为default,则创建节点组维度的弹性伸缩策略。如果resource_pool_name不为default,则在该节点组下创建对应资源池维度的策略。

resource_pool_name

String

资源池名称。必填参数。当集群版本不支持按指定资源池进行弹性伸缩时,需要填写为default资源池。不为default时删除指定资源池维度的弹性伸缩策略。

auto_scaling_policy

AutoScalingPolicyInfo object

弹性伸缩规则。

表3 AutoScalingPolicyInfo

参数

是否必选

参数类型

描述

auto_scaling_enable

Boolean

当前自动伸缩规则是否开启。

min_capacity

Integer

指定该节点组的最小保留节点数。 取值范围:[0~500]

max_capacity

Integer

指定该节点组的最大节点数。 取值范围:[0~500]

resources_plans

Array of ResourcesPlan objects

资源计划列表。若该参数为空表示不启用资源计划。

当启用弹性伸缩时,资源计划与自动伸缩规则需至少配置其中一种。

rules

Array of Rule objects

自动伸缩的规则列表。当启用弹性伸缩时,资源计划与自动伸缩规则需至少配置其中一种。

tags

Array of Tag objects

弹性伸缩标签列表

表4 ResourcesPlan

参数

是否必选

参数类型

描述

period_type

String

资源计划的周期类型,当前只允许以下类型:

daily

start_time

String

资源计划的起始时间,格式为“hour:minute”,表示时间在0:00-23:59之间。

end_time

String

资源计划的结束时间,格式与“start_time”相同,不早于start_time表示的时间,且与start_time间隔不小于30min。

min_capacity

Integer

资源计划内该节点组的最小保留节点数。 取值范围:[0~500]

max_capacity

Integer

资源计划内该节点组的最大保留节点数。 取值范围:[0~500]

effective_days

Array of strings

资源计划的生效日期,为空时代表每日,另外也可为以下返回值:

MONDAY(周一)、TUESDAY(周二)、WEDNESDAY(周三)、THURSDAY(周四)、FRIDAY(周五)、SATURDAY(周六)、SUNDAY(周日)

表5 Rule

参数

是否必选

参数类型

描述

name

String

弹性伸缩规则的名称。 只能由字母、数字、中划线和下划线组成,并且长度为1~64个字符。 在一个节点组范围内,不允许重名。

description

String

弹性伸缩规则的说明。 最大长度为1024字符。

adjustment_type

String

弹性伸缩规则的调整类型,只允许以下类型: 枚举值:

  • scale_out:扩容

  • scale_in:缩容

cool_down_minutes

Integer

触发弹性伸缩规则后,该集群处于冷却状态(不再执行弹性伸缩操作)的时长,单位为分钟。 取值范围[0~10080],10080为一周的分钟数。

scaling_adjustment

Integer

单次调整集群节点的个数。 取值范围[1~100]

trigger

Trigger object

描述该规则触发条件。

表6 Trigger

参数

是否必选

参数类型

描述

metric_name

String

指标名称。 该触发条件会依据该名称对应指标的值来进行判断。 最大长度为64个字符。

metric_value

String

指标阈值。

触发该条件的指标阈值,只允许输入整数或者带两位小数的数。

comparison_operator

String

指标判断逻辑运算符,包括:

  • LT:小于

  • GT:大于

  • LTOE:小于等于

  • GTOE:大于等于

evaluation_periods

Integer

判断连续满足指标阈值的周期数(一个周期为5分钟)。 取值范围[1~288]

表7 Tag

参数

是否必选

参数类型

描述

key

String

键。

  • 最大长度36个unicode字符,不能为空字符串。

  • 标签的key值不能包含非打印字符ASCII(0-31),“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”,且首尾字符不能为空格。

  • 同一资源的key值不能重复。

value

String

值。

  • 最大长度43个unicode字符,可以为空字符串。

  • 标签的value值不能包含非打印字符ASCII(0-31),“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”,且首尾字符不能为空格。

响应参数

请求示例

更新一个弹性伸缩策略, 在节点组node_group_1中配置节点组数量范围为0-5,并配置2个伸缩规则。 如果YARNAppRunning 大于等于 75 ,并持续 1 个五分钟,则添加1 个Task节点。如果 YARNAppRunning 小于等于25 ,并持续 1 个五分钟,则终止 1个Task节点。冷却时间皆为20分钟,并且设置了该策略下弹出的节点会打上aaa=bbb的标签。

/v2/{project_id}/autoscaling-policy/{cluster_id}

{
  "node_group_name" : "ttt",
  "auto_scaling_policy" : {
    "auto_scaling_enable" : true,
    "min_capacity" : 0,
    "max_capacity" : 5,
    "rules" : [ {
      "name" : "default-expand-1",
      "adjustment_type" : "scale_out",
      "cool_down_minutes" : 20,
      "scaling_adjustment" : 1,
      "trigger" : {
        "metric_name" : "YARNAppRunning",
        "metric_value" : "75",
        "comparison_operator" : "GT",
        "evaluation_periods" : 1
      }
    }, {
      "name" : "default-shrink-1",
      "adjustment_type" : "scale_in",
      "cool_down_minutes" : 20,
      "scaling_adjustment" : 1,
      "trigger" : {
        "metric_name" : "YARNAppRunning",
        "metric_value" : "25",
        "comparison_operator" : "LT",
        "evaluation_periods" : 1
      }
    } ],
    "resources_plans" : [ {
      "period_type" : "daily",
      "start_time" : "06:00",
      "end_time" : "20:00",
      "min_capacity" : "0",
      "max_capacity" : "2",
      "effective_days" : null
    } ],
    "tags" : [ {
      "key" : "aaa",
      "value" : "bbb"
    } ]
  },
  "resource_pool_name" : "default"
}

响应示例

状态码

状态码

描述

202

更新弹性伸缩策略成功

错误码

请参见错误码

分享:

    相关文档

    相关产品