A Go daemon that collects, aggregates and exports resource usage and performance data for running containers, with a web UI and REST API.
kubernetes-sigs/metrics-server
Scalable source of container resource CPU and memory metrics for Kubernetes autoscaling, served through the Metrics API.
- Stars
- 6,763
- Forks
- 2,054
- Open issues
- 68
- Last commit
- 9 days ago
What is it?
Metrics Server collects resource metrics from Kubelets and exposes them through the Kubernetes apiserver via the Metrics API. The Horizontal Pod Autoscaler and Vertical Pod Autoscaler use this data to make scaling decisions, and kubectl top reads the same API to show pod and node usage.
It is built for autoscaling only, not general monitoring. The project recommends collecting metrics from the Kubelet /metrics/resource endpoint directly when the goal is forwarding data to a monitoring system. It is designed for a single lightweight deployment, with default resource requests suited to clusters up to about 100 nodes and guidance for scaling beyond that.
The cluster must enable the apiserver aggregation layer, Kubelet webhook authentication and authorization, and a Kubelet certificate signed by the cluster CA or an explicit insecure-TLS flag. Installation is available via a YAML manifest or the official Helm chart, with a high-availability mode for multi-node clusters.
Key features
- 01Collects CPU and memory usage from Kubelets every 15 seconds.
- 02Exposes pod and node metrics through the standard Kubernetes Metrics API.
- 03Powers Horizontal and Vertical Pod Autoscaler decisions.
- 04Enables kubectl top for quick resource usage checks.
- 05Supports a high-availability mode with multiple replicas.
- 06Offers configurable Kubelet address types and TLS options.
Use cases
- Scaling Deployments horizontally based on CPU or memory utilization.
- Getting vertical sizing suggestions for container resource requests.
- Debugging autoscaling behavior with kubectl top.
- Running a lightweight metrics source in mid-sized Kubernetes clusters.
Quick start
- 1
Install the latest release from the components.yaml manifest
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml - 2
Check metrics with kubectl top (after a short wait)
kubectl top pods
Things to know
- Requires specific cluster setup, such as an enabled aggregation layer and kubelet certificates signed by the cluster CA.
- Designed only for autoscaling; the README says not to use it as a monitoring metrics source.
- Default resource requests are tuned for up to about 100 nodes; larger clusters need more resources.
In collections
Topics
FAQ
- What is metrics-server?
- Scalable source of container resource CPU and memory metrics for Kubernetes autoscaling, served through the Metrics API. Metrics Server collects resource metrics from Kubelets and exposes them through the Kubernetes apiserver via the Metrics API. The Horizontal Pod Autoscaler and Vertical Pod Autoscaler use this data to make scaling decisions, and kubectl top reads the same API to show pod and node usage.
- Is metrics-server free to use? What license does it have?
- metrics-server is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is metrics-server still maintained?
- Actively maintained. The last commit to metrics-server was on Oct 16, 2026.
- What can I use metrics-server for?
- Scaling Deployments horizontally based on CPU or memory utilization. Getting vertical sizing suggestions for container resource requests. Debugging autoscaling behavior with kubectl top. Running a lightweight metrics source in mid-sized Kubernetes clusters.
- How do I install metrics-server?
- Install the latest release from the components.yaml manifest: kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml Check metrics with kubectl top (after a short wait): kubectl top pods
- Where can I get metrics-server?
- The source code and installation instructions are on GitHub: https://github.com/kubernetes-sigs/metrics-server
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open-source real-time infrastructure monitoring agent with per-second metrics, auto-discovery, built-in ML anomaly detection and alerting.
An add-on Kubernetes service that listens to the API server and exposes Prometheus metrics describing the state of objects like pods, deployments and nodes.
An OpenTelemetry Collector distribution with programmable, expression-based pipelines for metrics, logs, traces and profiles, built with Prometheus integration in mind.
Kubernetes components that automatically scale cluster nodes, and adjust pod CPU and memory requests.
Open-source platform to query, visualize, alert on and explore metrics, logs and traces from many data sources.