在分布式应用管理中,弹性伸缩是十分重要的运维能力。它能够根据预先设定的弹性伸缩规则自动增加或减少部署组实例数量,即扩容或缩容,从而提高资源利用率、降低资源成本。
概述
TSF 弹性伸缩支持指标规则和定时规则两种类型的弹性伸缩策略。
指标规则:适用于突发流量和典型周期性流量的应用场景。由规则名、扩容活动、缩容活动、冷却时间等参数构成的规则,用来描述弹性扩缩容的触发条件、实例数量变化和限制。
弹性伸缩触发指标:
指标 | 说明 |
CPU 利用率 | 在指定时间范围内,部署组内所有实例 CPU 利用率的平均值。 |
内存利用率 | 在指定时间范围内,部署组内所有实例内存利用率的平均值。 |
请求 QPS | 在指定时间范围内,部署组内所有实例请求 QPS 的平均值。 |
响应时间 | 在指定时间范围内,部署组内所有实例响应时间的平均值。 |
定时规则:适用于资源使用率有周期性规律的应用场景。达到设定的周期时间点后,TSF 将依据设定的策略自动调整部署组实例数量。
使用限制
请勿同时开启容器平台的弹性伸缩,可能会导致 TSF 的弹性伸缩规则被容器平台的弹性伸缩规则覆盖, 导致 TSF 弹性伸缩规则生效后实际结果不符合预期。
集群中存在超级节点时,当用户需要配置被动触发弹性时,可以使用 TSF 页面的弹性伸缩能力。当用户希望进行定时扩缩容的时候,建议通过 HPC/HPA 进行配置。
新建规则
1. 登录 TSF 控制台。
2. 在左侧导航单击弹性伸缩,选择好地域后单击新建规则,填写弹性伸缩规则内容。
指标规则
参数 | 说明 | |
扩容活动 | 触发条件 | 由指标(CPU 利用率、内存利用率、请求 QPS 和响应时间),阈值和持续时间构成。多条触发条件为逻辑或(OR)的关系,满足任一条件,将触发扩容操作。 |
| 增加实例数 | 每次部署组的指标达到了触发条件后,增加的实例数量。 |
| 最大实例数 | 部署组的实例数量上限。 |
缩容活动 | 触发条件 | 由指标(CPU 利用率、内存利用率、请求 QPS 和响应时间),阈值和持续时间构成。多条触发条件为逻辑与 AND 的关系,必须同时满足才能触发缩容操作。 |
| 减少实例数 | 每次部署组的指标达到了触发条件后,减少的实例数量。 |
| 最小实例数 | 部署组的实例数下限。 |
冷却时间 | | 冷却时间是指在同一个伸缩组内,一个伸缩活动(添加或移出实例)执行完成后的一段锁定时间,在这段时间内,该伸缩组不执行伸缩活动。建议设置冷却时间大于持续时间,如持续时间设置1分钟,冷却时间设置5分钟。 |
定时规则
参数 | 说明 |
周期 | 执行定时弹性伸缩策略的周期。
每天:每天指定时间执行定时策略。
每周:每周指定天数的指定时间执行定时策略。
每月:每月指定日期的指定时间执行定时策略。 |
触发时间与实例数 | 每日弹性扩缩容的生效时间与生效后的实例数,触发时间为部署地域时区(UTC+8) |
说明:
在一条弹性伸缩规则中定时规则最多设置10条。
如果定时规则中多个策略产生冲突,将按序执行,您可拖动调整顺序;若触发时间早于当前时间,则从下一个时间周期开始生效。
3. 单击提交,完成规则创建。
关联部署组
创建弹性伸缩规则后,需要将规则关联到部署组上并开启规则才能生效。
1. 在 弹性伸缩 列表页面,单击目标规则操作栏的关联部署组。
2. 在关联部署组页面,选择应用后勾选要关联的部署组。
3. 在关联部署组页面左下方,选择是否立刻开启规则。如果选择开启,则规则会在部署组上立刻生效,否则将不生效。用户可以后续在规则详情页的关联部署组 tab 页中修改启用状态。
验证弹性伸缩策略
设置弹性伸缩规则后,TSF 会自动监控部署组实例状态,当满足触发条件时,TSF 会依据弹性策略进行部署组实例扩容或缩容。您可以通过以下步骤查看弹性伸缩策略是否生效。
1. 登录 TSF 控制台。
2. 在左侧导航栏选择 运维中心 > 事件中心 > 事件概览,进入事件概览页面。
3. 在顶部菜单栏选择地域并在页面上方选择要查看的应用,设置好时间范围(支持近6小时、近3天、近7天和自定义时间范围)。
4. 查看事件类型为弹性伸缩的事件及详情。若符合预期,说明弹性策略已生效。
5. (可选)您也可以在应用列表页面,查看运行实例数量。如果运行实例数与弹性策略设置的实例数一致,说明弹性策略已生效。
解除规则和部署组的关联
1. 在 弹性伸缩 列表页面,单击目标规则的“ID”进入详情页,单击关联部署组页签。
2. 在关联部署组列表右侧操作栏,单击删除,确认解除规则和部署组的关联。
删除规则
删除弹性伸缩规则前需要解除规则和部署组的关联,否则无法删除。