|
1 | 1 | ---
|
2 | 2 | reviewers:
|
3 | 3 | - fgrzadkowski
|
4 |
| -- piosz |
| 4 | +- piosz |
5 | 5 | title: Resource metrics pipeline
|
6 | 6 | content_type: concept
|
7 | 7 | ---
|
@@ -59,11 +59,17 @@ Figure 1. Resource Metrics Pipeline
|
59 | 59 |
|
60 | 60 | The architecture components, from right to left in the figure, consist of the following:
|
61 | 61 |
|
62 |
| -* [cAdvisor](https://github.com/google/cadvisor) - Daemon for collecting, aggregating and exposing container metrics included in Kubelet. cAdvisor reads metrics from cgroups allowing out of the box support for Docker. Note that non-container runtimes need to support [Container Metrics RPS](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-node/cri-container-stats.md) for metrics to be available. |
63 |
| -* [kubelet](https://kubernetes.io/docs/concepts/overview/components/#kubelet) - Node agent for managing container resources. Resource metrics are accessible using the `/metrics/resource` and `/stats` kubelet API endpoints. |
64 |
| -* [Summary API](#summary-api-source) - Kubelet API for discovering and retrieving per-node summarized stats available through the `/stats` endpoint. |
65 |
| -* [metrics-server](#metrics-server) - Cluster addon component that collects and aggregates resource metrics pulled from each kubelet. The K8s API server serves up the Metric API endpoints for use by HPA, VPA and the `kubectl top` command. |
66 |
| -* [Metrics API](#metrics-api) - Kubernetes API supporting access to CPU and memory used for workload autoscaling. Metrics Server is the default implementation provided with many popular K8s distributions, however it can be replaced by alternative adapters based on your preferred monitoring solution. |
| 62 | +* [cAdvisor](https://github.com/google/cadvisor): Daemon for collecting, aggregating and exposing container metrics included in Kubelet. |
| 63 | +* [kubelet](/docs/concepts/overview/components/#kubelet): Node agent for managing container resources. Resource metrics are accessible using the `/metrics/resource` and `/stats` kubelet API endpoints. |
| 64 | +* [Summary API](#summary-api-source): API provided by the kubelet for discovering and retrieving per-node summarized stats available through the `/stats` endpoint. |
| 65 | +* [metrics-server](#metrics-server): Cluster addon component that collects and aggregates resource metrics pulled from each kubelet. The API server serves Metrics API for use by HPA, VPA, and by the `kubectl top` command. Metrics Server is a reference implementation of the Metrics API. |
| 66 | +* [Metrics API](#metrics-api): Kubernetes API supporting access to CPU and memory used for workload autoscaling. To make this work in your cluster, you need an API extension server that provides the Metrics API. |
| 67 | + |
| 68 | + {{< note >}} |
| 69 | + cAdvisor supports reading metrics from cgroups, which works with typical container runtimes on Linux. |
| 70 | + If you use a container runtime that uses another resource isolation mechanism, for example virtualization, then that container runtime must support [CRI Container Metrics](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-node/cri-container-stats.md) in order for metrics to be available to the kubelet. |
| 71 | + {{< /note >}} |
| 72 | + |
67 | 73 |
|
68 | 74 | <!-- body -->
|
69 | 75 |
|
@@ -198,3 +204,6 @@ Here is the same API call using `curl`:
|
198 | 204 | ```shell
|
199 | 205 | curl http://localhost:8080/api/v1/nodes/minikube/proxy/stats/summary
|
200 | 206 | ```
|
| 207 | +{{< note >}} |
| 208 | +The summary API `/stats/summary` endpoint will be replaced by the `/metrics/resource` endpoint beginning with metrics-server 0.6.x. |
| 209 | +{{< /note >}} |
0 commit comments