文档首页 > > 用户指南> 弹性伸缩> 工作负载伸缩

工作负载伸缩

分享
更新时间: 2020/01/22 GMT+08:00

工作负载伸缩提供HPA策略和CustomedHPA策略两种创建方式。两种策略的对比如下:

  • HPA策略:即Horizontal Pod Autoscaling,是Kubernetes中实现POD水平自动伸缩的功能。该策略在kubernetes社区HPA功能的基础上,增加了HPA级别的冷却时间窗和扩缩容阈值等功能。
  • CustomedHPA策略:华为云自研的弹性伸缩增强能力,能够基于CPU利用率、内存利用率等指标,对无状态工作负载进行弹性扩缩容。
    主要功能如下:
    • 支持按照当前实例数的百分比进行扩缩容。
    • 支持设置一次扩缩容的最小步长。
    • 支持按照实际指标值执行不同的扩缩容动作。

前提条件

  • 使用HPA策略功能,需要安装metrics-server插件, 以采集HPA策略所关联工作负载的运行指标。
  • 使用CustomedHPA策略功能,需要安装cce-hpa-controllerprometheus插件,且两个插件均需为1.1.0及以上版本。

限制条件

  • HPA策略:仅支持1.13及以上版本的集群创建。
  • CustomedHPA策略:仅支持1.15及以上版本的集群创建。

创建HPA策略

  1. CCE控制台中,单击左侧导航栏的“弹性伸缩”,在“工作负载伸缩”页签中,查看界面提示,确认已安装metrics-server插件且处于正常状态。
  2. 安装metrics-server插件后,单击“创建HPA策略”
  3. 在打开的“创建工作负载HPA策略”页面中,参照表1设置策略参数。

    表1 HPA策略参数配置

    参数

    参数说明

    策略名称

    新建策略的名称,请自定义。

    集群名称

    请选择工作负载所在的集群。

    命名空间

    请选择工作负载所在的命名空间。

    关联工作负载

    请选择要设置HPA策略的工作负载。

    实例范围

    请输入最小实例数和最大实例数。策略触发时,工作负载实例将在此范围内伸缩。

    策略规则

    • 指标:可选择“CPU利用率”“内存利用率”。利用率 = 工作负载容器组(Pod)的实际使用量 / 申请量。
    • 期望值:请输入期望值。期望值表示所选指标的期望值,与阈值共同起作用,通过(期望值 / 阈值 × 当前实例数)来计算需要伸缩的实例数。
    • 阈值:指标值小于缩容阈值时,触发缩容;指标值大于扩容阈值时,触发扩容。

    您可以单击“添加策略规则”,设置多条伸缩策略。

  4. 设置完成后,单击“创建”将自动跳转到“工作负载伸缩”页面,在页面下方的列表中可以看到刚刚创建的HPA策略。

    图1 创建HPA策略

创建CustomedHPA策略

  1. CCE控制台中,单击左侧导航栏的“弹性伸缩”,在“工作负载伸缩”页签中,查看界面提示,确认已安装cce-hpa-controllerprometheus插件且处于正常状态,两个插件均需为1.1.0及以上版本。
  2. 安装cce-hpa-controller和prometheus插件后,单击“创建CustomedHPA策略”
  3. 在打开的“创建工作负载CustomedHPA策略”页面中,参照表2设置策略参数。

    表2 CustomedHPA策略参数配置

    参数

    参数说明

    策略名称

    新建策略的名称,请自定义。

    集群名称

    请选择工作负载所在的集群。

    命名空间

    请选择工作负载所在的命名空间。

    关联工作负载

    请选择要设置CustomedHPA策略的工作负载。

    实例范围

    请输入最小实例数和最大实例数。

    策略触发时,工作负载实例将在此范围内伸缩。

    冷却时间

    请输入时间值,单位为分钟。

    伸缩策略执行后停止继续匹配的时间,目的是等待伸缩动作完成后在系统稳定且集群正常的情况下进行下一次策略匹配。

    策略规则

    单击“添加策略规则”在弹出的窗口中设置伸缩策略参数:

    • 规则名称:请输入规则名称,可自定义。
    • 类型:默认选择“指标触发”,不可取消。
    • 触发条件:请选择“CPU利用率”“内存利用率”,选择“>”“<”,并输入百分比的值。如图2中所示,则表示CPU利用率瞬时值 > 50% 时,立即执行此规则。
      图2 触发条件
    • 执行动作:与上述“触发条件”相对应,达到触发条件值后所要执行的动作,可添加多个执行动作。如图3中所示,当CPU利用率超过50%时将伸缩至5个实例,当超过70%时伸缩至8个实例,当超过90%时在8个实例基础上再增加10个实例。反之,按此规则执行缩容。
      图3 执行动作
    • 是否启用:可单击启用或关闭该策略规则。

    单击确定后,您可以在“策略规则”列表中查看添加的规则,并可执行开启关闭、编辑、删除等操作。

    单击“策略规则”列表下方的“添加策略规则”,可设置多条策略。

  4. 设置完成后,单击“创建”将自动跳转到“工作负载伸缩”页面,在页面下方的列表中可以看到刚刚创建的CustomedHPA策略。

    图4 创建CustomedHPA策略

    若该工作负载已经创建过HPA策略,再对其创建CustomedHPA策略后,原HPA策略将被替换。

