Skip to main content
This section provides a concise, exam-focused overview of autoscaling in Kubernetes with updates relevant through 2025. From the Certified Kubernetes Administrator (CKA) exam perspective, we’ll concentrate on Horizontal Pod Autoscaling (HPA) and Vertical Pod Autoscaling (VPA). Autoscaling is a broad topic — for deeper coverage see the dedicated KodeKloud course on Kubernetes Autoscaling. For the CKA, prioritize understanding HPA behavior and the Cluster Autoscaler; VPA should be understood conceptually. Before diving into Kubernetes specifics, let’s review what “scaling” means. What is scaling?
  • Vertical scaling (scale up/down): increase or decrease the CPU, memory, or other resources of a single machine.
  • Horizontal scaling (scale out/in): add or remove additional machines or instances to distribute load.
A diagram illustrating vertical vs. horizontal scaling: vertical scaling increases CPU/memory within a single server, while horizontal scaling adds more server instances to handle more users.
In short:
  • Vertical scaling: change resources of an existing machine (CPU/memory).
  • Horizontal scaling: add or remove machines/instances to share load.
How this maps to Kubernetes Kubernetes supports scaling at two levels:
  • Workloads — the application units (pods) you run.
  • Cluster infrastructure — the nodes that make up the cluster.
A stylized infrastructure diagram showing user icons at the top, rows of small container boxes distributed across several grouped columns, and a large "Orchestration" bar at the bottom. The graphic is labeled "Scaling Cluster Infra" on the left and "Scaling Workloads" on the right.
Mapping horizontal vs vertical to these areas:
  • Cluster infrastructure
    • Horizontal: add or remove nodes.
    • Vertical: resize existing nodes (increase CPU/memory).
  • Workloads
    • Horizontal: increase/decrease number of pods (replicas).
    • Vertical: change pod requests/limits (CPU/memory) for existing pods.
Manual vs Automated scaling There are two main approaches: manual operations and automated controllers. Manual approaches
  • Cluster (horizontal): provision nodes and join them to the cluster (e.g., kubeadm join or cloud provider tooling).
  • Cluster (vertical): replace or resize node VMs and drain/migrate workloads — often disruptive.
  • Workload (horizontal): scale a Deployment/ReplicaSet/StatefulSet with kubectl scale.
  • Workload (vertical): update pod resources in manifests or kubectl edit the Deployment (pods will restart to pick up changes).
Example manual commands:
Automated approaches
  • Cluster (horizontal): Cluster Autoscaler — automatically adds or removes nodes based on pending pods and node utilization (typically integrates with cloud provider APIs).
  • Workload (horizontal): Horizontal Pod Autoscaler (HPA) — adjusts pod replicas using metrics such as CPU, memory, or custom/external metrics.
  • Workload (vertical): Vertical Pod Autoscaler (VPA) — recommends or applies updated resource requests and may evict pods to apply new values.
Autoscaler summary
For CKA-level understanding: prioritize how HPA adjusts the number of pods using metrics and how the Cluster Autoscaler adds/removes nodes. Know VPA conceptually (it changes pod resource requests and may evict pods), but deep VPA configuration is typically out of scope for basic exam requirements.
Key takeaways
  • Vertical = change resource size; Horizontal = change instance count.
  • Kubernetes supports scaling both workloads (pods) and cluster infrastructure (nodes).
  • Manual scaling is simple but operationally heavy; automated controllers (Cluster Autoscaler, HPA, VPA) provide dynamic scaling based on metrics and scheduling needs.
  • For exam prep: focus on HPA behavior and Cluster Autoscaler integration with cloud providers; understand VPA conceptually.
Further reading and references

Watch Video