在分布式应用管理中,弹性伸缩是很重要的运维能力,它能够根据实例状态自动增加或减少实例数量,即扩容和缩容,从而提高资源利用率、降低资源成本。本文介绍如何制定SAE定时弹性策略或者监控指标(CPU或内存使用率、应用QPS和响应时间)弹性策略。

适用场景

使用须知

  • 定时弹性最多可创建5条弹性策略,监控指标弹性最多可创建1条弹性策略。
  • 定时弹性与监控指标弹性暂不支持同时开启。
  • 弹性策略启用时,请勿手动进行应用生命周期管理操作,例如:应用扩缩、部署应用、更改规格、重启应用、停止应用。如果需要对应用进行该类操作,那么请停用弹性策略后,再手动执行操作。
  • 如果当前应用处于扩容、缩容、部署(单批分批或灰度)、更改规格、重启、停止等过程中,那么该应用暂时无法添加或者启动弹性策略。

配置定时弹性伸缩策略

请按照以下步骤配置定时弹性伸缩策略。

  1. 登录 SAE 控制台
  2. 在左侧导航栏单击应用列表,在顶部菜单栏选择地域,在应用列表页面单击目标应用名称。
  3. 基本信息页面单击实例部署信息页签,并展开弹性伸缩折叠面板。
    SAE添加弹性策略入口
  4. 在展开的弹性伸缩折叠页签中,单击添加弹性策略
    添加弹性策略
    注意
    • 单条定时策略内设置的触发时间,不能小于系统当前时间,如果小于,该策略将在下个执行周期内生效。
    • 单条定时策略内的两个邻近时间间隔须大于5分钟。
    • 如果设置了多条定时策略,出现了两个触发点时间重复的,那么遵循以新盖旧原则,以最新添加的触发时间点策略为准。尤其同时设置了以月为周期和以星期为周期,会出现一定概率时间冲突,设置时请尽量避免。
    • 如果设置了多条定时策略,系统会检查重复日期内的多个触发时间点的间隔大于5分钟,那么设置时请尽量避免。
  5. 定时策略页签上输入以下信息。
    • 策略名称:自定义的策略名称,必须以小写字母开头,仅可包含小写字母、数字及短划线(-),不超过32个字符。
    • 选择时间:
      • 短期:需要指定执行定时弹性伸缩策略的起止日期时选择此选项。
      • 长期:不需要指定执行定时弹性伸缩策略的结束日期时选择此选项。
    • 周期:执行定时弹性伸缩策略的周期。
      • 每天:每天指定时间执行定时弹性伸缩策略。
      • 每周:每周指定天数的指定时间执行定时弹性伸缩策略。
      • 每月:每月指定天数的指定时间执行定时弹性伸缩策略。
    • 单天内的触发时间:设置弹性伸缩策略触发时间,以及该时间段内需要保持的应用实例数。

      示例:如果周期设为每天,第一条弹性伸缩规则触发开始时间为8:00,目标实例数为10个,第二条弹性伸缩规则开始时间为20:00,目标实例数为3个,则在8:00至20:00之间,SAE依据所设的规则,将该应用的业务实例数保持为10个,在20:00至次日8:00之间,应用实例数保持为3个。

  6. 在设置完定时自动弹性伸缩规则后,单击下一步:预览定时策略查看所设信息,并单击提交

配置监控指标弹性伸缩策略

