更新时间:2022-12-14 GMT+08:00

查看弹性伸缩策略

功能介绍

查看指定集群的所有的弹性伸缩策略信息。

URI

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

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目编号。获取方法,请参见获取项目ID

cluster_id

String

集群ID。获取方法,请参见获取集群ID

请求参数

响应参数

状态码: 200

表2 响应Body参数

参数

参数类型

描述

[数组元素]

Array of AutoScalingPolicyV2 objects

弹性伸缩策略列表,具体请参见表3

表3 AutoScalingPolicyV2

参数

参数类型

描述

node_group_name

String

节点组名称。

resource_pool_name

String

资源计划名称。

auto_scaling_policy

AutoScalingPolicy object

弹性伸缩规则,具体请参见表4

表4 AutoScalingPolicy

参数

参数类型

描述

auto_scaling_enable

Boolean

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

min_capacity

Integer

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

max_capacity

Integer

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

resources_plans

Array of ResourcesPlan objects

资源计划列表。若该参数为空表示不启用资源计划。 当启用弹性伸缩时,资源计划与自动伸缩规则需至少配置其中一种,具体请参见表5

rules

Array of Rule objects

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

exec_scripts

Array of ScaleScript objects

弹性伸缩自定义自动化脚本列表。若该参数为空表示不启用自动化脚本,具体请参见表8

表5 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]

表6 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

描述该规则触发条件,具体请参见表7

表7 Trigger

参数

参数类型

描述

metric_name

String

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

metric_value

String

指标阈值。

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

comparison_operator

String

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

  • LT:小于
  • GT:大于
  • LTOE:小于等于
  • GTOE:大于等于

evaluation_periods

Integer

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

表8 ScaleScript

参数

参数类型

描述

name

String

弹性伸缩自定义自动化脚本的名称,同一个集群的自定义自动化脚本名称不允许相同。 只能由数字、英文字符、空格、中划线和下划线组成,且不能以空格开头。 可输入的字符串长度为1~64个字符。

uri

String

自定义自动化脚本的路径。设置为OBS桶的路径或虚拟机本地的路径。

  • OBS桶的路径:直接手动输入脚本路径。示例:obs://XXX/scale.sh
  • 虚拟机本地的路径:用户需要输入正确的脚本路径。脚本所在的路径必须以‘/’开头,以.sh结尾。

parameters

String

自定义自动化脚本参数。 多个参数间用空格隔开。 可以传入以下系统预定义参数:

  • ${mrs_scale_node_num}:扩缩容节点数
  • ${mrs_scale_type}:扩缩容类型,扩容为scale_out,缩容为scale_in
  • ${mrs_scale_node_hostnames}:扩缩容的节点主机名称
  • ${mrs_scale_node_ips}:扩缩容的节点IP
  • ${mrs_scale_rule_name}:触发扩缩容的规则名 其他用户自定义参数使用方式与普通shell脚本相同,多个参数中间用空格隔开。

nodes

Array of strings

自定义自动化脚本所执行的节点组名称。

active_master

Boolean

自定义自动化脚本是否只运行在主Master节点上。 缺省值为false,表示自定义自动化脚本可运行在所有Master节点上。

fail_action

String

自自定义自动化脚本执行失败后,是否继续执行后续脚本和创建集群。 说明:

  • 建议您在调试阶段设置为“continue”,无论此自定义自动化脚本是否执行成功,则集群都能继续安装和启动。
  • 由于缩容成功无法回滚,因此缩容后执行的脚本“fail_action”必须设置为“continue”。 枚举值:
  • continue:继续执行后续脚本。
  • errorout:终止操作。

action_stage

String

脚本执行时机。 枚举值:

  • before_scale_out:扩容前
  • before_scale_in:缩容前
  • after_scale_out:扩容后
  • after_scale_in:缩容后

状态码: 400

表9 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

请求示例

响应示例

状态码: 200

查看弹性伸缩策略成功

[ {
  "node_group_name" : "task_node_analysis_group",
  "resource_pool_name" : "default",
  "auto_scaling_policy" : {
    "auto_scaling_enable" : true,
    "min_capacity" : 0,
    "max_capacity" : 1,
    "resources_plans" : [ {
      "period_type" : "daily",
      "start_time" : "12:00",
      "end_time" : "13:00",
      "min_capacity" : 2,
      "max_capacity" : 3
    } ],
    "rules" : [ {
      "name" : "default-expand-1",
      "description" : "",
      "adjustment_type" : "scale_out",
      "cool_down_minutes" : 5,
      "scaling_adjustment" : 1,
      "trigger" : {
        "metric_name" : "YARNAppRunning",
        "metric_value" : 100,
        "comparison_operator" : "GTOE",
        "evaluation_periods" : 1
      }
    } ]
  }
} ]

状态码

状态码请参见状态码

错误码

请参见错误码