RemoveNode is renamed to RemoveNodeInfo for consistency with other NodeInfo methods. For DRA, the snapshot will have to potentially allocate ResourceClaims when adding a Pod to a Node, and deallocate them when removing a Pod from a Node. This will happen in new methods added to ClusterSnapshot in later commits - SchedulePod and UnschedulePod. These new methods should be the "default" way of moving pods around the snapshot going forward. However, we'll still need to be able to add and remove pods from the snapshot "forcefully" to handle some corner cases (e.g. expendable pods). AddPod is renamed to ForceAddPod, and RemovePod to ForceRemovePod to highlight that these are no longer the "default" methods of moving pods around the snapshot, and are bypassing something important. |
||
---|---|---|
.github | ||
addon-resizer | ||
balancer | ||
builder | ||
charts | ||
cluster-autoscaler | ||
hack | ||
multidimensional-pod-autoscaler | ||
vertical-pod-autoscaler | ||
.gitignore | ||
.pre-commit-config.yaml | ||
CONTRIBUTING.md | ||
LICENSE | ||
OWNERS | ||
README.md | ||
SECURITY_CONTACTS | ||
code-of-conduct.md |
README.md
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.
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:
- 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.