You need to enable JavaScript to run this app.
导航
自动扩缩
最近更新时间:2024.07.24 17:42:44首次发布时间:2024.06.05 10:53:30

本文为您介绍如何为托管应用配置自动弹性伸缩策略。

背景信息

扩缩容方式

  • 手动扩缩:当应用扩缩容为紧急需求时,例如突发性的流量高峰,您可以选择手动扩缩方式。具体操作可参见 手动扩缩
  • 自动扩缩:当应用扩缩容为非紧急需求时,例如周期性的流量高峰,您可以选择自动扩缩方式。

自动扩缩策略

  • 定时伸缩策略:适用于资源使用率有周期性规律的应用场景,多用于证券、医疗和教育等行业。
  • 指标伸缩策略:适用于突发流量和典型周期性流量的应用场景,多用于互联网、游戏和社交平台等行业。

自动扩缩规则

  1. 期望副本数 = ceil [ 当前副本数 × ( 当前指标 / 期望指标 ) ]。其中,ceil 表示向上取整。
  2. 如果计算出的扩缩比例接近 1.0 ,根据 Kubernetes HPA 计算方法:|扩缩比例 - 1.0| <= 容忍值,将会放弃本次扩缩容。社区版本中默认的容忍值为 0.1(即--horizontal-pod-autoscaler-tolerance参数全局配置的容忍值)。
  3. 混合使用定时伸缩策略和指标伸缩策略时,生效策略为 的关系,即启用的策略中任何一个满足条件时,都会触发扩容/缩容。
    例如:定时设置每天 20:00 起实例保持 1 个副本,到 20:00 时实例副本数会调整为 1;若 20:05 CPU 利用率达到80%,而目标值为 40%,则实例副本数会上升到 1*(80/40)= 2 副本。

前提条件

  • 已创建托管应用。具体操作可参见 创建托管应用
  • 配置定时伸缩策略需前往容器服务控制台安装 Cronhpa 组件,具体操作可参见 安装组件

使用限制

  • 仅部署至容器服务 VKE 集群的托管应用,支持配置自动弹性伸缩策略。
  • 最多支持配置 5 条自动弹性伸缩策略。
  • 最多支持启用 1 个指标伸缩策略和 1 个定时策略。

操作步骤

  1. 登录当前应用。

    1. 登录 持续交付控制台

    2. 在左侧导航栏选择 工作区

    3. 单击目标工作区名称,进入当前工作区。

    4. 在左侧导航栏选择 应用交付 > 应用管理

    5. 在应用管理页面,选择目标托管应用,单击应用卡片,进入当前应用的基本信息页签。

  2. 单击 环境,切换至应用的环境页签。

  3. 在当前应用的环境页签,单击 弹性伸缩,切换至弹性伸缩页签。

  4. 在弹性伸缩页签,单击 配置弹性伸缩

    alt

    • 配置指标伸缩策略
    配置项说明
    伸缩策略本场景选择 指标策略
    策略名称自定义策略名称。
    实例数设置允许达到的最小实例数和最大实例数。策略触发时, 实例将在此范围内伸缩。

    伸缩指标

    配置伸缩的监测指标,系统基于此指标决定是否需要进行伸缩。请至少配置一个伸缩指标。伸缩指标支持:

    • CPU 利用率:按所有 Pod 实例 CPU 使用量 / 所有 Pod 实例 CPU 请求量的百分比,作为监测指标,当 CPU 利用率达到目标值,则进行伸缩。

    • 内存利用率:按所有 Pod 实例内存使用量 / 所有 Pod 实例内存请求量的百分比,作为监测指标,当内存利用率达到目标值,则进行伸缩。

    高级设置

    可选配置。

    • 弹性步长

      • 扩容: 设置每分钟最多扩容的实例数。

      • 缩容 :设置每分钟最多缩容的实例数。

    • 稳定窗口: 稳定窗口期系统趋于维稳状态。主要用于避免一些流量毛刺导致的频繁扩缩容。

      • 扩容:设置扩容稳定窗口。例如:扩容稳定窗口为 5 秒,表示当触发扩容条件时,系统将等待 5 秒的时间窗口。5 秒后若依然触发扩容条件,则进行扩容,否则不扩容。

      • 缩容:设置缩容稳定窗口。例如:缩容稳定窗口为 300 秒,表示当触发缩容条件时,系统将等待 300 秒的时间窗口。300 秒后若依然触发缩容条件,则进行缩容,否则不缩容。

    • 禁止缩容:开启后将永远不会缩容该应用的实例,能有效防止在流量高峰期缩容造成业务风险。默认关闭。

    • 配置定时伸缩策略
    配置项说明
    伸缩策略本场景选择 定时策略
    策略名称自定义策略名称。

    定时重复

    单击 添加规则,配置一条定时规则。配置多条定时规则时,请确保多条规则之间不冲突。

    • 定时重复:支持按小时/天/周/Cron 表达式配置定时重复的周期。

    • 执行策略:当到达设定的计划时间时, 实例数动态伸缩至该值。

    例如:第一条定时策略为每天 10:00 实例数调整为 10 个;第二条定时策略为每天 16:00 实例数调整为 2 个。则在 10:00 至 16:00 之间,应用的实例数将保持为 10 个,在 16:00 至次日 10:00 之间,应用实例数将保持为 2 个。

  5. (可选)策略状态开关默认为 禁用,支持调整为 启用

    说明

    最多支持启用 1 个指标伸缩策略和 1 个定时策略。

  6. 单击 确认,完成配置。
    配置并启用自动扩缩策略后,可通过观察 环境 > 实例列表 中的实例数量,验证自动扩缩策略是否符合预期。

相关操作

应用的自动扩缩策略配置完毕后,您可以在 环境 > 弹性伸缩 页面查看配置的策略详情。根据需要,启用、停用、编辑、删除自动扩缩策略。
alt