部署的 HPA 显示更多的内存利用率 |库伯内斯

HPA on deployment shows more memory utilization | Kubernetes

我终于部署了与其中一个部署相关的 hpa,但 hpa 没有按预期工作。我可以看到利用率远远超过实际情况,甚至不符合所有 pods 的利用率总和。不确定这个平均利用率是如何计算的,当 2 pods 的平均内存 8gi 显示 500%/85% 时,甚至不明白为什么平均利用率显示更多,5*8gi。 而且我没有看到 pods 正在缩减。

NAME                                      REFERENCE                             TARGETS             MINPODS   MAXPODS   REPLICAS   AGE
horizontalpodautoscaler.autoscaling/hpa   Deployment/task-deployment1   545%/85%, 1%/75%            2         5         5          36h

下面是 hpa 清单文件

apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
  name: hpa
  namespace: namespace-CapAm
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: task-deployment1
  minReplicas: 2
  maxReplicas: 5
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: 75
  - type: Resource
    resource:
      name: memory
      target:
        type: Utilization
        averageUtilization: 85

关于内存利用率为何错误以及它可能来自何处的任何建议。

如何让 Pod 缩减工作。?尝试增加目标阈值但没有帮助

NAME                                      REFERENCE                             TARGETS             MINPODS   MAXPODS   REPLICAS   AGE
horizontalpodautoscaler.autoscaling/hpa   Deployment/task-deployment1   545%/277%, 1%/75%            2         5         5          36h

我已经根据 CPU 使用情况重现了您的问题,系统开始逐渐降温。

您可以不时使用 "kubectl get hpa" 来观察系统行为。

请降低负载并检查您是否有同样的问题。

请查看文档 [1],其中概述了如何配置水平 pod Autoscaler。

[1] https://cloud.google.com/kubernetes-engine/docs/how-to/horizontal-pod-autoscaling

我遇到了同样的问题,然后我进一步调查发现我没有安装指标服务器。如果没有安装,请继续安装 metric server 我相信会解决你的问题。