我在一个节点上运行了两个部署A和B,我已经这样设置了hpas:
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: A
namespace: default
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: A
minReplicas: 1
maxReplicas: 4
metrics:
- type: Resource
resource:
name: cpu
targetAverageUtilization: 75
(与B相同,但名称当然被替换了)。
但是,在监视HPA时,两个HPA的目标CPU利用率始终相同,因此,即使A和B的模拟工作负载不同,它们也总是同时扩展,因此看来HPA的目标是节点cpu利用率而不是部署。通过在节点上运行独立于A和B的作业进行的进一步测试仍然会触发A和B的HPA扩展。
如何配置它,以便每个HPA仅针对目标部署的CPU利用率?
答案 0 :(得分:1)
度量标准名称cpu
含糊不清,没有以Pod CPU利用率为目标。由于您只是想使用标准的Pod CPU,因此我建议使用v1 HPA版本而不是v2Beta1,并在targetCPUUtilizationPercentage
字段中定义75,因为它专门指Pod CPU的使用率