When trying to setup a HorizontalPodAutoscaler on Amazon EKS, the TARGETS column always displays <unknown>/50%
and when describing the HPA, I see
Warning FailedGetResourceMetric 17s (x50 over 1h) horizontal-pod-autoscaler unable to get metrics for resource cpu: unable to fetch metrics from resource metrics API: the server could not find the requested resource (get pods.metrics.k8s.io)
I've found multiple posts on other sites about similar issues mentioning to use --horizontal-pod-autoscaler-use-rest-clients
on the kube-controller-manager, but I cannot find a way to change settings on the kube-controller-manager for an EKS cluster since it appears you can't SSH into the master nodes for management and kube-controller-manager is not listed as a resource anywhere in the system.
I have tried setting up the metrics-server manually following instructions on https://github.com/kubernetes-incubator/metrics-server but in that case, I'm shown that EKS doesn't provide the config map necessary for authenticating API extensions Could not create the API server: configmaps "extension-apiserver-authentication" not found
Best Answer
EDITED
The AWS has released the support to horizontal pod autoscaling with custom metric: https://aws.amazon.com/pt/about-aws/whats-new/2018/08/amazon-eks-supports-horizontal-pod-autoscaling-with-custom-metric/
PREVIOUS ANSWER
This is a known issue currently with EKS. Here is my response from support (Partially omitted):
Hopefully they sort it out soon.