Kubernetes eks supported HPA api version

First you need to understand the difference between Platform versions:

Amazon EKS platform versions represent the capabilities of the cluster control plane, such as which Kubernetes API server flags are enabled, as well as the current Kubernetes patch version.

and Kubernetes versions:

The Kubernetes project is rapidly evolving with new features, design updates, and bug fixes. The community releases new Kubernetes minor versions, such as 1.18, as generally available approximately every three months, and each minor version is supported for approximately twelve months after it is first released.

There are no specific HPA versions for EKS. You should rather check it from the Kubernetes side. To list the API versions that are available you can execute:

kubectl api-versions

or:

for kind in `kubectl api-resources | tail +2 | awk '{ print $1 }'`; do kubectl explain $kind; done | grep -e "KIND:" -e "VERSION:"

to list all the resource types with their latest supported API version.

There are currently two API versions supported for HPA in Kubernetes:

  • The current stable version, which only includes support for CPU autoscaling, can be found in the autoscaling/v1 API version.

  • The beta version, which includes support for scaling on memory and custom metrics, can be found in autoscaling/v2beta2. The new fields introduced in autoscaling/v2beta2 are preserved as annotations when working with autoscaling/v1.

Also, a kubectl convert might be useful to you if you wish to convert files between different API versions.