水平自动伸缩(HPA)
如果业务不需要使用hpa,请不要配置hpa相关参数。hpa开关配置关闭,也会创建hpa资源,只是不会生效扩缩容。
参数 |
说明 |
是否必填 |
备注 |
---|---|---|---|
hpa_scale_disabled |
是否禁用hpa,false表示不禁用;true表示禁用。 |
是 |
取值为false是开启hpa。 |
polling_interval |
负载检测周期,单位秒。 |
否 |
- |
origin_instances |
初始副本数,不配置则使用min_instances值。 |
否 |
- |
min_instances |
最小副本数 |
是 |
不配置默认为1。 |
max_instances |
最大副本数 |
是 |
不配置默认为1。 |
hpa_scale_triggers |
扩缩容指标配置,目前仅支持cpu/memory。 |
是 |
仅统计主容器资源。 |
hpa_scale_up_rules |
扩容规则,定义稳定时间窗,减少扩容毛刺。 |
否 |
- |
hpa_scale_down_rules |
缩容规则,定义稳定时间窗,减少缩容毛刺。 |
否 |
- |
hpa_scale_up_policies |
扩容策略,定义扩容步长。 |
否 |
- |
hpa_scale_down_policies |
缩容策略,定义缩容步长。 |
否 |
- |
示例:
在resources.yaml中添加hpa参数如下:
hpa: #弹性伸缩配置 $ref: 'config/hpa.yaml#/recommend'
在config目录,增加一个hpa.yaml文件,存放hpa的相关配置项。
recommend: disabled: true #true表示关闭hpa,false表示开启hpa pollingInterval: 5 #负载检测周期,单位秒 minReplicas: 2 #最小副本数 maxReplicas: 4 #最大副本数 triggers: #业务根据时间情况选择弹性伸缩策略 -type: CPU #业务容器的CPU利用率大于40%则触发扩容条件 metadata: averageUtilization: 40% -type: Memory #业务容器的内存利用率大于60%则触发扩容条件 metadata: averageUtilization: 60%