6

我在 GKE 集群上安装了最新版本(1.24.5)的stable/nginx-ingresswith 。autoscaling: true

完成部署后,HPA 表示unable to read all metrics

在此处输入图像描述

你能帮我调试和修复它吗?如果您需要更多详细信息/日志,请询问,我会提供!

谢谢

更新:

  • 我可以完美运行其他 HPA
  • kubectl get hpa返回

    CPU 未知/100m

    未知/100Mi 用于 RAM

4

3 回答 3

1

似乎由于通过在入口控制器上启用自动缩放器创建的 HPA,它将在 label 上应用 HPA app=nginx-ingress。nginx-ingressdefault-backend也有相同的标签,因此也需要我们定义 CPU/内存资源请求/限制。

您可以在此GitHub 问题中找到更多信息

于 2020-03-05T17:54:58.980 回答
0

我认为可能是某些 pod 的容器没有设置相关的资源请求。根据 Kubernetes HPA文档,当这种情况发生时,无法定义 pod 的利用率(并且自动缩放器不会对该指标采取任何操作)。

您可以通过运行kubectl get hpa列出当前的自动缩放器来进行快速检查。或者您可以使用 获得更详细的描述kubectl describe hpa。如果您看到列出的一些目标,<unknown>则很可能资源请求设置不正确。

如果您已经为所有 pod 设置了资源请求并且您仍然看到此消息,那么如果您分享有关如何定义请求和/或限制的更多详细信息可能会有所帮助。

Kubernetes 文档中的这些文章可能很有用:

指定内存请求和内存限制

指定 CPU 请求和 CPU 限制

问候!

于 2019-11-21T17:58:27.290 回答
0

我还不能发表评论。正如 marandall 在上面链接的GitHub 问题Jackie 中所说,这可以通过定义资源限制并添加--set controller.useComponentLabel=true --set defaultBackend.useComponentLabel=true到 helm 命令来解决。

于 2020-04-18T08:06:29.943 回答