If you need to deploy a Metrics Server in Kubernetes, then you definitely first must create a namespace for it to stay 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/parts.yaml
Utilizing helm
kubectl create namespace metrics
helm set up metrics-server
secure/metrics-server
--version 2.9.0
--namepsace metrics
Step 2 – Get the Metrics Server Standing
In case you used kubectl
above, then you must be capable 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 will not be prepared but, wait a second longer:
{
"situations": [
{
"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:
{
"situations": [
{
"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’ll be able to at all times watch
the above command as an alternative of working the identical command again and again above, whereas ready for the server to turn into accessible:
watch -n1 "kubectl get apiservice v1beta1.metrics.k8s.io -o json | jq '.standing'"