管理HPA/CustomedHPA策略

HPA或CustomedHPA策略创建完成后,可对创建的策略进行更新、克隆、编辑YAML以及删除等操作。

更新HPA或CustomedHPA策略

  1. 登录CCE控制台,在左侧导航栏中单击“弹性伸缩”,在“工作负载伸缩”页签中,单击策略后方“操作”栏中的“更新”
  2. 在打开的“更新工作负载HPA策略”页面中,参考表1更新策略参数。
  3. 单击“更新”按钮完成策略更新。

克隆HPA或CustomedHPA策略

  1. 登录CCE控制台,在左侧导航栏中单击“弹性伸缩”,在“工作负载伸缩”页签中,单击策略后方“操作”栏中的“克隆”
  2. 在打开的“创建工作负载HPA策略”页面中,可以看到部分参数(如实例范围、冷却时间和策略规则)已经克隆过来,请按照业务需求补充或修改其他策略参数。
  3. 单击“创建”按钮完成策略克隆,在“工作负载伸缩”页签下的策略列表中可以看到新克隆的策略。

编辑YAML

  1. 登录CCE控制台,在左侧导航栏中单击“弹性伸缩”,在“工作负载伸缩”页签中,单击策略后方“操作”栏中的“更多 > 编辑YAML”
  2. 在弹出的“编辑YAML”窗口中,可以对YAML进行修改和下载。
  3. 单击右上角的关闭按钮完成操作。

删除HPA或CustomedHPA策略

  1. 登录CCE控制台,在左侧导航栏中单击“弹性伸缩”,在“工作负载伸缩”页签中,单击策略后方“操作”栏中的“更多 > 删除”
  2. 在弹出的“删除HPA策略”窗口中,确认是否删除。
  3. 单击“是”完成删除操作。

查看HPA策略

您可以查看HPA策略的规则、状态和事件,参照界面中的报错提示有针对性的解决异常事件。

  1. 登录CCE控制台,在左侧导航栏中单击“弹性伸缩”,在“工作负载伸缩”页签中,单击要查看的HPA策略前方的
  2. 在展开的区域中,可以看到规则、状态和事件页签,若策略异常,请参照界面中的报错提示进行定位处理。

    您还可以在工作负载详情页中查看已创建的HPA策略,登录CCE控制台,在左侧导航栏中单击“工作负载 > 无状态负载 Deployment”或“工作负载 > 有状态负载 StatefulSet”,单击工作负载后方“操作”中的“更多 > 伸缩”,在该工作负载详情页的“伸缩”页签中可以看到“弹性伸缩 - HPA / CustomedHPA”,您在“弹性伸缩”页面配置的HPA策略也会在这里显示。

    表3 事件类型及名称

    事件类型

    事件名称

    描述

    正常

    SuccessfulRescale

    扩缩容成功

    异常

    InvalidTargetRange

    无效的TargetRange

    InvalidSelector

    无效选择器

    FailedGetObjectMetric

    获取对象失败数

    FailedGetPodsMetric

    获取Pod列表失败指标

    FailedGetResourceMetric

    获取资源失败数

    FailedGetExternalMetric

    获取外部指标失败

    InvalidMetricSourceType

    无效的指标来源类型

    FailedConvertHPA

    转换HPA失败

    FailedGetScale

    获取比例尺失败

    FailedComputeMetricsReplicas

    失败计算指标副本数

    FailedGetScaleWindow

    获取ScaleWindow失败

    FailedRescale

    失败重新扩缩容

查看CustomedHPA策略

您可以查看CustomedHPA策略的规则和最新状态,参照界面中的报错提示有针对性的解决异常事件。

  1. 登录CCE控制台,在左侧导航栏中单击“弹性伸缩”,在“工作负载伸缩”页签中,单击要查看的CustomedHPA策略前方的
  2. 在展开的区域中,可以看到规则页签,若策略异常,请单击“最新状态”栏中的“详情”,参照展开的详细信息进行定位处理。

    您还可以在工作负载详情页中查看已创建的CustomedHPA策略,登录CCE控制台,在左侧导航栏中单击“工作负载 > 无状态负载 Deployment”或“工作负载 > 有状态负载 StatefulSet”,单击工作负载后方“操作”中的“更多 > 伸缩”,在该工作负载详情页的“伸缩”页签中可以看到“弹性伸缩 - HPA / CustomedHPA”,您在“弹性伸缩”页面配置的CustomedHPA策略也会在这里显示。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区