human: 如何处理七牛云的容器轻应用平台自动扩缩

gpt: [容器轻应用平台](https://developer.qiniu.com/qapp) > 使用指南 > 手动和自动扩缩 >自动扩缩

#  自动扩缩

最近更新时间: 2022-11-04 12:07:08

弹性伸缩是很重要的运维能力，它能够根据实例状态自动增加或减少实例数量，即扩容或缩容，从而提高资源利用率、降低资源成本。本文介绍如何配置、验证并管理 QAPP
定时弹性策略、监控指标弹性策略，以及如何查看应用实例监控。

# **前提条件**

  * [新建应用](https://developer.qiniu.com/qapp/development_guidelines/12312/create-an)：首先要创建一个应用 。
  * [发布版本](https://developer.qiniu.com/qapp/development_guidelines/12314/the-new-application-version)：为实例部署发布一个应用版本，相当于为部署实例提供模板。
  * [部署实例](https://developer.qiniu.com/qapp/development_guidelines/12324/instance-deployment)：选择区域、应用版本，完成实例部署。

###

# **背景信息**

实例扩缩包括 **手动扩缩** 和 **自动扩缩** 两种方式：

  * 当应用扩缩容为紧急需求时，例如突发性的流量高峰，您可以选择[手动扩缩](https://developer.qiniu.com/qapp/development_guidelines/12326/manually-enlarge-shrinks)方式。
  * 当应用扩缩容为非紧急需求时，例如周期性的流量高峰，您可以选择自动扩缩方式。

# **适用场景**

  * 监控指标策略：适用于突发流量和典型周期性流量的应用场景，多用于互联网、游戏和社交平台等行业。

  * 定时策略：适用于资源使用率有周期性规律的应用场景，多用于证券、医疗、政府和教育等行业。

# **配置监控指标策略**

  1. 登录 [容器轻应用平台 __](https://portal.qiniu.com/dora/qapp)。

  2. 在左侧导航栏单击 **具体应用名称** ，在顶部菜单栏选择 **部署管理** ，并切换 **区域** 。

  3. 在部署列表->操作栏，选择 **自动扩缩** 。

![img](https://dora-doc.qiniu.com/WX20221103-173520%402x.png)

  4. 在自动扩缩侧边栏，选择 **监控指标类的触发策略** ，并设置相关参数。

![img](https://dora-doc.qiniu.com/WX20221103-173857%402x.png)

配置项 | 说明  
---|---  
快捷使用 | 下拉选择配置过扩缩容的历史部署ID，可以直接复制配置内容。  
触发策略 | 监控指标策略包括四种：  
**CPU平均使用量** ：运行程序所占用的CPU资源。  
**GPU平均使用量** ：运行程序所占用的GPU资源。  
**内存平均使用量** ：运行程序所开销的内存。  
**单实例平均请求数** ：运行程序处理中的请求并发数  
实例数设置 | **最大实例数** ：触发自动扩缩条件后，应用扩容，实例数可达到的目标值。取值范围：[0,1000]。   
**最小实例数** ：触发自动扩缩条件后，应用缩容，实例数可达到的目标值。取值范围：[0,1000]。  
自动扩容设置 | **自动扩容阈值** ：根据设置触发策略，只要指标大于或者等于阈值将触发扩容，扩容后实例数不能高于最大实例数。单位为%，取值范围：[1,100]。  
**自动扩容步长** ：单位时间内最多扩容的实例数。单位为个，默认为1。  
**扩容冷却时间** ：通过自动扩缩算法来保证系统达到所设置时间段内扩容期望的状态，冷却时间内系统维稳，尽可能不进行扩容操作。单位为秒，默认为120秒。  
自动缩容设置 | **自动缩容阈值** ：根据设置触发策略，只要指标小于或者等于阈值将触发扩容，扩容后实例数不能高于最大实例数。单位为%，取值范围：[1,100]。  
**自动缩容步长** ：单位时间内最多缩容的实例数。单位为个，默认为1。  
**缩容冷却时间** ：通过自动扩缩算法来保证系统达到所设置时间段内缩容期望的状态，冷却时间内系统维稳，尽可能不进行扩容操作。单位为秒。默认为120秒。  
  5. 点击 **确定** ，则自动扩缩策略启动成功。策略的状态变成 **已启用** 时，说明策略启用成功。

![img](https://dora-doc.qiniu.com/WX20221103-174109%402x.png)

# **配置定时策略**

  1. 登录 [容器轻应用平台 __](https://portal.qiniu.com/dora/qapp)。

  2. 在左侧导航栏单击 **具体应用名称** ，在顶部菜单栏选择 **部署管理** ，并切换 **区域** 。

  3. 在部署列表->操作栏，选择 **自动扩缩** 。

  4. 在自动扩缩侧边栏，选择 **定时扩缩容** 触发策略，并设置相关参数。

![img](https://dora-doc.qiniu.com/WX20221103-174433%402x.png)

配置项 | 说明  
---|---  
触发策略 | 选择定时扩缩容  
定时任务 | 设置 **每天** 1个或多个时间段。  
**起始时间** ：起始时间不能小于系统的当前时间。  
**结束时间** ：起始时间不能小于系统的当前时间，且结束时间必须大于起始时间，时间间隔大于1分钟。  
**目标实例数** ：大于0的整数。  
实例数设置 | 不在定时时段内时，实例数调整为默认值。  
  
> **说明**
>
>      * 如果设置了多个定时任务，并且两个时间段有时间重合，以第一个添加的时间段为准。设置定时策略时请您避免时间冲突的情况。
>      *
> 定时扩缩容示例，设置定时任务是08:00到09:00，目标实例数为20，默认实例数是5。则根据08:00到09:00之间，将该实例数调整为20个，08:00之前和09:00之后，实例数保持为5个。

  5. 自动扩缩策略设置完成后，单击 **确定** ，会自动启用该策略。策略的状态变成 **已启用** 时，说明策略启用成功。

# **查看和管理自动扩缩策略**

为部署ID配置弹性伸缩策略后，您可以在 **部署管理列表页** ，查看已配置策略的详细信息。

  1. 登录 [容器轻应用平台 __](https://portal.qiniu.com/dora/qapp)。

  2. 在左侧导航栏单击 **具体应用名称** ，在顶部菜单栏选择 **部署管理** ，并切换 **区域** 。

  3. 在部署管理列表页，查看状态为 **已启用自定扩缩** 的部署ID

![img](https://dora-doc.qiniu.com/WX20221103-174109%402x.png)

  4. 鼠标移至 **操作 - > 自动扩缩**，自动扩缩详情页，查看已配置策略的详细信息，下图为定时扩缩容的详情页。

![img](https://dora-doc.qiniu.com/WX20221103-174930%402x.png)

  5. 您可以在自动扩缩详情页，执行以下操作。

操作项 | 说明  
---|---  
**启用** | 当自动扩缩状态为【已停用】时，单击启用来启动策略。  
**停用** | 当自动扩缩状态为【已启用】时，单击停用来禁止策略。  
**修改** | 单击修改来重新编辑自动扩缩策略。  
**查看自动扩缩日志** | 以列表的形式查看最新的20条自动扩缩记录。  

# **查看应用实例监控**

如果您未使用弹性功能，可以依据应用实例的监控指标趋势，评估是否需要为自己的业务设置弹性策略；如果您正在使用弹性功能，可以通过查看监控指标检验弹性规则启用后的效果，合理调整弹性阈值、设置报警规则。

  1. 登录 [容器轻应用平台 __](https://portal.qiniu.com/dora/qapp)。
  2. 在左侧导航栏单击 **具体应用名称** ，在顶部菜单栏选择 **监控中心** 。
  3. 监控维度如下： 
     * [CPU使用率](https://developer.qiniu.com/qapp/development_guidelines/12339/system-monitoring)
     * [内存占用](https://developer.qiniu.com/qapp/development_guidelines/12339/system-monitoring)
     * [GPU使用量](https://developer.qiniu.com/qapp/development_guidelines/12339/system-monitoring)
     * [显存占用](https://developer.qiniu.com/qapp/development_guidelines/12339/system-monitoring)
     * [请求次数](https://developer.qiniu.com/qapp/development_guidelines/12339/system-monitoring)
     * [实例运行时间](https://developer.qiniu.com/qapp/development_guidelines/12339/system-monitoring)

以上内容是否对您有帮助？