Installing the Kubernetes Metrics Server - Amazon EKS
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Installing the Kubernetes Metrics Server

The Kubernetes Metrics Server is an aggregator of resource usage data in your cluster, and it isn't deployed by default in Amazon EKS clusters. For more information, see Kubernetes Metrics Server on GitHub. The Metrics Server is commonly used by other Kubernetes add ons, such as the Horizontal Pod Autoscaler or the Kubernetes Dashboard. For more information, see Resource metrics pipeline in the Kubernetes documentation. This topic explains how to deploy the Kubernetes Metrics Server on your Amazon EKS cluster.

Important

The metrics are meant for point-in-time analysis and aren't an accurate source for historical analysis. They can't be used as a monitoring solution or for other non-auto scaling purposes. For information about monitoring tools, see Observability in Amazon EKS.

Deploy the Metrics Server
  1. Download the manifest with the following command:

    curl -O https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
  2. View the manifest file or files that you downloaded and note the name of the image. Download the image locally with the following command.

    docker pull image:tag
  3. Tag the image to be pushed to an Amazon Elastic Container Registry repository in China with the following command.

    docker tag image:tag 111122223333.dkr.ecr.cn-north-1.amazonaws.com.cn/image:tag
  4. Push the image to a China Amazon ECR repository with the following command.

    docker push image:tag 111122223333.dkr.ecr.cn-north-1.amazonaws.com.cn/image:tag
  5. Update the Kubernetes manifest file or files to reference the Amazon ECR image URL in your Amazon Web Services Region.

  6. Apply the modified manifest to your cluster with the following command:

    kubectl apply -f components.yaml
  7. Verify that the metrics-server deployment is running the desired number of Pods with the following command.

    kubectl get deployment metrics-server -n kube-system

    An example output is as follows.

    NAME READY UP-TO-DATE AVAILABLE AGE metrics-server 1/1 1 1 6m