Kubernetes GKE HPA仅针对节点CPU利用率,而不是针对部署
我在一个节点上运行了两个部署A和B,我已将HPA设置为: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
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,但我已经尝试了其他版本,仍然是一样的