# kubernetes/autoscaler

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/kubernetes-autoscaler).**

8,771 stars · 4,325 forks · Go · apache-2.0

## Links

- GitHub: https://github.com/kubernetes/autoscaler
- awesome-repositories: https://awesome-repositories.com/repository/kubernetes-autoscaler.md

## Description

The Kubernetes Cluster Autoscaler is a mechanism that automatically adjusts the number of nodes in a cluster to match the resource demands of pending pods. It functions as a cloud infrastructure scaler that manages the desired capacity of scaling groups to ensure sufficient compute resources for workloads.

The system manages cloud infrastructure automation by adjusting node counts when resources are insufficient or nodes are underutilized. It includes a manager for scaling groups using mixed instance policies to balance on-demand and spot instances for cost and availability.

The project also includes a resource optimizer that analyzes pod usage to update CPU and memory requests. Supporting capabilities include automatic node group discovery via metadata tags and internal state capturing for diagnosing scaling logic.

Installation and configuration across different environments are supported via a Helm chart.

## Tags

### DevOps & Infrastructure

- [Capacity Scaling](https://awesome-repositories.com/f/devops-infrastructure/cluster-node-management/capacity-scaling.md) — Automatically increases or decreases the total number of nodes in a cluster to match resource demands. ([source](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler/))
- [Cloud Infrastructure Automation](https://awesome-repositories.com/f/devops-infrastructure/cloud-infrastructure-automation.md) — Automates the management of AWS scaling groups to balance compute availability with cost efficiency.
- [Cloud Infrastructure Management](https://awesome-repositories.com/f/devops-infrastructure/cloud-infrastructure-management.md) — Manages the desired capacity of cloud scaling groups to ensure sufficient compute resources for workloads.
- [Cloud Infrastructure Scaling](https://awesome-repositories.com/f/devops-infrastructure/cloud-infrastructure-scaling.md) — Provides programmatic scaling of cloud infrastructure by communicating with provider APIs based on cluster needs.
- [Auto Scaling Groups](https://awesome-repositories.com/f/devops-infrastructure/cloud-infrastructure/cloud-computing-serverless/serverless-execution-environments/auto-scaling-groups.md) — Manages AWS Auto Scaling Groups to adjust the number of active compute instances based on pending pod requirements. ([source](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler/cloudprovider/aws))
- [Kubernetes Cluster Management](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-cluster-management.md) — Automates the lifecycle and capacity of Kubernetes clusters to match the resource demands of running pods.
- [Kubernetes Resource Optimizers](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-resource-optimizers.md) — Implements a system to analyze pod usage and update CPU and memory requests to improve cluster utilization.
- [Hybrid Instance Management](https://awesome-repositories.com/f/devops-infrastructure/hybrid-instance-management.md) — Manages a mix of spot and on-demand instances to maintain cluster availability and cost efficiency.
- [Deployment Resource Resizing](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-cluster-management/resource-controllers/managed-resource-activation-restriction/deployment-resource-resizing.md) — Updates resource requests for deployments based on the total number of active nodes in the cluster. ([source](https://cdn.jsdelivr.net/gh/kubernetes/autoscaler@master/README.md))
- [Kubernetes Resource Optimization](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-resource-optimization.md) — Analyzes pod usage to automatically update CPU and memory requests for improved cluster utilization.
- [Resource Request Optimization](https://awesome-repositories.com/f/devops-infrastructure/resource-request-optimization.md) — Analyzes pod usage patterns to automatically update CPU and memory requests for better hardware utilization.
- [Spot Instance Orchestration](https://awesome-repositories.com/f/devops-infrastructure/spot-instance-orchestration.md) — Optimizes costs by balancing the use of spot instances and on-demand instances within scaling groups. ([source](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler/cloudprovider/aws))

### Data & Databases

- [Reconciliation Loops](https://awesome-repositories.com/f/data-databases/data-management/backup-recovery-utilities/data-recovery/manifest-based-state-reconciliation/reconciliation-loops.md) — Implements continuous reconciliation loops to align the current node count with the desired cluster capacity.
- [Pod Resource Request Scaling](https://awesome-repositories.com/f/data-databases/horizontal-database-scaling/resource-scaling-strategies/pod-resource-request-scaling.md) — Analyzes pod usage and automatically updates CPU and memory requests to optimize hardware utilization. ([source](https://cdn.jsdelivr.net/gh/kubernetes/autoscaler@master/README.md))
