Node metrics data
The kubelet gathers metric statistics at the node, volume, pod and container level, and emits this information in the Summary API.
You can send a proxied request to the stats summary API via the Kubernetes API server.
Here is an example of a Summary API request for a node named minikube
:
kubectl get --raw "/api/v1/nodes/minikube/proxy/stats/summary"
Here is the same API call using curl
:
# You need to run "kubectl proxy" first
# Change 8080 to the port that "kubectl proxy" assigns
curl http://localhost:8080/api/v1/nodes/minikube/proxy/stats/summary
metrics-server
0.6.x, metrics-server
queries the /metrics/resource
kubelet endpoint, and not /stats/summary
.
Summary metrics API source
By default, Kubernetes fetches node summary metrics data using an embedded cAdvisor that runs within the kubelet.
Summary API data via CRI
Kubernetes v1.23 [alpha]
If you enable the PodAndContainerStatsFromCRI
feature gate in your
cluster, and you use a container runtime that supports statistics access via
Container Runtime Interface (CRI), then
the kubelet fetches Pod- and container-level metric data using CRI, and not via cAdvisor.
What's next
The task pages for Troubleshooting Clusters discuss how to use a metrics pipeline that rely on these data.