This repository contains code to tune parameters of microservices applications and the Kubernetes' Vertical Pod Autoscaler using Bluefin algorithm from SelfTune (NSDI 2023). For the recent and official version of SelfTune library, please check here.
If you use any code from this repository, please consider citing SelfTune: Tuning Cluster Managers
Readme file from Kubenetes Autoscaler:
Kubernetes Autoscaler

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.
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:
- Visit https://github.com/kubernetes/autoscaler
- 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.