LearnGlossary

What is HPA (Horizontal Pod Autoscaler)?

Updated 26 October 2026 · Published by Zoorik

HPA in Kubernetes stands for Horizontal Pod Autoscaler. It changes the number of pods in a workload, such as a Deployment, to match demand. It can’t scale a DaemonSet.

Horizontal means more pods, not bigger ones. VPA vs HPA compares it with vertical scaling.

How the HPA decides

  • It needs a metrics source, such as Metrics Server.
  • It checks its metrics every 15 seconds by default.
  • A CPU utilization target is a percentage of each pod’s CPU request. If any container has no CPU request, the HPA takes no action on CPU.
  • By default, it adds up to 4 pods or doubles the count per 15 seconds, whichever is more.
  • To scale down, it uses the highest count from the last 5 minutes.

The Horizontal Pod Autoscaler on EKS is built in, so there’s nothing to install. EKS lists Metrics Server as a prerequisite.

An example from the Kubernetes docs

In the HPA walkthrough, each php-apache pod requests 200 millicores (200m) of CPU. The HPA targets 50% average CPU utilization. So it aims for 100m of use per pod.

A 50% target on a 200m request aims for 100m per pod Kubernetes HPA walkthrough, one php-apache pod, two bars on one shared CPU scale from 0 to 200m. CPU request: a bar to 200m. Use the HPA aims for: a bar to 100m, half the request. A dashed line at 100m runs through both bars, labelled HPA target: 50% of the request. A 50% target on a 200m request aims for 100m per pod Kubernetes docs walkthrough: one php-apache podHPA target: 50% of the requestCPU request200mUse the HPA aims for100m0100m200m
The numbers from the Kubernetes HPA walkthrough: the CPU target is a share of each pod’s request, so a 50% target on 200m aims for 100m of use.

If average use reached 200m, twice the target, the HPA would double the pods.

Why it matters for your cloud cost

  • At a 50% target, each pod’s request is twice its target use.
  • Node autoscalers add nodes to fit pods’ requests, not their real use.
  • When new replicas don’t fit, you pay for nodes sized to those requests.

Coral works with your HPA. For a CPU-utilization HPA, it picks the CPU request by replaying past load through that HPA’s own settings.

The free assessment works out your own figure.

Find your own number

One line in your cloud console. One PDF report with your estimated saving at list price.

Estimate your saving

Talk to the builders

Thirty minutes with the people who build Coral.

Book a demo (opens in a new tab)

Or write to founders@zoorik.com