在分布式应用管理中,弹性伸缩是很重要的一个运维能力。弹性伸缩能够感知应用内各个实例的状态,并根据状态动态实现应用扩容、缩容。在保证服务质量的同时,提升应用的可用率。

为什么使用弹性伸缩

互联网、游戏类等应用在促销活动期间容易出现突发性流量洪流,SLA 和资源成本不易平衡,极易造成系统响应延迟、系统瘫痪等问题。EDAS 继承阿里巴巴应对双 11 的流量洪流技术,提供秒级自动弹性功能,保证 SLA 的同时也节省机器保有成本。多适用于互联网、游戏以及社交平台等行业。

监控指标弹性

EDAS 通过监控您应用的 CPU 使用率和内存使用率,依据弹性策略自动为您扩容和缩容应用实例。

注意
  • 单个应用内最多可配置一条监控指标弹性策略。
  • 弹性策略启用时,请勿进行应用生命周期管理操作,请停用弹性策略后,再执行。
  • 执行应用变更(如部署应用、应用扩缩、变更规格等)时,无法添加弹性策略。
  1. 登录 EDAS 控制台
  2. 在左边导航树选择应用管理 > 应用列表,并单击具体 K8s 应用名称。
  3. 在应用详情页面单击实例部署信息页签,并单击弹性伸缩折叠面板,展开折叠面板后单击添加弹性策略
  4. 在右侧滑出的添加弹性策略面板中配置弹性规则,配置完成后单击确定
    • 策略名称:弹性策略的名称,须以字母开头,且由字母、数字、下划线、中划线组成。长度范围为 1~64 字符。
    • 策略类型:目前仅支持监控指标弹性策略,定时弹性策略即将上线。
    • 触发条件:支持CPU使用率Mem使用率
    • 最大应用实例数:触发弹性伸缩条件后,应用扩容,其实例数可达到的目标值。
    • 最小应用实例数:触发弹性伸缩条件后,应用缩容,其实例数可达到的目标值。
    说明
    • 单选CPU使用率Mem使用率时,当前应用的CPU使用率或者Mem使用率大于或者等于所设的目标值,则对应用进行扩容,其应用实例数不超所设的最大应用实例数;反之,进行缩容,其应用实例数不低于所设的最小应用实例数
    • 全选CPU使用率Mem使用率时,如果二者使用率同时大于或者等于所设目标,则应用进行扩容,其应用实例数不超所设的最大应用实例数;反之,进行缩容,其应用实例数不低于所设的最小应用实例数

    最大应用实例数最小应用实例数的计算公式:目标实例数 = 当前实例数 ×(当前指标/期望指标)

  5. 监控指标策略列表,单击操作列的启用

结果验证

使用弹性伸缩前,应用实例数如下图所示。

EDAS-使用HAP弹性伸缩前应用实例数

弹性策略如下图所示。

EDAS-HPA弹性伸缩策略示意图

启用该弹性策略后,SAE 自动监测 CPU 使用率,当满足触发条件时,SAE 依据弹性策略进行应用实例扩容、缩容。

下图相对于上图,多了一个应用实例,表示弹性成功。SAE 依据弹性策略自动为应用扩容了一个应用实例。

EDAS-HPS弹性伸缩成功

更多信息

弹性策略启用后,您可以对弹性策略进行删除停止启用编辑,还可以进行一系列应用管理操作。