2 min read | by Jordi Prats
While performing any action we might encounter the following error:
error: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
This error is caused by the metrics server being down for some error, or in case it has been deleted. We can check the list of api services using kubectl get apiservice:
$ kubectl get apiservice
NAME SERVICE AVAILABLE AGE
v1. Local True 133d
v1beta1.admissionregistration.k8s.io Local True 133d
(...)
v1.acme.cert-manager.io Local True 44h
v1.cert-manager.io Local True 44h
v1beta1.metrics.k8s.io kube-system/metrics-server False (MissingEndpoints) 133d
If we want to get rid of this error we can just removed the apiservice using kubectl delete apiservice as follows:
$ kubectl delete apiservice v1beta1.metrics.k8s.io
apiservice.apiregistration.k8s.io "v1beta1.metrics.k8s.io" deleted
Once the metrics server is fixed we can always add it back. It can also happen if you have installed a monitoring service such as prometheus and you have either dropped the entire namespace or there's a configuration issue that prevents it to start.
In my case I dropped the prometheus namespace without taking into consideration the service that was registered. Just bu removing the unavailable API service it fixed the issue
Posted on 03/05/2021