更新时间:2025-10-22 GMT+08:00

配置指标伸缩策略

本章节指导您配置指标伸缩策略。目前支持通过CPU、内存阈值及自定义监控指标来进行实例伸缩自动触发实例的增减,从而降低人为反复调整资源以应对业务变化和高峰压力的工作量,帮助您节约资源和人力成本。

CAE的实例伸缩是根据当前指标与期望指标计算的,具体细节如下:

期望实例数 = ceil[当前实例数 * (当前指标 / 期望指标)](ceil向上取整)

为避免实例数波动过于频繁,指标有10%的误差容忍,即当前指标 / 期望指标在0.9~1.1时,都不会进行缩扩容行为。

适用场景

适用于突发流量和典型周期性流量的应用场景,多用于互联网、游戏和社交平台等行业。

配置指标伸缩策略

  1. 登录CAE控制台
  2. 在左侧导航栏中选择“组件配置”。
  3. 在“组件配置”页面上方的组件下拉框中,选择需要操作的组件。
  4. 单击“伸缩策略”模块中的“编辑”
  5. 单击开启伸缩策略,选择“指标策略”,参考表1进行指标策略配置。

    表1 配置指标策略

    参数

    参数说明

    最大实例数

    扩容时允许达到的最大实例数。

    取值范围[1,99]。

    说明:

    最大实例数不能小于最小实例数。

    最小实例数

    缩容时允许达到的最小实例数。

    取值范围[1,99]。

    指标

    • CPU使用率,系统预置指标。
    • 内存使用率,系统预置指标。
    • 自定义指标。单击“添加伸缩指标”,可添加自定义指标,在下拉框中选择已创建的自定义监控指标,如需创建新的自定义指标,请参考配置自定义监控指标
      支持添加多条自定义指标。
      说明:
      • 必须输入PromQL语句,PromQL是Prometheus内置的数据查询语言,其提供对时间序列数据丰富的查询,聚合以及逻辑运算能力的支持,详情请参考Prometheus
      • PromQL语句查询结果必须为单个值,且类型为vector或scalar。
      • 最近一次创建或升级时间在2023年11月03日之前的组件,在配置自定义伸缩指标设置时,需要重新升级组件才能使自定义伸缩指标策略正常生效。

    可以通过CPU、内存阈值指标来进行实例伸缩。

    例如:CPU使用率的最大期望值设置为80,内存使用率的最大期望值设置为70。当组件CPU使用率大于80%或内存使用率大于70%时,系统自动增加组件的实例个数。当组件CPU使用率小于80%且内存使用率小于70%时,系统自动减少组件的实例个数。

    图1 伸缩策略配置

  6. (可选)展开“高级设置”,参考表2配置高级设置。

    表2 配置高级设置

    参数

    参数说明

    弹性扩容步长

    扩容步长,每分钟扩容pod的数量。

    默认值为4个,取值范围[1,99]。

    扩容稳定窗口

    默认值为0秒,取值范围[1,3600]。

    弹性缩容步长

    缩容步长,每分钟缩容pod的数量。

    默认值为99个,取值范围[1,99]。

    缩容稳定窗口

    默认值为300秒,取值范围[1,3600]。

    禁止缩容

    单击,可开启禁止缩容功能。

    图2 高级配置

  7. 单击“确定”,完成指标策略配置。
  8. 单击页面上方“生效配置”。在右侧弹框中确认修改信息,并单击“确定”,使配置生效。

配置自定义QPS指标伸缩策略

  1. 参考配置自定义监控指标,创建一个名为qps_metric的自定义监控指标。
  2. 在指标伸缩界面,单击“添加伸缩指标”。

    图3 添加伸缩指标

  3. 在下拉框选择已配置的自定义业务指标“metric”,PromeQL语句设置如下,期望值设置为100。

    sum(rate(envoy_cluster_upstream_rq_total{cluster_name=~".*{组件名称}.*{环境名称}.svc.cluster.local"}[30s]))

    其中{组件名称}{环境名称}需要设置成您当前组件名称和当前环境名称。

    示例:sum(rate(envoy_cluster_upstream_rq_total{cluster_name=~".*componentA.*environmentA.svc.cluster.local"}[30s]))

    PromeQL表达式含义:最近30秒内,转发到指定组件和环境的所有请求的平均每秒处理量(QPS)。

    PromeQL表达式的值大于期望值时,系统自动增加组件的实例个数。

    PromeQL表达式的值小于期望值时,系统自动减少组件实例个数。

  4. 单击“确定”,完成时间伸缩策略配置。
  5. 单击页面上方“生效配置”。在右侧弹框中确认修改信息,并单击“确定”,使配置生效。

配置自定义click_operated_total伸缩指标

  1. 参考配置自定义监控指标,创建一个名为click_operated_total的自定义监控指标。
  2. 在指标伸缩界面,单击“添加伸缩指标”。

    图4 添加伸缩指标

  3. 在下拉框选择已配置的自定义业务指标“click_operated_total”,PromeQL语句设置如下,期望值设置为10。

    max(avg_over_time(click_operated_total{envirnonment_name="{环境名称}",application_name="{应用名称}",component_name="{组件名称}"}[1m]))

    其中{环境名称}{应用名称}和{组件名称}需要设置成您当前组件名称和当前环境名称。

    示例:max(avg_over_time(click_operated_total{envirnonment_name="environmentA",application_name="applicationA",component_name="componentA"}[1m]))

    PromeQL表达式含义:指定组件中所有实例中每一分钟click_operated_total指标平均值的最大值。

    PromeQL表达式的值大于期望值时,系统自动增加组件的实例个数。

    PromeQL表达式的值小于期望值时,系统自动减少组件实例个数。

  4. 单击“确定”,完成时间伸缩策略配置。
  5. 单击页面上方“生效配置”。在右侧弹框中确认修改信息,并单击“确定”,使配置生效。