请按照以下步骤配置监控指标弹性伸缩策略。

  1. 登录 SAE 控制台
  2. 在左侧导航栏单击应用列表,在顶部菜单栏选择地域,在应用列表页面单击目标应用名称。
  3. 基本信息页面单击实例部署信息页签,并展开弹性伸缩折叠面板。
  4. 弹性伸缩折叠面板中单击添加弹性策略
  5. 添加弹性策略对话框中单击监控指标策略页签,在监控指标策略页签上输入以下信息。
    SAEHPA弹性策略设置
    • 策略名称:自定义的策略名称,必须以小写字母开头,仅可包含小写字母、数字及短划线(-),不超过32个字符。
    • 触发条件:单击选择以下监控指标中的一个或多个。
      • CPU使用率
      • 内存使用率
      • 应用QPS(仅当应用监控数据中有应用提供服务请求量数据时方可设置此条件)
      • 响应时间(RT)(仅当应用监控数据中有应用提供服务平均响应时间数据时方可设置此条件)
      说明 以上监控指标之间是逻辑“或”的关系,当选择多个监控指标时,只要任何一个指标大于或者等于目标值,则应用进行扩容,扩容后实例数不高于最大应用实例数;如果所有指标均小于目标值,则进行缩容,缩容后实例数不低于最小应用实例数
    • 最大应用实例数:触发弹性伸缩条件后,应用扩容,其实例数可达到的目标值。值的范围是2~50。
    • 最小应用实例数:触发弹性伸缩条件后,应用缩容,其实例数可达到的目标值。值的范围是1~50。
  6. 添加弹性策略对话框中单击添加

查看和管理已配置的弹性策略

为应用配置弹性伸缩策略后,可在实例部署信息页签上查看已配置策略的详细信息。

  1. 登录 SAE 控制台
  2. 在左侧导航栏单击应用列表,在顶部菜单栏选择地域,在应用列表页面单击目标应用名称。
  3. 基本信息页面单击实例部署信息页签,并展开弹性伸缩折叠面板。
    弹性伸缩折叠面板会展示以下弹性策略详情。tab_instance_deploy_info_sc_hpa_rules
    • 定时策略列表(如已配置定时弹性策略)
      • 策略名称:您的自定义策略名称。
      • 状态:策略是已启用还是已停用
      • 触发时间和目标实例数:单击该列的预览定时策略,即可查看定时弹性策略的预览时序图。db_preview_hpa_rules
      • 创建时间:策略的创建时间。
      • 最后一次停用策略时间:上一次停用策略的时间。
    • 监控指标策略列表(如已配置监控指标弹性策略)
      • 策略名称:您的自定义策略名称。
      • 状态:策略是已启用还是已停用
      • 指标目标值:已配置的监控指标目标值,例如CPU使用率目标值50%。
      • 指标当前值:已配置目标值的监控指标的当前值,例如CPU使用率当前值为0%。
      • 触发时间|下次扩缩触发值:策略上次被触发的时间(若刚触发弹性伸缩则展示下次最早进行伸缩的时间),以及SAE根据应用当前实例数、指标目标值、指标当前值计算出来的下一次扩容或缩容的触发临界值,不满足条件时不进行扩缩。
      • 最大应用实例数:触发弹性伸缩条件后,应用扩容,其实例数可达到的目标值。值的范围是2~50。
      • 最小应用实例数:触发弹性伸缩条件后,应用缩容,其实例数可达到的目标值。值的范围是1~50。
      • 创建时间:策略的创建时间。
      • 最后一次停用策略时间:上一次停用策略的时间。
  4. 定时策略列表监控指标策略列表操作列中,您可以单击启动来启动策略,单击停止来停止策略,单击编辑来编辑策略,单击更多图标并在快捷菜单中单击事件来查看自动弹性事件,或单击更多图标并在快捷菜单中单击删除来删除策略。

验证弹性伸缩策略

使用弹性伸缩前,应用实例数如下图所示。

使用SAE弹性伸缩前实例数

设置的弹性策略如下图所示。

SAE弹性伸缩前结果

启用该弹性策略后,SAE自动监测CPU使用率,当满足触发条件时,SAE依据弹性策略进行应用实例扩容、缩容。

下图相对于上图,多了两个应用实例,表示弹性伸缩成功。SAE依据弹性策略自动为应用扩容了两个应用实例。

SAE弹性伸缩成功结果

弹性伸缩成功后,您可以在监控指标策略列表中单击更多图标,在快捷菜单中单击事件,查看弹性伸缩原因。

弹性伸缩原因