首页 > 解决方案 > 部署 HPA 显示更多内存利用率 Kubernetes

问题描述

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

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

关于为什么内存使用错误以及它可能来自哪里的任何建议。

如何使吊舱缩小工作。?尝试增加没有帮助的目标阈值

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

标签: dockerkubernetesgoogle-kubernetes-enginekubectlhorizontal-scaling

解决方案


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

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

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

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

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


推荐阅读