当前位置: 首页 > 知识库问答 >
问题:

部署时的HPA显示了更高的内存利用率| Kubernetes

谭富
2023-03-14

我最终部署了与其中一个部署相关的hpa,但hpa没有按预期工作。我可以看到,利用率远远超过实际情况,甚至与所有吊舱的利用率之和都不匹配。不知道这个平均利用率是如何计算的,当平均内存为2个吊舱时,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

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

如何降低pod规模?尝试增加目标阈值,但没有帮助

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

共有2个答案

鄂昌胤
2023-03-14

我根据CPU使用情况复制了您的问题,系统开始逐渐冷却。

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

请减少负载并检查是否存在相同问题。

请查看文档[1],其中概述了如何配置水平吊舱自动缩放器。

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

田英卓
2023-03-14

我有同样的问题,然后我进一步调查,发现我并没有安装metric server。请继续安装metric server,如果没有安装,我相信这将解决您的问题。

 类似资料:
  • 我有一个相当简单的web应用程序,它运行在Azure的应用程序服务计划中,运行在B1服务计划中。此计划提供1个CPU和1.75GB RAM。 CPU使用率永远不会超过5%左右,内存使用率永远不会低于52%。 我确实停止了计划中唯一一个运行的站点,内存使用率没有下降。我创建了一个新的应用程序服务计划,并让它运行了一天,在此期间,内存使用率最低为50%,其中没有运行任何应用程序。 我知道这样做的原因很

  • 我有两个场景,其中我有分区 中,读取的输入数据为6.2 GB,缓存的对象为15.1 GB。 案例1: 从 读取的输入数据为 6.2 GB,缓存的对象为 5.5 GB。 对此行为有任何解释或代码参考吗?

  • 我在Kubernetes集群上运行了一个openjdk:8映像。我添加了内存HPA(水平Pod自动缩放),它可以很好地扩展,但由于JVM不会将内存从堆释放回操作系统,所以Pod不会缩小。以下是hpa。亚马尔 解决这个问题的一种方法是使用正确的GC并使其释放内存,但由于JVM被设计为不经常从堆中释放内存,因此这样做不是一个好主意。库伯内特斯有没有办法解决这个问题?就像不检查操作系统的内存使用情况一样

  • 我遇到了这样一种情况,在我们的Azure应用程序服务中为生成了内存不足异常。Net核心Web API,即使内存 我已经查看了这篇SO文章来检查私有字节和其他东西,但仍然没有看到耗尽的内存来自哪里。我看到内存工作集上的最大使用量为1.5GB,远低于7GB。 支持故障排除下没有显示任何内容- 我不知道下一步该去哪里,任何帮助都将不胜感激。

  • 我正在使用Glide在我的中加载GIF。 图像来自服务器,具有高分辨率和大量帧。 我注意到,一旦加载和播放GIF,内存使用率很高,可能导致内存不足。 我尝试了以下Glide方法(),但内存使用率没有改变。 Glide中还有其他可以使用的方法吗?

  • 我正在使用mod安全规则https://github.com/SpiderLabs/owasp-modsecurity-crs清理用户输入数据。在将用户输入与mod security rule正则表达式匹配时,我面临着cpu激增和延迟。总的来说,它包含500个正则表达式来检查不同类型的攻击(xss、badrobots、generic和sql)。对于每个请求,我检查所有参数并对照所有这500个正则表