Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes GKE HPA仅针对节点CPU利用率,而不是针对部署_Kubernetes_Google Cloud Platform_Cloud_Cluster Computing_Google Kubernetes Engine - Fatal编程技术网

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

Kubernetes GKE HPA仅针对节点CPU利用率,而不是针对部署,kubernetes,google-cloud-platform,cloud,cluster-computing,google-kubernetes-engine,Kubernetes,Google Cloud Platform,Cloud,Cluster Computing,Google Kubernetes Engine,我在一个节点上运行了两个部署A和B,我已将HPA设置为: apiVersion: autoscaling/v2beta1 kind: HorizontalPodAutoscaler metadata: name: A namespace: default spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: A minReplicas: 1 maxReplicas: 4 m

我在一个节点上运行了两个部署A和B,我已将HPA设置为:

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利用率?

度量名称
CPU
太模糊,不针对pod CPU利用率。因为您只是想使用标准的pod CPU,我建议使用v1 HPA版本而不是v2Beta1,并在
targetCPUUtilizationPercentage
字段中定义75,因为这具体指的是pod CPU利用率

我最初尝试使用v1和
targetCPUUtilizationPercentage
时遇到的问题是,它针对的是整个CPU,而不是pod CPU,您可以尝试吗再来一次?我已经将HPA v1与
targetCPUUutilizationPercentage
一起使用,它的工作原理与预期一样。只要您使用v1,我仍然会为两个AutoScaleras获得相同的负载,如果您仍然获得这种行为,我会说这是GKE的一个bug,我建议您与GoogleHi一起解决一个问题,你的GKE集群是什么版本的?1.14.10-GKE.17,但我已经尝试了其他版本,仍然是一样的