The Horizontal Pod Autoscaler (HPA) is a Kubernetes feature that allows you to configure your cluster to automatically scale the services it’s running up or down.

Rancher provides some additional features to help manage HPAs, depending on the version of Rancher.

You can create, manage, and delete HPAs using the Rancher UI in Rancher v2.3.0-alpha4 and higher versions. It only supports HPA in the autoscaling/v2beta2 API.

Managing HPAs

The way that you manage HPAs is different based on your version of the Kubernetes API:

  • For Kubernetes API version autoscaling/V2beta1: This version of the Kubernetes API lets you autoscale your pods based on the CPU and memory utilization of your application.
  • For Kubernetes API Version autoscaling/V2beta2: This version of the Kubernetes API lets you autoscale your pods based on CPU and memory utilization, in addition to custom metrics.

HPAs are also managed differently based on your version of Rancher:

You might have additional HPA installation steps if you are using an older version of Rancher:

  • For Rancher v2.0.7+: Clusters created in Rancher v2.0.7 and higher automatically have all the requirements needed (metrics-server and Kubernetes cluster configuration) to use HPA.
  • For Rancher Prior to v2.0.7: Clusters created in Rancher prior to v2.0.7 don’t automatically have the requirements needed to use HPA. For instructions on installing HPA for these clusters, refer to Manual HPA Installation for Clusters Created Before Rancher v2.0.7.

Testing HPAs with a Service Deployment

In Rancher v2.3.x+, you can see your HPA’s current number of replicas by going to your project and clicking Resources > HPA. For more information, refer to Get HPA Metrics and Status.

You can also use kubectl to get the status of HPAs that you test with your load testing tool. For more information, refer to Testing HPAs with kubectl.