Metrics in Kubernetes: Difference between revisions
Line 2: | Line 2: | ||
* [[Kubernetes_Resource_Management_Concepts#Metrics_in_Kubernetes|Kubernetes Resource Management Concepts]] | * [[Kubernetes_Resource_Management_Concepts#Metrics_in_Kubernetes|Kubernetes Resource Management Concepts]] | ||
* [[Kubernetes_Concepts#Subjects|Kubernetes Concepts]] | * [[Kubernetes_Concepts#Subjects|Kubernetes Concepts]] | ||
* [[Autoscaling Concepts]] | * [[Kubernetes Autoscaling Concepts]] | ||
=Overview= | =Overview= |
Revision as of 21:25, 5 October 2020
Internal
Overview
Resource
Metrics
Resource Metrics
A resource metric is a numeric quantity that tracks either the CPU or memory consumed by containers and pods. By default, the only two supported resource metrics are the CPU utilization and the memory consumed by a container. These resources do not change names from cluster to cluster and they should be available as long the Resource Metrics API is available.
Resource Metrics API
metrics.k8s.io TODO:
- https://github.com/kubernetes/community/blob/master/contributors/design-proposals/instrumentation/resource-metrics-api.md
- https://github.com/kubernetes/community/blob/master/contributors/design-proposals/instrumentation/custom-metrics-api.md
Custom Metrics
Aside from resource metrics, there are two other types of metrics, both of which are considered custom metrics: pod metrics and object metrics.
Pod Metrics
These resource describe pods.
Object Metrics
These resources describe different objects in the same namespace, instead of describing pods.
Custom Metrics API
custom.metrics.k8s.io
Monitoring systems like Prometheus expose application-specific metrics to the Horizontal Pod Autoscaler controller via the Custom Metrics API.
External Metrics
External Metrics API
external.metrics.k8s.io
Kubernetes Metrics Server
Metric Pipeline
Notes
- More details about resource metrics API.
- Metrics: raw values, utilization values.
- Metric server: https://kubernetes.io/docs/tasks/debug-application-cluster/resource-metrics-pipeline/, https://github.com/kubernetes-sigs/metrics-server
- Custom metrics API: https://github.com/kubernetes/community/blob/master/contributors/design-proposals/instrumentation/custom-metrics-api.md
- External metrics API: https://github.com/kubernetes/community/blob/master/contributors/design-proposals/instrumentation/external-metrics-api.md