为了满足应用在不同负载下的需求,容器服务支持服务的弹性伸缩,即根据服务的容器资源占用情况自动调整容器数量。
您可以在创建应用时为应用设置容器自动伸缩规则,或者通过变更应用配置为已创建的应用添加容器自动伸缩规则。
[backcolor=transparent]弹性伸缩策略:
- 当监测指标值超过所设定的上限,以用户设定的步长增加容器数量。
- 当监测指标值低于所设定的下限,以用户设定的步长减少容器数量。
[backcolor=transparent]服务监测指标:
前提条件
- 需要将集群的 Agent 升级到最新版本。有关如何升级 Agent 的详细信息,参见 升级 Agent。
- 需要将集群的监控服务(acsmonitoring)升级到最新版本。有关如何升级监控服务的详细信息,参见 升级系统服务。
- 开通 RAM 并在集群中更新访问授权信息(操作路径:在 容器服务管理控制台,单击左侧导航栏中的 [backcolor=transparent]集群 > 选择所需的集群 > 单击右侧的 [backcolor=transparent]更多 > 单击 [backcolor=transparent]更新访问控制授权信息)。
使用说明
- 容器服务在判断监测指标是否超出所设定的上下限时,使用的是采集周期(一分钟)内监测指标的平均值(即 CPU 平均使用量和内存平均使用量),而且只有当连续三个采集周期内的监测指标平均值均超出所设定的上下限时,容器服务才会触发扩容或伸缩操作,以避免因为监控数据抖动而引起频繁的扩容或缩容操作。
- 容器缩容的时候,系统会删除集群里的容器,您需要提前做好数据备份。
设置方法
您可以通过以下方法创建容器弹性伸缩:
[backcolor=transparent]注意:如何您设置的容器弹性伸缩不起作用,可以参考
弹性伸缩不起作用怎么办 来进行错误的排查。
使用镜像创建应用
- 在创建应用时,选择 [backcolor=transparent]使用镜像创建。
有关如何创建应用的详细信息,参见 创建应用。
在页面最下边的 [backcolor=transparent]调度配置 中,勾选 [backcolor=transparent]开启 自动伸缩并设置自动伸缩参数。
约束规则:
- [backcolor=transparent]扩容条件 的可选范围是 50%~100%,[backcolor=transparent]缩容条件 的可选范围是 0%~50%。
- [backcolor=transparent]扩容条件 和 [backcolor=transparent]缩容条件 的差值不能小于30%。
- [backcolor=transparent]步长 的可选范围为 1~5,默认为 1。
- 设置 [backcolor=transparent]最小容器数量 和 [backcolor=transparent]最大容器数量。缩容时,如果容器数 ≤ [backcolor=transparent]最小容器数量,不会进行缩容操作;扩容时,如果容器数 ≥ [backcolor=transparent]最大容器数量,不会进行扩容操作。
[backcolor=transparent]注意:
- 建议不要同时设置基于 CPU 使用量和内存使用量的复合伸缩规则。
- 请谨慎设置伸缩策略。如果在您设置伸缩规则的时候,应用就满足所设置的伸缩条件而且伸缩后应用仍然满足伸缩条件,那么监控将会不断地触发伸缩。
使用编排模板创建应用
- 在创建应用时,选择 [backcolor=transparent]使用编排模板创建。
有关如何创建应用的详细信息,参见 创建应用。
- 选择 [backcolor=transparent]使用已有编排模板 或者使用您自己的编排模板。
添加容器自动伸缩的配置信息。
- 通过 [backcolor=transparent]新增服务。
在弹出的对话框中, 单击 [backcolor=transparent]更多设置,勾选 [backcolor=transparent]开启 自动伸缩并设置自动伸缩参数。
- 手动在模板中设置
在编排模板的labels配置中,添加相应的标签:指定步长(默认值为 1):aliyun.auto_scaling.step - 最小容器数量(默认值为 1):aliyun.auto_scaling.min_instances
- 最大容器数量(默认值为 10):aliyun.auto_scaling.max_instances
- 以 CPU 使用量为指标指定上限: aliyun.auto_scaling.max_cpu
- 指定下限:aliyun.auto_scaling.min_cpu
以内存使用量为指标
- 指定上限:aliyun.auto_scaling.max_memory
- 指定下限:aliyun.auto_scaling.min_memory
[backcolor=transparent]示例:
变更应用配置
您可以通过已有应用的配置为已创建的应用添加容器自动伸缩设置。
- 在应用列表页面,选择需要设置的应用并单击右侧的 [backcolor=transparent]变更配置。
有关变更配置的操作信息,参见 变更应用配置。
- 在 [backcolor=transparent]模板 的labels配置中,添加容器自动伸缩相应的标签。
查看已创建的容器伸缩规则
您可以查看已创建的容器伸缩规则。
- 登录 容器服务管理控制台。
- 单击左侧导航栏中的 [backcolor=transparent]应用。
- 在 [backcolor=transparent]应用列表 页面,选择所需的应用,单击 [backcolor=transparent]变更应用配置。
您可以看到已创建的容器伸缩规则。您可以在 [backcolor=transparent]模板 中修改容器伸缩规则。