You are currently viewing The best way to Deploy a Metrics Server in Kubernetes

The best way to Deploy a Metrics Server in Kubernetes


If you want to deploy a Metrics Server in Kubernetes, then you definately first must create a namespace for it to reside it, adopted by putting in the precise metrics server.

Step 1 – Set up the Metrics Server

Utilizing kubectl

kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/obtain/v0.5.0/elements.yaml

Utilizing helm

kubectl create namespace metrics

helm set up metrics-server 
    steady/metrics-server 
    --version 2.9.0 
    --namepsace metrics

Step 2 – Get the Metrics Server Standing

In case you used kubectl above, then it’s best to have the ability to run:

kubectl get apiservice v1beta1.metrics.k8s.io -o json | jq '.standing'

In any other case with helm, run:

kubectl describe hpa

Step 3 – Verifying the Metrics Server Setup

In case you get the next output, then it simply means the server isn’t prepared but, wait a second longer:

{
  "circumstances": [
    {
      "lastTransitionTime": "2022-04-13T13:26:45Z",
      "message": "endpoints for service/metrics-server in "kube-system" have no addresses with port name "https"",
      "reason": "MissingEndpoints",
      "status": "False",
      "type": "Available"
    }
  ]
}

When the Metrics Server is prepared, you’re going to get a response as follows:

{
  "circumstances": [
    {
      "lastTransitionTime": "2022-04-13T13:27:08Z",
      "message": "all checks passed",
      "reason": "Passed",
      "status": "True",
      "type": "Available"
    }
  ]
}

Step 4 – A tip to be alerted when prepared

You possibly can at all times watch the above command as a substitute of operating the identical command time and again above, whereas ready for the server to turn out to be obtainable:

watch -n1 "kubectl get apiservice v1beta1.metrics.k8s.io -o json | jq '.standing'"

Leave a Reply