Autoscaling is one of the prominent features of the Kubernetes cluster. Once configured correctly, it saves administrators’ time, prevents performance bottlenecks, and helps avoid financial waste. It is a feature wherein the cluster can increase the number of pods as the demand for service response increases and decrease the number of pods as the requirement decreases.
One of the ways in which Kubernetes enables autoscaling is through Horizontal Pod Autoscaling. HPA can help applications scale out to meet increased demand or scale in when resources are no longer needed. This type of autoscaling does not apply to objects that can’t be scaled.
In this article, we will take a deep dive into the topic of Horizontal Pod Autoscaling in Kubernetes. We’ll define HPA, explain how it works, and provide a detailed tutorial to configure HPA. But before that, let’s first understand what is Kubernetes.
So, without further ado, let’s get started!
What is Kubernetes?
Kubernetes is an open-source container management tool that automates container deployment, container scaling, and load balancing. It schedules, runs, and manages isolated containers running on virtual, physical, and cloud machines.
Kubernetes Horizontal Pod Autoscaling (HPA) :
The Kubernetes Horizontal Pod Autoscaling automatically scales the number of pods in a replication controller, deployment, or replica set based on that resource’s CPU utilization.
Kubernetes has the possibility to automatically scale pods based on observed CPU utilization which is horizontal pod autoscaling. Scaling can be done only for scalable objects like controller, deployment, or replica sets. HPA is implemented as a Kubernetes Application Programming Interface (API) resource and a controller.
With the controller, one can periodically adjust the number of replicas in a deployment or replication controller to match the observed average CPU utilization to the target specified by the user.
How does a Horizontal PodAutoscaler work?
In simpler words, HPA works in a ‘check, update, check again’ style loop. Here’s how each of the steps in that loop work:
1. Horizontal Pod Autscaler keeps monitoring the metrics server for resource usage.
2. HPA will calculate the required number of replicas on the basis of collected resource usage.
3. Then, HPA decides to scale up the application to the number of replicas required.
4. After that, HPA will change the desired number of replicas.
5. Since HPA is monitoring on a continous basis, the process repeats from Step 1.
Configuring Horizontal Pod AutoScaling
Let’s create a simple deployment :-
kind: Deployment #Defines to create deployment type Object apiVersion: apps/v1 metadata: name: mydeploy #deployment name spec: replicas: 2 #define number of pods you want selector: #Apply this deployment to any pods which has the specific label matchLabels: name:deployment template: metadata: name: testpod8 #pod name labels: name: deployment spec: containers: - name: c00 #container name Image: httpd ports: - containerPort: 80 #Containers port exposed resources: limits: cpu: 500m requests: cpu: 200m
Now, create autoscaling
- kubectl autoscale deployment mydeploy –cpu-percent=20 –min=1 –max=10
Let’s check the HPA entries.
- kubectl get hpa
Final thoughts
We hope this blog was helpful in understanding how Kubernetes Horizontal Pod Autoscaling works and how it can be configured. HPA allows you to scale your applications based on different metrics. By scaling to the correct number of pods dynamically, you can utilize the application in a performant and cost-efficient manner.
In case you still need help with the working of Horizontal Pod Autoscaling or want to know more about it, you can contact a trusted and reliable cloud solutions services provider like Appinventiv.



How Much Does it Cost to Build a Cloud Based Digital Signage Software?
Imagine you are an entrepreneur with a vision: a world where digital displays are everywhere, delivering timely information, immersive advertising, and dynamic content in places as diverse as airports, retail stores, and corporate offices. You have also identified the growing demand for digital signage—something seen in its $26.5 billion market size—but creating robust cloud-based enterprise…

Cloud Manufacturing Software - Benefits, Types, Development Process and Cost Analysis
Cloud computing is set to become a bigger part of the manufacturing industry's future as it continues to embrace digital transformation. With advancements in manufacturing software, cloud-based solutions are here to stay and only grow with time. The potential of ERP can be realized with the help of cloud manufacturing software, which eliminates the need…

Cloud Computing in Oil and Gas Industry - Identifying Business Opportunities and Challenges
In an industry where the pressure of data is as intense as the pressure in the deep sea, oil and gas companies grapple with managing enormous volumes of information, streamlining operations, and controlling costs. Traditional systems often buckle under the weight of this data deluge, leading to fragmented processes, operational inefficiencies, and hefty capital expenditures…