创建工作负载弹性伸缩(CustomedHPA) 本文主要介绍如何创建工作负载弹性伸缩(CustomedHPA)。 CustomedHPA策略是自研的弹性伸缩增强能力,能够基于指标(CPU利用率、内存利用率)或周期(每天、每周、每月或每年的具体时间点),对无状态工作负载进行弹性扩缩容。 主要功能如下: 支持按照当前实例数的百分比进行扩缩容。 支持设置一次扩缩容的最小步长。 支持按照实际指标值执行不同的扩缩容动作。 前提条件 使用CustomedHPA策略必须安装ccehpacontroller。若ccehpacontroller版本低于1.2.11,则必须安装prometheus插件;若版本大于或等于1.2.11,则需要安装能够提供Metrics API的插件,如kubeprometheusstack、metricsserver或Prometheus。 约束与限制 CustomedHPA策略:仅支持1.15及以上版本的集群创建。 每个工作负载只能创建一个策略,即如果您创建了一个HPA策略,则不能再对其创建CustomedHPA策略或其他HPA策略,您可以删除该HPA策略后再创建。 1.19.10以下版本的集群中,如果使用HPA策略对挂载了EVS卷的负载进行扩容,当新Pod被调度到另一个节点时,会导致之前Pod不能正常读写。 1.19.10及以上版本集群中,如果使用HPA策略对挂载了EVS卷的负载进行扩容,新Pod会因为无法挂载云硬盘导致无法成功启动。 ccehpacontroller插件的资源使用量主要受集群中总容器数量和伸缩策略数量影响,通常场景下建议每5000容器配置CPU 500m, 内存1000Mi资源,每1000伸缩策略CPU 100m,内存500Mi。 若ccehpacontroller插件版本低于1.2.11,不支持使用kubeprometheusstack插件提供Metrics API来实现工作负载弹性伸缩。