The Horizontal Pod Autoscaler (HPA) adds or removes Pod replicas based on observed metrics (CPU, memory, or custom). The Cluster Autoscaler (CA) adds or removes nodes when Pods can't be scheduled or nodes are underused. They operate at different layers and work together.
Two autoscalers, two layers
HPA → scales PODS (more/fewer replicas of a Deployment) — reacts to LOAD
CA → scales NODES (grows/shrinks the cluster's machines) — reacts to PENDING Pods
VPA → (bonus) adjusts a Pod's requests/limits — reacts to right-sizing
Typical flow: load rises → HPA adds Pods → Pods can't fit → CA adds a node →
Pods schedule. Load drops → HPA removes Pods → node idle → CA removes it.
