5.1 弹性伸缩(即将下线)
5.1.1 创建策略
功能说明
该接口用于创建策略。
须知
● 策略名称必须为以0~9、a~z、A~Z、下划线(_)或中划线(-)组成的1~64位 字符串,且必须以字母开头。
● 同一伸缩组下的策略,相同指标(metric_name)的metric_operation为“>”的 metric_threshold值必须比metric_operation为“<”的metric_threshold值大。
● 同一伸缩组,相同指标只能创建一条metric_operation相同的告警策略。
● 同一策略的同名指标(metric_name),各条件(conditions)之间需保证逻辑不 冲突。
● 定时策略的触发时间(launch_time)年份不能大于2099。
● 周期策略的开始时间(start_time)、结束时间(end_time)年份不能大于2099。
● 同一伸缩组下,支持创建定时策略和周期策略的总数最大为10个,支持创建最多10 个告警策略。
● 同一伸缩组下,告警策略之间互不影响。
URI
POST /v1/{project_id}/pe/policy
请求消息
请求消息头
请求消息头如表5-1所示。
表5-1 请求消息头
参数 描述 是否为必选 示例
Deployment-Name 应用名称 必选
-Content-Type 内容类型 该字段内容填为
“application/
json;charset=utf-8”
必选 application/
json;charset=utf-8
Cluster-Id 集群ID 必选
-Namespace 命名空间 必选
-X-Auth-Token 从IAM服务获取的用
户Token。 必选
-Reserved-Info 产品自定义字段 可选
-请求参数
请求参数如表5-2所示。
表5-2 请求参数
参数名称 是否必
选
参数类型 取值范围 描述
name 是 String 策略名称必须为以
0~9、a~z、A~
Z、下划线(_)或 中划线(-)组成的 1~64位字符串,且 必须以字母开头。
策略名称
policy_type 是 String ● 定时策略:
SCHEDULED
● 周期策略:
RECURRENCE
● 告警策略:
ALARM
策略类型
rule 是 参见表5-3 - 触发策略的规则
表5-3 rule 字段数据结构说明
参数名称 是否必
选
参数类 型
取值范围 描述
conditions 是 参见表
5-4 conditions
只能有1个 匹配条件具体内容。
如果是告警策略,则多个策略的 condition条件不能有重合,如:
同一指标不能既大于10%,又小 于20%
actions 是 参见表
5-5 actions只
能有1个 指定策略匹配成功后执行的动作。
表5-4 conditions 字段数据结构说明
参数名称 是否必
选
参数类型 取值范围 描述
launch_tim
e 是 String - 触发时间,遵循
ISO8601,UTC。
● 如果policy_type 为SCHEDULED,
则格式为:YYYY-MM-DDThh:mmZ。
● 如果policy_type 为RECURRENCE,
则格式为:
hh:mm。
recurrence_
type 是 String 可取值为:Daily、
Weekly、Monthly
● Daily:重复周期为 天
● Weekly:重复周期 为周
● Monthly:重复周期 为月
周期触发类型
参数名称 是否必
start_time 是 String - 周期策略重复执行开
始时间,遵循
espace 是 String ● PAAS.CONTAINER
:应用指标的命名空 间
● PAAS.CUSTOMMET RICS:自定义指标的
metric_unit 是 String - 单位
参数名称 是否必 选
参数类型 取值范围 描述
period 是 Integer 分别包括20,60,
300,900,1800,
3600
统计周期,单位:秒
evaluation_
periods 是 Integer 1,2,3,4,5 连续周期数 statistic 是 String 当前只支持平均值
(average) 统计方式 metric_oper
ation 是 String 包含“>”、“<”。
例如,“>”表示当 metric大于
metric_thresholdUpdat e值时触发actions
指标操作符
metric_thre
shold 是 Float [0,2147483647] 阈值条件
举例说明告警策略中conditions各个参数含义:
"conditions":[{
"metric_namespace" : "PAAS.CONTAINER", "metric_name" : "cpuUsage",
"metric_unit" : "Percent", "period" : 300,
"evaluation_periods" : 2, "statistic" : "average", "metric_operation" : ">", "metric_threshold" : 70 }]
当应用指标(metric_namespace)为cpuUsage(metric_name)时,应用在连续2
(evaluation_periods)个周期(周期时长:300秒)内平均值(statistic)值超过70%
(metric_threshold)时触发策略。
表5-5 actions 字段数据结构说明
参数名称 是否必
选
参数类型 取值范围 描述
type 是 String ● scale_out_k8s
● scale_out_vm
● scale_in_k8s
● scale_in_vm
● scale_set_k8s
● scale_set_vm
● scale_out_k8s、
scale_out_vm表 示扩容。
● scale_in_k8s、
scale_in_vm表示 缩容。
● scale_set_k8s、
scale_set_vm表
表5-6 parameters 字段数据结构说明
参数名称 是否必
选
参数类型 取值范围 描述
scale_unit 是 Integer 在策略组的最小实 例数与最大实例数
"policy_type" : "SCHEDULED", "rule" : {
● 周期策略示例
{ "name" : "policy_2",
"policy_type" : "RECURRENCE", "rule" : { "policy_type" : "ALARM", "rule" : {
errorCode String 错误码 errorMessage String 详细信息 policy_id String 策略ID
响应示例
{ "errorCode": 0, "errorMessage": "",
"policy_id": "1b9994f0-847a-45e4-aeee-e8b604dddb34"
}
错误码
表5-8 错误码
错误码 错误信息 处理措施
SVCSTG.PE.4001101 Invalid parameter. 请检查对应的参数是否符 合要求。
SVCSTG.PE.4031012 Failed to verify the
project ID. 请检查对应的参数是否符 合要求。
SVCSTG.PE.5001201 Failed to insert or update
data in the background. 请联系管理员解决。