HPA 无法读取指标值

问题描述 投票:0回答:1

我正在为 ASP.NET Core 应用程序实现 Horizontal Pod Autoscalar,并在 Program.cs 中添加所需的代码片段,该代码片段适用于另一个项目。在本地运行应用程序时,我可以使用指标端点查看数据。但是,当我部署代码时,我无法看到对指标端点的 http 请求调用,该端点可在 hpa 正在工作的应用程序的日志中找到。如果 GCP 的托管服务能够抓取指标,如何进行故障排除。

.net google-cloud-platform prometheus metrics
1个回答
0
投票

发生错误的主要原因是指标服务器崩溃或无响应,请尝试以下步骤来解决您的问题:

1.验证指标服务器是否报告OOM(内存不足)事件。要检查这一点,请打开 GKE 控制台页面上的“Workload”选项卡,使用“metrics-server”执行搜索,然后单击部署名称以查看部署详细信息。单击选择 pod 的名称。重新启动次数大于 0 表示容器已失败或已终止。

如果是,则metrics-server-config configmap中的修改是永久性的。增加metrics-server-config中的memoryPerNode直到没有OOM事件,按照这个文档

2.此外,您可以在指标服务器部署文件中添加以下命令:

containers:
   - command:
     - /metrics-server
     - --metric-resolution=30s
     - --kubelet-insecure-tls
     - --kubelet-preferred-address-types=InternalIP
     name: metrics-server

我相信指标服务器无法找到具有InternalIP的kubelet,因此出现了问题。有关更多信息,请按照分步说明设置HPA。请参阅此 如何为 HPA Auto Scaling 指标启用 KubeAPI 服务器。

© www.soinside.com 2019 - 2024. All rights reserved.