Scaling Kubernetes Pods with External Metrics

Most workloads I’ve seen are IO bound and not CPU/memory bound.

Kubernetes’s horizontal pod autoscaler (HPA) can only scale based on CPU and memory via its built-in metrics.

However, using Prometheus/Grafana or Datadog, you can set your HPAs to scale your workloads off any external metric you want.

For example, you might want to increase your API service’s pods when the average response time is above a certain threshold.

Here are links to a blog post detailing how to set up scaling with Prometheus metrics and Datadog’s documentation on scaling with their metrics.


Like what you've read?

If you're an engineering leader or developer, you should subscribe to my 80/20 DevOps Newsletter. Give me 1 minute of your day, and I'll teach you essential DevOps skills. I cover topics like Kubernetes, AWS, Infrastructure as Code, and more.

Not sure yet? Check out the archive.

Unsubscribe at any time.