更新时间:2023-07-07 GMT+08:00
分享

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的服务,详见提供资源指标

操作步骤

  1. 登录MCP控制台,单击MCP实例名称,在左侧导航栏中选择“HPA策略 ”
  2. 选择HPA策略所在的命名空间,并单击右上角“创建HPA策略”。若没有可用的命名空间,可参考创建命名空间添加。

  3. 设置参数。

    • 策略名称:新建策略的名称,命名必须唯一。
    • 命名空间2中选择的命名空间。
    • 生效工作负载:选择需要创建策略的工作负载。
    • 指标项:触发弹性扩缩容策略的系统指标,可选“CPU”或者“内存”
    • 触发策略:选择触发策略及其指标阈值,阈值需为整数。支持“使用率”“平均使用量”两种触发策略。
      • 使用率:单位为%,使用率 = 工作负载Pod的实际使用量 / 申请量。
      • 平均使用量:指标项选择“CPU”时,单位为微核;指标项选择“内存”时单位为兆。
    • 容忍度:实际监控指标相对于目标值的波动范围,大于该波动范围时,触发扩容或缩容。取值范围是:0-1,保留的小数不超过2位。例如触发策略为CPU使用率80%,容忍度0.1,则高于CPU使用率72%时触发扩容,低于CPU使用率88%时触发缩容。
    • 冷却时间:上次扩/缩容和本次扩/缩容之间的时间间隔,表示策略成功触发后,在缩容/扩容冷却时间内,不会再次触发缩容/扩容。
    • 目标集群:设置目标集群权重及对应集群的实例范围,仅显示工作负载部署的集群。HPA策略将按照集群权重大小确定优先级,在目标集群中执行扩缩容动作。
      图1 目标集群配置

    若提示“metric server未安装”,请先在目标集群中安装metrics-server插件。

  4. 单击“确认”。创建成功后可在HPA策略列表中查看。

相关操作

通过MCP控制台,您还可以执行表1中的操作。
表1 相关操作

操作

说明

查看详情

  1. 选择HPA策略所在的命名空间。
  2. (可选)根据HPA策略名称进行搜索。
  3. 单击HPA策略名称即可查看策略详情,包括基本信息以及各集群的策略信息。

查看YAML

单击HPA策略名称后的“查看YAML”,可查看当前策略的YAML文件。

事件

单击HPA策略名称后的“事件”,可查看当前策略的K8s事件,事件保存时间为1小时,1小时后自动清除数据。

更新

  1. 单击HPA策略名称后的“更多 > 更新”
  2. 根据HPA策略参数更改信息。
  3. 单击“确认”提交已修改的信息。

删除

单击HPA策略名称后的“更多 > 删除”,并单击“是”进行确认。

批量删除

  1. 勾选需要删除的HPA策略。
  2. 单击左上角的“批量删除”
  3. 单击“是”进行确认。
分享:

    相关文档

    相关产品