Autoscaling ECD with Metrics (4.3)

You can use values from  metrics or custom made metrics of your own to auto scale your EC Deployment. These metrics are retrieved by the Prometheus server and then published to Kubernetes by the Prometheus Adapter. To learn more about how metrics work in   as well as what else you can use these metrics for, refer to Using Metrics (4.1).

Before you get started using these metrics for scaling your EC Deployment, you will need to install the Prometheus server and the Prometheus Adapter. You can find the steps for these in Setting up Prometheus(4.1).

Our EC Deployment uses the Horizontal Pod Autoscaler (HPA) to scale itself. When creating an EC Deployment, you will have the option to enable Autoscaling. From this option, you will then be able to set the minimum and maximum number of replicas for the HPA to scale as well as the threshold that determines when the HPA should scale. These thresholds can be set using the metrics exposed by the Prometheus Adapter. By default, the only threshold that you can use for autoscaling your EC Deployment is the CPU Utilization. Here is an example of how you can use the metrics to autoscale your ECD, Autoscaling your ECD with Workflow Throughput (4.3).

For further reading about how the HPA works, you can refer to https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/

As the EC Deployment uses the metrics that are exposed by the Prometheus Adapter, it is crucial for you to know how to use the adapter to expose the metrics that you want the EC Deployment to use to scale itself. You can refer to Creating Custom Metrics on Prometheus Adapter(4.1) for more information about how to create your own metrics.