1. 功能列表
| 功能点 | 功能详述 | 优先级 | API |
|---|---|---|---|
| 创建 HPA 对象 | 创建 HPA 资源对象 支持 CPU / Memory Utilization |
P0 | CreateUK8SResource |
| 展示 HPA 对象 | 展示 HPA 资源列表 及各个 HPA 对象详细信息 |
P0 | ListUK8SResource DescribeUK8SResource |
| 修改 HPA 对象 | 修改 HPA 资源对象 | P1 | UpdateUK8SResource |
| 删除 HPA 对象 | 删除 HPA资源对象 | P1 | DeleteUK8SResource |
2. 功能详细设计
2.1 创建 HPA 对象
2.1.1 表单添加

调用 CreateUK8SResource API,前端根据输入拼接 Yaml
# 创建一个针对 nginx Deployment,目标 CPU/Memory 扩容阈值均为 50%,最小副本数 1,最大副本数 10 的 HPA 对象apiVersion: autoscaling/v2beta2kind: HorizontalPodAutoscalermetadata:name: nginx # HPA 对象名称namespace: Default # 命名空间spec:scaleTargetRef:apiVersion: apps/v1kind: Deployment # 应用类型name: nginx # 应用名称minReplicas: 1 # 伸缩区间下限maxReplicas: 10 # 伸缩区间上限metrics:- type: Resourceresource:name: memorytarget:type: UtilizationaverageUtilization: 50 # memory 利用率阈值- type: Resourceresource:name: cputarget:type: UtilizationaverageUtilization: 50 # CPU 利用率阈值
2.1.2 Yaml 添加
弹出 Yaml 输入框,展示 2.1.1 中的 Yaml 文件
2.2 展示 HPA 对象
将集群伸缩作为一个单独的横向标签页,放在集群管理页面,下设 HPA、CronHPA、CA 子页
通过 ListUK8SResource 获取 HPA 资源对象列表,其中
Kind: HorizontalPodAutoscaler
ApiVersion: autoscaling/v2beta2
如 ListUK8SResource 没有返回足够的信息,可用 DescribeUK8SResouce
| 展示字段 | API 返回字段 |
|---|---|
| 名称 | Name |
| 应用类型 | Reference “/“ 前半部分 |
| 应用名称 | Reference “/“ 后半部分 |
| 伸缩区间 | Min replicas ~ Max replicas |
| 副本数 | Deployment(或 StatefulSet)pods |
| CPU 指标 | Metrics.resource cpu on pods |
| Memory 指标 | Metrics.resource memory on pods |
| Yaml 按钮 | 展示资源 Yaml |
2.3 修改 HPA 对象
调用 UpdateUK8SResource
Kind: HorizontalPodAutoscaler
重新拼接 Yaml 传入
仅支持修改扩容阈值(可删除、添加、更换指标)和伸缩区间
2.4 删除 HPA 对象
调用 DeleteUK8SResource
Kind: HorizontalPodAutoscaler
