更新时间:2024-01-27 GMT+08:00

CCE容器弹性引擎

CCE容器弹性引擎(cce-hpa-controller)插件是一款CCE自研的插件,能够基于CPU利用率、内存利用率等指标,对无状态工作负载进行弹性扩缩容。

安装本插件后,可创建CustomedHPA策略,具体请参见CustomedHPA策略

主要功能

  • 支持按照当前实例数的百分比进行扩缩容。
  • 支持设置一次扩缩容的最小步长。
  • 支持按照实际指标值执行不同的扩缩容动作。

约束与限制

安装插件

  1. 登录CCE控制台,单击集群名称进入集群,单击左侧导航栏的“插件中心”,在右侧找到CCE容器弹性引擎插件,单击“安装”
  2. 在安装插件页面,设置“规格配置”

    表1 cce-hpa-controller插件规格配置

    参数

    参数说明

    插件规格

    该插件可配置“单实例”“自定义”规格。

    说明:

    单实例仅用于验证场景,商用场景请根据集群规格使用"自定义"资源配置,cce-hpa-controller插件的规格大小主要受集群中总容器数量和伸缩策略数量影响,通常场景下建议每5000容器配置CPU 500m, 内存1000Mi资源,每1000伸缩策略CPU 100m,内存500Mi。

    实例数

    选择上方插件规格后,显示插件中的实例数。

    选择“自定义”规格时,您可根据需求调整插件实例数。

    容器

    选择插件规格后,显示插件容器的CPU和内存配额。

    选择“自定义”规格时,您可根据需求调整插件实例的容器规格。

  3. 该插件可配置“单实例”“自定义”规格。

    • 实例数:选择自定义规格时,请根据业务需求选择合适的实例数。
    • 容器:选择自定义规格时,请根据业务需求选择合适的容器配额。

  4. 设置插件实例的“调度策略”

    • 调度策略对于DaemonSet类型的插件实例不会生效。
    • 设置多可用区部署或节点亲和策略时,需保证集群中存在满足调度策略的节点且拥有足够的资源,否则插件实例将无法运行。
    表2 插件调度配置

    参数

    参数说明

    多可用区部署

    • 优先模式:优先将插件的Deployment实例调度到不同可用区的节点上,如集群下节点不满足多可用区,插件实例将调度到单可用区。
    • 均分模式:插件Deployment实例均匀调度到当前集群下各可用区,增加新的可用区后建议扩容插件实例以实现跨可用区高可用部署;均分模式限制不同可用区间插件实例数相差不超过1,单个可用区资源不足会导致后续其他实例无法调度。
    • 强制模式:插件Deployment实例强制调度到不同可用区的节点上,如集群下节点不满足多可用区,插件实例将无法全部运行。

    节点亲和

    • 不亲和:插件实例不指定节点亲和调度。
    • 指定节点调度:指定插件实例部署的节点。若不指定,将根据集群默认调度策略进行随机调度。
    • 指定节点池调度:指定插件实例部署的节点池。若不指定,将根据集群默认调度策略进行随机调度。
    • 自定义亲和策略:填写期望插件部署的节点标签实现更灵活的调度策略,若不填写将根据集群默认调度策略进行随机调度。

      同时设置多条自定义亲和策略时,需要保证集群中存在同时满足所有亲和策略的节点,否则插件实例将无法运行。

    容忍策略

    容忍策略与节点的污点能力配合使用,允许(不强制)插件的 Deployment 实例调度到带有与之匹配的污点的节点上,也可用于控制插件的 Deployment 实例所在的节点被标记污点后插件的 Deployment 实例的驱逐策略。

    插件会对实例添加针对node.kubernetes.io/not-readynode.kubernetes.io/unreachable污点的默认容忍策略,容忍时间窗为60s。

    详情请参见容忍策略

  5. 单击“安装”

组件说明

表3 cce-hpa-controller组件

容器组件

说明

资源类型

customedhpa-controller

CCE自研的弹性弹性伸缩组件,可基于CPU利用率、内存利用率等指标,对无状态工作负载进行弹性扩缩容。

Deployment

版本记录

表4 CCE容器弹性引擎插件版本记录

插件版本

支持的集群版本

更新特性

1.3.42

v1.21

v1.23

v1.25

v1.27

v1.28

适配CCE v1.28集群

1.3.14

v1.19

v1.21

v1.23

v1.25

v1.27

适配CCE v1.27集群

1.3.10

v1.19

v1.21

v1.23

v1.25

周期规则不受冷却时间影响定时触发

1.3.7

v1.19

v1.21

v1.23

v1.25

支持插件实例AZ反亲和配置

1.3.3

v1.19

v1.21

v1.23

v1.25

  • 适配CCE v1.25集群
  • CronHPA调整Deployment实例数,新增skip场景

1.3.1

v1.19

v1.21

v1.23

适配CCE v1.23集群

1.2.12

v1.15

v1.17

v1.19

v1.21

插件性能优化,降低资源消耗

1.2.11

v1.15

v1.17

v1.19

v1.21

  • 从K8s Metrics API查询资源指标
  • 计算资源利用率时考虑未就绪的Pod

1.2.10

v1.15

v1.17

v1.19

v1.21

适配CCE v1.21集群

1.2.4

v1.15

v1.17

v1.19

  • 插件依赖例行升级
  • 支持配置插件资源规格

1.2.3

v1.15

v1.17

v1.19

适配ARM64节点部署

1.2.2

v1.15

v1.17

v1.19

增强健康检查能力

1.2.1

v1.15

v1.17

v1.19

  • 适配CCE v1.19集群
  • 更新插件为稳定版本

1.1.3

v1.15

v1.17

支持周期扩缩容规则