[转载] Kubernetes v1.37:Metrics API 进阶至稳定版
本文为授权转载,非本账号原创。
原文:Kubernetes v1.37:Metrics API 进阶至稳定版(参考地址:https://kubernetes.io/zh-cn/blog/2026/08/27/kubernetes-v1-37-metrics-api-ga/)
原作者及译者:借由 ChengHao Yang | 译者 Paco Xu (DaoCloud) | 2026.08.27
来源:Kubernetes 官方中文博客;许可:CC BY 4.0(参考地址:https://creativecommons.org/licenses/by/4.0/)。保留原作者和译者署名,正文仅做适配博客编辑器的排版与链接格式转换,未改写技术内容。
内容不代表原作者或 Kubernetes 项目对本账号的认可或背书。
在 Kubernetes v1.37 中,metrics.k8s.io API 正式进入稳定阶段,版本为 v1。
该 API 提供节点和 Pod 的 CPU 和内存用量数据,供 kubectl top
等命令以及基于资源指标的自动扩缩容使用。
对集群运维人员和应用开发者而言,这意味着 Kubernetes 对稳定版 API
的稳定性承诺现在也适用于该 API。v1 与 v1beta1 的资源类型和字段完全相同;此次变更只涉及
API 版本的稳定级别,并未改变所收集或返回的指标。
沿用多年的 API 进入稳定阶段(参考地址:https://kubernetes.io/zh-cn/blog/2026/08/27/kubernetes-v1-37-metrics-api-ga/#a-long-lived-api-reaches-stable)
资源指标 API 在 Kubernetes v1.6 中以 Alpha 状态引入,并在 v1.8 进入 Beta 阶段。
此后,该 API 的定义一直未变,并已在生产环境中使用多年;
HorizontalPodAutoscaler(HPA)控制器和 kubectl top 等客户端都依赖该 API。
经过多年生产环境验证后,该 API 在 Kubernetes v1.37 中正式进入稳定阶段(metrics.k8s.io/v1)。
该 API 提供以下两种资源类型:
NodeMetrics:提供节点的 CPU 和内存用量。PodMetrics:提供 Pod 的 CPU 和内存用量,并在containers字段中列出各容器的用量明细。
按照设计,该 API 的范围有意保持精简。
它只提供自动扩缩容和日常资源用量查看所需的指标,
不能替代完整的监控体系或自定义指标 API(custom.metrics.k8s.io)。
v1.37 中有哪些变化?(参考地址:https://kubernetes.io/zh-cn/blog/2026/08/27/kubernetes-v1-37-metrics-api-ga/#changes)
除 API 版本外,v1 与 v1beta1 的 API 定义完全相同。
没有字段被重命名或新增,返回的 CPU 和内存数值含义也没有变化。
例如,客户端可以通过稳定版 API 端点获取节点指标:
kubectl get --raw /apis/metrics.k8s.io/v1/nodes
同样,客户端也可以获取某个命名空间内所有 Pod 的指标:
kubectl get --raw /apis/metrics.k8s.io/v1/namespaces/default/pods
kubectl top 同时支持这两个 API 版本。v1 可用时,它会优先使用 v1;
如果集群尚未提供 v1,则自动回退到 v1beta1。
HPA 控制器目前仅支持 v1beta1。后续计划让它根据 API 发现结果在 v1 和
v1beta1 之间选择合适的版本,但 Kubernetes v1.37 尚未提供这一能力。
你需要做什么(参考地址:https://kubernetes.io/zh-cn/blog/2026/08/27/kubernetes-v1-37-metrics-api-ga/#what-you-need-to-do)
无需启用任何特性门控。
Metrics API 由 metrics-server(参考地址:https://github.com/kubernetes-sigs/metrics-server)
等实现通过 API 聚合层(参考地址:https://kubernetes.io/zh-cn/docs/tasks/extend-kubernetes/configure-aggregation-layer/)提供服务。
你可以选用 metrics.k8s.io 的任何实现。
要在集群中使用 v1 Metrics API,所选实现必须提供 v1.metrics.k8s.io API,
你还需要注册(参考地址:https://kubernetes.io/zh-cn/docs/tasks/extend-kubernetes/configure-aggregation-layer/)关联的
APIService(参考地址:https://kubernetes.io/zh-cn/docs/reference/kubernetes-api/cluster-resources/api-service-v1/)。
过渡期间,各实现应同时提供 v1 和 v1beta1,以确保兼容旧版客户端。
Kubernetes v1.37 仍然提供 v1beta1 API。
可以通过以下命令查看集群当前提供哪些 API 版本:
kubectl get --raw /apis/metrics.k8s.io/ | jq .
所选 Metrics API 实现支持 v1 后,还可以确认对应的 APIService 是否可用:
kubectl get apiservice v1.metrics.k8s.io
了解更多(参考地址:https://kubernetes.io/zh-cn/blog/2026/08/27/kubernetes-v1-37-metrics-api-ga/#learn-more)
- 阅读资源指标管道(参考地址:https://kubernetes.io/zh-cn/docs/tasks/debug/debug-cluster/resource-metrics-pipeline/)文档。
- 阅读 KEP-5207(参考地址:https://www.kubernetes.dev/resources/keps/5207/),了解该 API 进入稳定阶段的提案。
- 了解 Metrics API(参考地址:https://github.com/kubernetes/metrics#resource-metrics-api) 及其参考实现 metrics-server(参考地址:https://github.com/kubernetes-sigs/metrics-server)。
参与其中(参考地址:https://kubernetes.io/zh-cn/blog/2026/08/27/kubernetes-v1-37-metrics-api-ga/#get-involved)
Metrics API 由 SIG Instrumentation(参考地址:https://www.kubernetes.dev/community/community-groups/sigs/instrumentation/) 维护。 如需提问、提供反馈或参与贡献,请加入 Kubernetes Slack 上的 #sig-instrumentation(参考地址:https://kubernetes.slack.com/messages/sig-instrumentation) 频道, 或参加 SIG Instrumentation 例会。
- ←上一页(参考地址:https://kubernetes.io/zh-cn/blog/2026/08/26/kubernetes-v1-37-release/)
- 下一页→(参考地址:https://kubernetes.io/zh-cn/blog/2026/09/03/kubernetes-v1-37-dra-updates/)
- 点赞
- 收藏
- 关注作者
评论(0)