Skip to content

Metrics Server (Kubernetes)

Metrics Server is a cluster-wide aggregator of resource usage data^[400-devops-06-kubernetes-devops-helm-terraform-helm-helm-charts-metrics-server-readme.md]. It collects Metrics from the Kubernetes cluster and serves them to other components.

Usage

Metrics Server is primarily utilized by core cluster components such as the command-line tool kubectl (specifically commands like kubectl top) and the Horizontal Pod Autoscaler^[400-devops-06-kubernetes-devops-helm-terraform-helm-helm-charts-metrics-server-readme.md]. These components rely on the resource data provided by Metrics Server to monitor workload performance and automatically scale applications based on resource usage^[400-devops-06-kubernetes-devops-helm-terraform-helm-helm-charts-metrics-server-readme.md].

While Metrics Server handles standard resource Metrics, scaling workloads based on custom Metrics requires alternative solutions, such as the [[Prometheus Adapter]]^[400-devops-06-kubernetes-devops-helm-terraform-helm-helm-charts-metrics-server-readme.md].

Configuration

As typically deployed via a Helm chart, Metrics Server offers a wide range of configuration parameters to control its behavior and security settings^[400-devops-06-kubernetes-devops-helm-terraform-helm-helm-charts-metrics-server-readme.md].

RBAC and Security

The deployment supports Role-Based Access Control (RBAC), which can be toggled on or off^[400-devops-06-kubernetes-devops-helm-terraform-helm-helm-charts-metrics-server-readme.md]. It also includes settings for Pod Security Policies (PSP) and allows for the creation of specific service accounts^[400-devops-06-kubernetes-devops-helm-terraform-helm-helm-charts-metrics-server-readme.md]. Additionally, the creation of the v1beta1.metrics.k8s.io API service can be configured^[400-devops-06-kubernetes-devops-helm-terraform-helm-helm-charts-metrics-server-readme.md].

Deployment and Scheduling

Configuration options are available for managing the deployment's replicas, resource limits (CPU and memory), and scheduling rules^[400-devops-06-kubernetes-devops-helm-terraform-helm-helm-charts-metrics-server-readme.md]. Administrators can define node selectors, node affinity, and tolerations to control where the Metrics Server pods are scheduled within the cluster^[400-devops-06-kubernetes-devops-helm-terraform-helm-helm-charts-metrics-server-readme.md].

Networking and Image

The container image can be specified by repository, tag, and pull policy^[400-devops-06-kubernetes-devops-helm-terraform-helm-helm-charts-metrics-server-readme.md]. Networking options include the ability to enable hostNetwork mode and to define the service type (defaulting to ClusterIP) and exposed port^[400-devops-06-kubernetes-devops-helm-terraform-helm-helm-charts-metrics-server-readme.md].

Sources

^[400-devops-06-kubernetes-devops-helm-terraform-helm-helm-charts-metrics-server-readme.md]