HPA策略
HPA策略即Horizontal Pod Autoscaling,是Kubernetes中实现Pod水平自动伸缩的功能,可以根据工作负载资源使用情况,动态调整工作负载实例数。支持系统指标(CPU和内存,依赖 Metrics API)和自定义指标(自定义上报,依赖 Custom Metrics API)两种方式。
使用限制
- 需要创建弹性扩缩容策略的集群至少有一个实例, 如果没有实例则会自动进行扩容。
- 一个集群一次扩容的实例数的上限为min(max(4,2 * current replicas),MaxReplicas)个,防止一次性扩容个数过多。
- 使用HPA需要在集群中安装能够提供Metrics API的插件,如metrics-server或Prometheus。若使用Prometheus,需要将Prometheus注册为Metrics API的服务,详见提供资源指标。
操作步骤
- 登录MCP控制台,单击MCP实例名称,在左侧导航栏中选择“HPA策略 ”。
- 选择HPA策略所在的命名空间,并单击右上角“创建HPA策略”。若没有可用的命名空间,可参考创建命名空间添加。
- 设置参数。
- 策略名称:新建策略的名称,命名必须唯一。
- 命名空间:2中选择的命名空间。
- 生效工作负载:选择需要创建策略的工作负载。
- 指标项:触发弹性扩缩容策略的系统指标,可选“CPU”或者“内存”。
- 触发策略:选择触发策略及其指标阈值,阈值需为整数。支持“使用率”或“平均使用量”两种触发策略。
- 使用率:单位为%,使用率 = 工作负载Pod的实际使用量 / 申请量。
- 平均使用量:指标项选择“CPU”时,单位为微核;指标项选择“内存”时单位为兆。
- 容忍度:实际监控指标相对于目标值的波动范围,大于该波动范围时,触发扩容或缩容。取值范围是:0-1,保留的小数不超过2位。例如触发策略为CPU使用率80%,容忍度0.1,则高于CPU使用率72%时触发扩容,低于CPU使用率88%时触发缩容。
- 冷却时间:上次扩/缩容和本次扩/缩容之间的时间间隔,表示策略成功触发后,在缩容/扩容冷却时间内,不会再次触发缩容/扩容。
- 目标集群:设置目标集群权重及对应集群的实例范围,仅显示工作负载部署的集群。HPA策略将按照集群权重大小确定优先级,在目标集群中执行扩缩容动作。
图1 目标集群配置
若提示“metric server未安装”,请先在目标集群中安装metrics-server插件。
- 单击“确认”。创建成功后可在HPA策略列表中查看。
相关操作
操作 |
说明 |
---|---|
查看详情 |
|
查看YAML |
单击HPA策略名称后的“查看YAML”,可查看当前策略的YAML文件。 |
事件 |
单击HPA策略名称后的“事件”,可查看当前策略的K8s事件,事件保存时间为1小时,1小时后自动清除数据。 |
更新 |
|
删除 |
单击HPA策略名称后的“更多 > 删除”,并单击“是”进行确认。 |
批量删除 |
|