更新时间:2026-02-06 GMT+08:00
分享

HPA弹性扩缩容

简介

本章节主要指导用户在CCI 2.0配置使用HorizontalPodAutoscaler(HPA,Pod水平自动扩缩容),自动更新无状态负载资源, 目的是自动扩缩无状态负载以满足需求。

HPA会定期调整无状态负载的所需规模,以匹配期望的指标, 例如,平均CPU利用率、平均内存利用率或您指定的任何其他自定义指标。

如何配置HPA

  1. 登录云容器实例CCI 2.0控制台,单击左侧导航栏“负载管理”,单击“无状态负载”中的某个负载进入负载详情界面。

  2. 单击“弹性伸缩”。
  3. 创建HPA策略可以通过以下两种方式,控制台方式和YAML文件方式。

    • 方式一:通过控制台创建HPA策略。
      1. 单击“创建HPA策略”,根据界面提示补充相关信息。相关配置项如表1所示。
        表1 创建HPA策略

        配置项

        说明

        名称

        自定义HPA策略名称。

        命名空间

        选择指定命名空间。如需新建请单击“创建命名空间”

        关联工作负载

        系统会自动匹配关联工作负载。

        实例范围

        HPA可伸缩的Pod实例数量上下限。

        伸缩配置

        • 系统默认

          选择系统默认则采用K8S社区推荐的默认行为进行负载伸缩。

        • 自定义

          选择自定义则用户可以自定义稳定窗口、步长、优先级等策略实现更灵活的配置,未配置的参数将采用K8S社区推荐的默认值。

        系统策略

        选择所需的指标并设置期望值。

    • 方式二:通过YAML创建HPA策略。
      1. 单击“YAML创建”创建HPA策略。

        创建HPA的YAML示例如下:

        kind: HorizontalPodAutoscaler
        apiVersion: cci/v2
        metadata:
          name: alpha-test-hpa
          namespace: cci-test              # 命名空间
        spec:
          scaleTargetRef:
            kind: Deployment
            name: nginx
            apiVersion: cci/v2
          minReplicas: 1                   # 最小副本数
          maxReplicas: 5                   # 最大副本数
          metrics:
            - type: Resource
              resource:
                name: memory               # 支持CPU、Memory资源指标
                target:
                  type: Utilization        # 扩缩类型
                  averageUtilization: 50   # 触发扩缩的平均使用率
            - type: Resource
              resource:
                name: cpu
                target:
                  type: Utilization
                  averageUtilization: 50

  4. 进入负载详情,选择负载内的某个Pod单击“查看终端”按钮进入Pod终端,输入命令:

    while true; do curl 127.0.0.1:80; done

    等待HPA触发,负载扩容并上报事件。

相关文档