Autoscaling Kubernetes Workloads
Horizontal Pod Autoscaler (HPA)
- requires the metrics-server to be installed
- scales pods in a deployment in and out based on CPU and/or memory usage
- a native kubernetes resource
Cluster Proportional Autoscaler (CPA)
- does not require the metrics-server
- utilizes a configmap and has a bunch of different scaling strategies
- has a component that checks the k8s api server to see how many nodes and cores are in the cluster
- not a native kubernetes resource, can be installed via helm
Kubernetes Event-Driven Autoscaler (KEDA)
- scales based on events (e.g., the length of an SQS queue) -- has a bunch of scalers that integrate with popular tools
- can be installed via helm
- leverages HPAs