Kubernetes v1.37 让 metrics.k8s.io API 进入 Stable:升级后如何核对 HPA 依赖
升级 Kubernetes 集群后,HPA 还在按 CPU 或内存扩缩容,但排查时经常先看到的不是 Deployment,而是 metrics.k8s.io。Kubernetes v1.37 的一个关键变化,是这个资源指标 API 从长期的 Beta 状态进入 Stable;这不会自动替你安装或修复 Metrics Server,却让依赖它的指标链路有了更明确的兼容基线。
升级后先核对 APIService 是否可用,再用
kubectl top验证数据是否能到达,最后看 HPA 的 current 与 desired 是否都在更新;只看 API 版本变成 Stable,不能证明自动扩缩容已经正常。
- Kubernetes v1.37 的 Stable 指的是 metrics.k8s.io API 的成熟度,不是 Metrics Server 的自动部署。
- HPA 读取资源指标时,关键链路是 HPA → metrics.k8s.io → Metrics Server → kubelet。
kubectl get apiservice v1beta1.metrics.k8s.io与kubectl top pods应该成对检查。- 指标能查到但 HPA 不扩容时,还要检查目标资源、阈值和 currentMetrics。
Kubernetes v1.37 到底稳定了什么
官方 v1.37 发布说明把 metrics.k8s.io API 列为进入 Stable 的能力。这里的对象是 Kubernetes 聚合 API 提供的资源指标接口,常见资源包括 Pod 和 Node 的 CPU、内存使用量。它解决的是 API 成熟度和兼容预期,不等于控制面会凭空产生监控数据。
实际集群通常仍由 Metrics Server 提供这个 API。它从 kubelet 收集资源指标,再通过 APIService 暴露给 Kubernetes API 聚合层;HPA 控制器则从这条链路读取当前值。升级公告值得关注,但排障要回到这条调用链。
先把 HPA 的指标调用链画清楚
一个基于 CPU 利用率的 HPA,大致经过四个边界:HPA 控制器发起资源指标查询,API 聚合层路由到 metrics.k8s.io,Metrics Server 查询 kubelet,最后把 Pod 指标返回给 HPA。任何一段断开,HPA 的 currentMetrics 就可能停留在旧值。

这也是为什么我更建议先查 APIService,而不是直接修改 HPA 的目标利用率。目标值写得再合理,指标接口不可用时也没有新的 current 值可以比较。
升级后用两条命令核对指标入口
先确认聚合 API 的注册状态:
kubectl get apiservice v1beta1.metrics.k8s.io
kubectl describe apiservice v1beta1.metrics.k8s.io
重点看 AVAILABLE 是否为 True,以及描述信息里有没有 TLS、Service 不存在或端点不可达的报错。API 版本的稳定级别变化不会替代这一步。
然后直接读取资源指标:
kubectl top pods -A
kubectl top nodes
如果两条命令都能返回近期数值,说明从 API 聚合入口到 Metrics Server 的基本读路径已经打通;如果只看到 “Metrics API not available”,先回到 Metrics Server 日志和 APIService 条件,不要急着调 HPA。

