Autoscaling components for Kubernetes
Go to file
Kuba Tużnik 9e38ce69aa Fix parsing --drain-priority-config
The --drain-priority-config flag was only parsed if isFlagPassed()
returned true for it. However, isFlagPassed() would actually silently
never work. The implementation relied on walking the flags parsed by
the standard Go "flag" pkg. This seems like it would work since CA
defines its flags using the standard "flag" pkg. However, the flags
are then actually parsed and processed by the "github.com/spf13/pflag"
pkg, so isFlagPassed() could never see them.

This commit replaces removes isFlagPassed() and replaces the calls
with a pkg-provided pflag.CommandLine.Changed(). Unit tests are added
to verify that the flag is correctly parsed after this change.
2025-06-10 16:54:43 +02:00
.github Bump to Go 1.24 2025-06-02 16:25:44 +02:00
addon-resizer add raywainman to addon-resizer approvers 2024-12-02 19:57:48 +00:00
balancer remove maintainer labels in Dockerfiles since they just get stale 2024-11-12 17:27:52 +00:00
builder Bump go version in builder 2025-05-12 22:27:03 +00:00
charts remove extra new line 2025-03-31 18:49:37 +02:00
cluster-autoscaler Fix parsing --drain-priority-config 2025-06-10 16:54:43 +02:00
hack Fix the setup-go Github action caching 2025-06-02 09:59:01 +02:00
multidimensional-pod-autoscaler Fixed the TOC of Multi-dimensional Pod Autoscaler AEP. 2024-01-10 13:07:47 +05:30
vertical-pod-autoscaler Revert "Enable TestUnchangedCAReloader tests" 2025-06-04 12:36:29 +02:00
.gitignore Modify the e2e local scripts so they can be run on a modern Mac 2024-11-04 08:22:53 +02:00
.pre-commit-config.yaml Add script to update cluster-autoscaler flags doc 2024-12-28 06:39:58 +08:00
CONTRIBUTING.md
LICENSE
OWNERS update OWNERS, add OWNERS_ALIASES 2025-03-31 09:50:51 -07:00
OWNERS_ALIASES update OWNERS, add OWNERS_ALIASES 2025-03-31 09:50:51 -07:00
README.md
SECURITY_CONTACTS
code-of-conduct.md

README.md

Kubernetes Autoscaler

Release Charts Tests GoDoc Widget

This repository contains autoscaling-related components for Kubernetes.

What's inside

Cluster Autoscaler - a component that automatically adjusts the size of a Kubernetes Cluster so that all pods have a place to run and there are no unneeded nodes. Supports several public cloud providers. Version 1.0 (GA) was released with kubernetes 1.8.

Vertical Pod Autoscaler - a set of components that automatically adjust the amount of CPU and memory requested by pods running in the Kubernetes Cluster. Current state - beta.

Addon Resizer - a simplified version of vertical pod autoscaler that modifies resource requests of a deployment based on the number of nodes in the Kubernetes Cluster. Current state - beta.

Charts - Supported Helm charts for components above.

Contact Info

Interested in autoscaling? Want to talk? Have questions, concerns or great ideas?

Please join us on #sig-autoscaling at https://kubernetes.slack.com/, or join one of our weekly meetings. See the Kubernetes Community Repo for more information.

Getting the Code

Fork the repository in the cloud:

  1. Visit https://github.com/kubernetes/autoscaler
  2. Click Fork button (top right) to establish a cloud-based fork.

The code must be checked out as a subdirectory of k8s.io, and not github.com.

mkdir -p $GOPATH/src/k8s.io
cd $GOPATH/src/k8s.io
# Replace "$YOUR_GITHUB_USERNAME" below with your github username
git clone https://github.com/$YOUR_GITHUB_USERNAME/autoscaler.git
cd autoscaler

Please refer to Kubernetes Github workflow guide for more details.