一个 Go 守护进程,用于采集、汇总并导出运行中容器的资源使用与性能数据,提供 Web 界面和 REST API。
kubernetes-sigs/metrics-server
为 Kubernetes 自动扩缩容提供容器 CPU 与内存资源指标的可扩展数据源。
- Star
- 6,763
- Fork
- 2,054
- 未关闭 Issue
- 68
- 最近提交
- 9天前
这是什么?
Metrics Server 从各节点的 Kubelet 采集容器资源指标,并通过 Kubernetes apiserver 的 Metrics API 对外提供。Horizontal Pod Autoscaler 和 Vertical Pod Autoscaler 依据这些数据进行扩缩容决策,kubectl top 也通过同一接口查看 Pod 与节点的资源用量。
它只面向自动扩缩容场景,不适合作为通用监控数据源。如果需要把指标转发到监控系统,项目建议直接采集 Kubelet 的 /metrics/resource 端点。默认资源请求适用于约 100 个节点以内的集群,超出时可按节点数比例增加资源。
使用前需要集群启用 apiserver 聚合层,节点启用 Webhook 认证与授权,并且 Kubelet 证书由集群 CA 签发(或显式使用 --kubelet-insecure-tls 跳过校验)。可通过 YAML 清单或官方 Helm Chart 安装,多节点集群还可启用高可用模式。
核心功能
- 01每 15 秒从 Kubelet 采集一次 CPU 与内存用量。
- 02通过标准 Kubernetes Metrics API 提供 Pod 与节点指标。
- 03为 Horizontal Pod Autoscaler 和 Vertical Pod Autoscaler 提供数据。
- 04支持使用 kubectl top 快速查看资源用量。
- 05支持多副本的高可用部署模式。
- 06可配置 Kubelet 地址类型与 TLS 选项。
适用场景
- 依据 CPU 或内存使用率水平扩展 Deployment。
- 为容器资源请求提供垂直调整建议。
- 借助 kubectl top 排查自动扩缩容行为。
- 在中等规模 Kubernetes 集群中运行轻量级指标数据源。
快速上手
- 1
从 components.yaml 清单安装最新版本
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml - 2
等待片刻后使用 kubectl top 查看指标
kubectl top pods
使用前须知
- 需要特定的集群配置,例如启用聚合层,且 kubelet 证书由集群 CA 签发。
- 仅用于自动伸缩;README 明确指出不应将其作为监控指标来源。
- 默认资源请求适用于约 100 个节点以内的集群;更大的集群需要更多资源。
收录于专题
标签
常见问题
- metrics-server 是什么?
- 为 Kubernetes 自动扩缩容提供容器 CPU 与内存资源指标的可扩展数据源。 Metrics Server 从各节点的 Kubelet 采集容器资源指标,并通过 Kubernetes apiserver 的 Metrics API 对外提供。Horizontal Pod Autoscaler 和 Vertical Pod Autoscaler 依据这些数据进行扩缩容决策,kubectl top 也通过同一接口查看 Pod 与节点的资源用量。
- metrics-server 可以免费使用吗?用的什么许可证?
- metrics-server 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- metrics-server 还在维护吗?
- 活跃维护中。metrics-server 最近一次提交是在 2026年10月16日。
- metrics-server 适合用来做什么?
- 依据 CPU 或内存使用率水平扩展 Deployment。 为容器资源请求提供垂直调整建议。 借助 kubectl top 排查自动扩缩容行为。 在中等规模 Kubernetes 集群中运行轻量级指标数据源。
- metrics-server 怎么安装和运行?
- 从 components.yaml 清单安装最新版本: kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml 等待片刻后使用 kubectl top 查看指标: kubectl top pods
- 在哪里获取 metrics-server?
- 源代码和安装说明在 GitHub 上:https://github.com/kubernetes-sigs/metrics-server
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
开源的实时基础设施监控工具,支持逐秒指标、自动发现、内置机器学习异常检测与告警。
一个 Kubernetes 附加服务,监听 API Server 并以 Prometheus 指标形式暴露 Pod、Deployment、Node 等对象的状态。
基于 OpenTelemetry Collector 的发行版,提供可编程的表达式流水线,用于采集指标、日志、链路追踪和性能剖析数据。
为 Kubernetes 提供自动伸缩组件,可调整集群节点数量及 Pod 的 CPU、内存请求。
开源的监控与可观测性平台,可查询、可视化并对来自多种数据源的指标、日志和链路数据设置告警。