Skip to content

Metrics Server

Metrics Server is a core, scalable, and efficient source of container resource Metrics within the Kubernetes ecosystem, designed primarily to support internal Kubernetes scaling pipelines.^[400-devops__06-Kubernetes__k8s-paas__原理及源码解析__Kubernetes相关生态.md]

Role in the Monitoring Ecosystem

Metrics Server is positioned as a key component for gathering Kubernetes core metrics.^[400-devops__06-Kubernetes__k8s-paas__原理及源码解析__Kubernetes相关生态.md] It replaces the legacy Heapster project, serving as the standard mechanism for exposing resource usage data like CPU and memory.^[400-devops__06-Kubernetes__k8s-paas__原理及源码解析__Kubernetes相关生态.md]

Data Collection and Storage

Metrics Server operates by retrieving metric data from the Metrics API (specifically the /metrics API provided by components like kubelet) rather than using a Push model.^[400-devops__06-Kubernetes__k8s-paas__原理及源码解析__Kubernetes相关生态.md] Unlike full-fledged monitoring systems such as Prometheus, Metrics Server does not persist data to long-term storage; it is designed to hold recent data temporarily to serve immediate requests.^[400-devops__06-Kubernetes__k8s-paas__原理及源码解析__Kubernetes相关生态.md]

This lightweight design ensures that Metrics Server remains efficient and scalable, capable of running on large clusters without significant overhead.^[400-devops__06-Kubernetes__k8s-paas__原理及源码解析__Kubernetes相关生态.md]

Core Metrics

Metrics Server focuses on core metrics essential for cluster autoscaling and scheduling decisions.^[400-devops__06-Kubernetes__k8s-paas__原理及源码解析__Kubernetes相关生态.md] These include:

  • Pod Metrics: Resource usage for individual containers and Pods.
  • Node Metrics: Aggregate resource utilization of the nodes.

This data is vital for components like the Horizontal Pod Autoscaler (HPA) and the Scheduler, which rely on accurate, up-to-date resource measurements to make decisions.^[400-devops__06-Kubernetes__k8s-paas__原理及源码解析__Kubernetes相关生态.md]

Monitoring Principles

When designing Metrics using Metrics Server, it is recommended to follow industry-standard methodologies such as:

  • USE Principle: Focuses on resource monitoring (Utilization, Saturation, Errors).^[400-devops__06-Kubernetes__k8s-paas__原理及源码解析__Kubernetes相关生态.md]
  • RED Principle: Focuses on service monitoring (Rate, Errors, Duration).^[400-devops__06-Kubernetes__k8s-paas__原理及源码解析__Kubernetes相关生态.md]

Sources

^[400-devops__06-Kubernetes__k8s-paas__原理及源码解析__Kubernetes相关生态.md]