DEV Community

Mesrar
Mesrar

Posted on

Navigating Horizontal Pod Autoscaler (HPA) in Kubernetes

The Horizontal Pod Autoscaler (HPA) in Kubernetes allows for automatic scaling of the number of pods in a deployment or replica set based on observed CPU utilization or other custom metrics. Let's explore essential commands for managing HPAs in your Kubernetes cluster.

Key Operations

View HPAs

To list all Horizontal Pod Autoscalers in the current namespace:

kubectl get hpa
Enter fullscreen mode Exit fullscreen mode

Delete an HPA
To delete a specific Horizontal Pod Autoscaler:

kubectl delete hpa <hpa-name>
Enter fullscreen mode Exit fullscreen mode

Create an HPA
Create an HPA for a deployment named "nginx" with minimum 5 and maximum 10 replicas, targeting 80% CPU utilization:

kubectl autoscale deploy nginx --min=5 --max=10 --cpu-percent=80
Enter fullscreen mode Exit fullscreen mode

This command sets up an HPA for the "nginx" deployment to automatically adjust the number of replicas based on CPU utilization, keeping it between 5 and 10 replicas and targeting 80% CPU usage.

Additional Insights
Desired Metrics: The HPA monitors the metrics defined (CPU utilization in this example) and adjusts the number of replicas to meet the specified targets.

Dynamic Scaling: HPA enables dynamic scaling based on real-time resource demand, ensuring optimal resource utilization.

Pod Metrics: HPAs can also be configured to scale based on custom metrics, such as memory usage, or external metrics like requests per second.

Scaling Behavior: The scaling behavior is defined by the --cpu-percent parameter, determining when to scale in or out based on the specified CPU utilization threshold.

Ensure that the configuration and metrics defined in your HPA align with the requirements and behavior of your application to achieve efficient and automated scaling.

Happy Autoscaling!

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up