请求配置支持CPU与Memory指标的Horizontal Pod Autoscaler YAML文件
同时支持CPU和内存指标的HPA配置方案
方法一:修改现有HPA
直接编辑已有的HPA资源,添加内存指标配置:
- 执行命令进入编辑模式:
kubectl edit hpa <你的HPA名称>
- 在
spec.metrics字段下,添加内存指标的配置块(与CPU指标同级):
spec: metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 70 # 替换为你的CPU利用率阈值 - type: Resource resource: name: memory target: type: Utilization averageUtilization: 80 # 替换为你的内存利用率阈值
- 保存退出后,Kubernetes会自动应用更新。
方法二:创建全新的HPA YAML配置
如果编辑现有配置失败,可直接编写完整YAML文件重新创建:
apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: <你的HPA名称> namespace: <你的命名空间> spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment # 若为有状态服务,可改为StatefulSet name: <目标工作负载名称> minReplicas: 2 maxReplicas: 10 metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 70 - type: Resource resource: name: memory target: type: Utilization averageUtilization: 80
执行创建命令:
kubectl apply -f <你的HPA配置文件名>.yaml
关键注意事项
- 确保目标工作负载(Deployment/StatefulSet)的Pod模板中配置了CPU和内存的requests,HPA依赖这些值计算利用率,未配置requests会导致HPA无法正常工作。
- 内存阈值需根据业务实际情况设置,避免因突发内存占用引发频繁扩缩容。
- 优先使用
autoscaling/v2版本API,该版本支持更丰富的指标配置,兼容性更强。
内容的提问来源于stack exchange,提问作者Navid_Shaikh
相关产品推荐
相关产品推荐

