为了满足应用在不同负载下的需求,容器服务不仅提供了容器级别的弹性伸缩,还提供了节点级别的自动伸缩,即通过监测节点的资源占用情况自动调整节点数量。
[backcolor=transparent]节点伸缩采取的策略:
- 当监测指标值超过所设定的扩容条件,以用户设定的扩容步长增加节点数量。
- 当监测指标值低于所设定的缩容条件,以系统默认步长 1 减少节点数量。
[backcolor=transparent]自动伸缩的监测指标:
前提条件
- 需要将集群的 Agent 升级到最新版本。有关如何升级 Agent 的详细信息,参见 升级 Agent。
- 需要将集群的监控服务(acsmonitoring)升级到最新版本。有关如何升级监控服务的详细信息,参见 升级系统服务。
- 开通 RAM 并在集群中更新访问授权信息(操作路径:在 容器服务管理控制台,单击左侧导航栏中的 [backcolor=transparent]集群 > 选择所需的集群 > 单击右侧的 [backcolor=transparent]更多 > 单击 [backcolor=transparent]更新访问控制授权信息)。
使用说明
- 容器服务在判断监测指标是否超出所设定的上下限时,使用的是采集周期(一分钟)内监测指标的平均值(即 CPU 平均使用量和内存平均使用量),而且只有当连续三个采集周期内的监测指标平均值均超出所设定的上下限时,容器服务才会触发扩容或伸缩操作,以避免因为监控数据抖动而引起频繁的扩容或缩容操作。
- 节点缩容只会对通过节点扩容创建出来的节点进行,您手动创建或者添加的节点不受影响。如果您希望这些手动添加的节点也可以自动缩容,需要为这些节点添加以下标签。
aliyun.reschedule==true - 节点缩容的时候,系统会删除集群里的 ECS 实例,您需要提前做好数据备份。
- 不要调度有状态服务到可缩容的节点上。相关信息,参见 Docker Compose 中的 constraint。
- 扩容出来的 ECS 实例不会影响已经部署的容器。新部署的容器会根据容器的部署规则进行部署。
- 节点缩容时,容器服务会把删除掉的 ECS 实例上的容器迁移到其它 ECS 实例上。
创建节点伸缩规则
- 登录 容器服务管理控制台。
- 单击左侧导航栏中的 [backcolor=transparent]集群。
- 在 [backcolor=transparent]集群列表 页面,选择要设置的集群,单击 [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, [backcolor=transparent]缩容步长 目前默认是 1,不支持配置。
- 设置 [backcolor=transparent]集群最小节点数 和 [backcolor=transparent]集群最大节点数。缩容时,如果节点数 ≤ [backcolor=transparent]集群最小节点数,不会进行缩容操作;扩容时,如果节点数 ≥ [backcolor=transparent]集群最大节点数,不会进行扩容操作。
[backcolor=transparent]注意:请谨慎设置伸缩策略。如果在您设置伸缩规则的时候,集群就满足所设置的伸缩条件而且伸缩后集群仍然满足伸缩条件,那么监控将会不断地触发伸缩。
配置实例规格,并单击 [backcolor=transparent]确认配置。
当您设置了扩容条件时,您需要设置扩容出来的节点的规格。有关实例规格配置的信息,参见
创建集群。
此外,您还可以设置是否将扩容出来的节点的 IP 添加到 RDS 实例的白名单中,方便 ECS 实例访问 RDS 实例。
[backcolor=transparent]注意:您仅能将 ECS 实例的 IP 添加到位于同一地域的 RDS 实例的白名单中。
单击 [backcolor=transparent]请选择您想要添加白名单的RDS实例,在弹出的对话框中选择所需的 RDS 实例并单击 [backcolor=transparent]确定。
查看已创建的节点伸缩规则
您可以查看已创建的节点伸缩规则。
- 登录 容器服务管理控制台。
- 单击左侧导航栏中的 [backcolor=transparent]集群。
- 在 [backcolor=transparent]集群列表 页面,选择要设置的集群,单击 [backcolor=transparent]管理。
- 单击左侧导航栏中的 [backcolor=transparent]节点伸缩,即可以看到已创建的节点伸缩规则。
您可以单击 [backcolor=transparent]修改 修改节点伸缩规则或者单击 [backcolor=transparent]删除 删除节点伸缩规则。
错误排查
如何您设置的节点弹性伸缩不起作用,可以参考
弹性伸缩不起作用怎么办 来进行错误的排查。