autoscaler/cluster-autoscaler
Marcin Wielgus ddb04529e9 Don't skip node groups that help only besteffort pods in price expander 2017-06-21 15:47:47 +02:00
..
Godeps Update GODEPS 2017-06-13 14:48:24 +02:00
builder Update to go1.8.3 2017-06-01 17:24:47 +02:00
cloudprovider Update GODEPS 2017-06-13 14:48:24 +02:00
clusterstate Make status configmap respect namespace parameter 2017-06-14 14:07:13 +02:00
config Fix NPE in kubernetes config 2017-06-14 08:30:53 +02:00
core Merge pull request #120 from MaciekPytel/fix_graceful_flag 2017-06-14 14:42:35 +02:00
deploy Cluster-autoscaler: update aws doc with --stderrthreshold=info flag 2017-03-29 23:47:20 +02:00
estimator Fix imports in cluster autoscaler after migrating it from contrib 2017-04-18 15:42:04 +02:00
expander Don't skip node groups that help only besteffort pods in price expander 2017-06-21 15:47:47 +02:00
metrics Fix error types 2017-06-12 21:26:50 +02:00
proposals Merge pull request #93 from MaciekPytel/node_group_sets_proposal 2017-05-31 11:23:29 +02:00
simulator Update GODEPS 2017-06-13 14:48:24 +02:00
utils Update GODEPS 2017-06-13 14:48:24 +02:00
vendor Update GODEPS 2017-06-13 14:48:24 +02:00
.gitignore Cluster-Autoscaler - Kubernetes client deps 2016-04-20 11:49:38 +02:00
Dockerfile cluster-autoscaler: Add ca-certificates to the docker image 2017-05-09 12:30:59 +09:00
FAQ.md Add metric and livenessProbe endpoints to FAQ 2017-06-16 15:18:07 +02:00
Makefile Docker builder for cluster autoscaler 2017-05-12 02:28:46 +02:00
OWNERS Make assignees approvers and reviewers 2016-12-14 16:42:04 -08:00
README.md Remove : from headers in CA readme 2017-05-12 14:24:48 +02:00
main.go Merge pull request #120 from MaciekPytel/fix_graceful_flag 2017-06-14 14:42:35 +02:00
run.sh Cluster-Autoscaler: added wrapper script to pass signals 2017-02-28 17:39:29 +01:00
update_toc.py Divide CA's FAQ TOC to sections 2017-06-16 12:31:06 +02:00
version.go Bump CA version to 0.6.0-alpha2 2017-06-14 08:49:57 +02:00

README.md

Cluster Autoscaler

Introduction

Cluster Autoscaler is a tool that automatically adjusts the size of the Kubernetes cluster when:

  • there are pods that failed to run in the cluster due to insufficient resources.
  • some nodes in the cluster are so underutilized, for an extended period of time, that they can be deleted and their pods will be easily placed on some other, existing nodes.

Releases

We strongly recommend using Cluster Autoscaler with version for which it was meant. We don't do ANY cross version testing so if you put the newest Cluster Autoscaler on an old cluster there is a big chance that it won't work as expected.

Kubernetes Version CA Version
1.6.X 0.5.X
1.5.X 0.4.X
1.4.X 0.3.X

Notable changes

CA Version 0.5.4:

  • Fixes problems with node drain when pods are ignoring SIGTERM.

CA Version 0.5.3:

CA Version 0.5.2:

CA Version 0.5.1:

CA Version 0.5:

  • CA continues to operate even if some nodes are unready and is able to scale-down them.
  • CA exports its status to kube-system/cluster-autoscaler-status config map.
  • CA respects PodDisruptionBudgets.
  • Azure support.
  • Alpha support for dynamic config changes.
  • Multiple expanders to decide which node group to scale up.

CA Version 0.4:

  • Bulk empty node deletions.
  • Better scale-up estimator based on binpacking.
  • Improved logging.

CA Version 0.3:

  • AWS support.
  • Performance improvements around scale down.

Deployment

Cluster Autoscaler runs on the Kubernetes master node (at least in the default setup on GCE and GKE). It is possible to run customized Cluster Autoscaler inside of the cluster but then extra care needs to be taken to ensure that Cluster Autoscaler is up and running. User can put it into kube-system namespace (Cluster Autoscaler doesn't scale down node with non-manifest based kube-system pods running on them) and mark with scheduler.alpha.kubernetes.io/critical-pod annotation (so that the rescheduler, if enabled, will kill other pods to make space for it to run).

Right now it is possible to run Cluster Autoscaler on:

FAQ

Is available HERE.