GKE HPA仅针对节点CPU利用率,而不针对目标部署

时间:2020-03-26 16:50:52

标签: kubernetes google-cloud-platform cloud cluster-computing google-kubernetes-engine

我在一个节点上运行了两个部署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利用率?

1 个答案:

答案 0 :(得分:1)

度量标准名称cpu含糊不清,没有以Pod CPU利用率为目标。由于您只是想使用标准的Pod CPU,因此我建议使用v1 HPA版本而不是v2Beta1,并在targetCPUUtilizationPercentage字段中定义75,因为它专门指Pod CPU的使用率