HPA 仍不扩容时,检查 currentMetrics 和目标资源
指标 API 正常,只能说明 HPA 有机会拿到数据。继续查看 HPA:
kubectl describe hpa -n
kubectl get hpa -n -o yaml
在输出中对照 currentMetrics、desiredReplicas、事件和目标 Deployment。若 current 值已经更新而副本数不变,常见原因转移到了目标资源选择器、请求资源值、缩放窗口或阈值,而不是 metrics.k8s.io 的 API 稳定级别。
| 现象 | 优先检查 | 能得出的结论 |
|---|---|---|
| APIService 为 False | Metrics Server Service、端点、TLS | 聚合 API 入口未就绪 |
kubectl top 无数据 | Metrics Server 日志与 kubelet 连通性 | 资源指标读路径中断 |
| currentMetrics 更新但副本不变 | HPA target、资源请求、缩放策略 | 指标链路已通,问题在扩缩容决策 |
这次变化对升级和回滚意味着什么
对使用者来说,最直接的收益是 API 稳定性信号更清晰:可以把 metrics.k8s.io 纳入升级验收清单,并把 APIService、kubectl top、HPA 状态作为一组回归检查。它并不意味着所有旧版 Metrics Server、kubelet 配置或网络策略都自动兼容。
回滚时也不要只比较控制面版本。先保存升级前后的 APIService 条件、Metrics Server 日志摘要和一组 kubectl top 输出,再判断 HPA 是否真的受到影响。这样即便最终回退,也能分清是 API 发现问题、采集问题,还是扩缩容参数问题。
相关问题
metrics.k8s.io 进入 Stable 后还需要安装 Metrics Server 吗?
需要。Stable 描述 API 的成熟度,不负责替集群提供资源指标实现;仍要确认集群中有可工作的 Metrics Server 或兼容实现。
APIService 是 True,为什么 kubectl top 仍然失败?
继续看 Metrics Server 端点、证书、到 kubelet 的网络访问和日志。APIService 可用代表聚合入口可达,不代表每次采集都成功。
HPA 不扩容是不是一定是 metrics.k8s.io 的问题?
不是。先看 currentMetrics 是否更新;如果更新了,应转查 HPA 目标、资源请求、策略和冷却窗口。
把这次升级写进验收清单
Kubernetes v1.37 的这项变化适合落成三步验收:确认 v1beta1.metrics.k8s.io 的 APIService 为可用,确认 kubectl top 能读到近期指标,再确认一个测试 HPA 的 currentMetrics 和 desiredReplicas 会随负载变化。三步都通过,才算指标链路和自动扩缩容一起完成了升级验证。
Go net/netip.Prefix.Overlaps 如何判断网段相交:地址族与前缀边界
- 上一篇
- Go net/netip.Prefix.Overlaps 如何判断网段相交:地址族与前缀边界
- 下一篇
- Go 的 net.Buffers 为什么适合批量写入:切片聚合与 Writev 调用边界
-
- 科技周边 · 业界新闻 | 2天前 | 人工智能 · 业界新闻 · 开发实践 Stack Overflow Survey AI信任 代码助手
- Stack Overflow 2026 调查中的 AI 信任与开发实践
- 120浏览 收藏
-
- 科技周边 · 业界新闻 | 2天前 |
- DeepSeek 与华为 Ascend 工具开源后的算力协作模式
- 145浏览 收藏
-
- 科技周边 · 业界新闻 | 2天前 |
- Google 开源周报中的 MCP Dev Summit 议题变化
- 273浏览 收藏
-
- 科技周边 · 业界新闻 | 2天前 | 云原生 · MySQL · postgresql · 业界新闻 · mysql PostgreSQL AI应用 混合云 开源数据库 All Things Open 2026 DocumentDB
- 微软 All Things Open 2026 展示的开源数据库方向
- 366浏览 收藏
-
- 科技周边 · 业界新闻 | 2天前 | python · typescript · 开发工具 · AI编程 · 工程实践 · 业界新闻 · TypeScript Python 开源生态 开发者工具 GitHub Octoverse AI开发工具
- GitHub Octoverse 2026 透露的 AI 开发工具变化
- 169浏览 收藏
-
- 科技周边 · 业界新闻 | 2天前 |
- Python 3.15 lazy imports 对启动时间的工程意义
- 181浏览 收藏
-
- 科技周边 · 业界新闻 | 2天前 |
- Python 3.15 UTF-8 默认编码迁移时的兼容重点
- 243浏览 收藏
-
- 科技周边 · 业界新闻 | 2天前 | Redis · 开源软件 · Redis OSS AWS Marketplace Amazon EC2 Redis Cloud AMI 自主管理
- Redis OSS 上架 AWS Marketplace 后的部署选择
- 228浏览 收藏
-
- 科技周边 · 业界新闻 | 2天前 |
- Redis 8.10 Compact Hash 对内存型数据结构的影响
- 180浏览 收藏
-
- 科技周边 · 业界新闻 | 2天前 |
- Google EnvHarness 开源后 AI 评测沙箱的设计方向
- 246浏览 收藏
-
- 科技周边 · 业界新闻 | 2天前 | go ·
- Go 1.27 平台无关 SIMD API 的适用架构范围
- 101浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- PubMedQA
- 深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
- 450次使用
-
- H2O EvalGPT
- H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
- 520次使用
-
- LMArena
- LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
- 535次使用
-
- HELM
- 深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
- 480次使用
-
- MMBench
- MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
- 304次使用
-
- Go chassis云原生微服务开发框架应用编程实战
- 2022-12-29 214浏览
-
- golang通过node_exporter监控GPU及cpu频率、温度的代码
- 2022-12-31 166浏览
-
- golang实现对docker容器心跳监控功能
- 2022-12-24 175浏览
-
- Go 1.25 容器感知 GOMAXPROCS:K8s 里别再让 CPU limit 偷偷拖垮 P99
- 2026-06-01 473浏览
-
- Go 1.25 容器里的 GOMAXPROCS 怎么迁移:cgroup CPU 限额、自动更新与旧环境兼容
- 2026-08-09 438浏览

