Commit Graph

460 Commits

Author SHA1 Message Date
Kubernetes Submit Queue 319e6fbe78 Merge pull request https://github.com/kubernetes/contrib/pull/2219 from mwielgus/util-selflink
Automatic merge from submit-queue

Cluster-autoscaler: add self link to BuildTestPod/Node functions

cc: @fgrzadkowski @jszczepkowski
2016-12-28 00:52:50 -08:00
Marcin Wielgus 5b3f67d9e1 Cluster-autoscaler: add self link to BuildTestPod/Node functions 2016-12-23 23:43:56 +01:00
Marcin Wielgus dc696f5728 Merge pull request https://github.com/kubernetes/contrib/pull/2205 from mwielgus/test-sd
Cluster autoscaler: more unit tests for scale down
2016-12-22 20:39:10 +01:00
Marcin Wielgus befd959c0e Cluster autoscaler: more unit tests for scale down 2016-12-22 19:48:16 +01:00
Marcin Wielgus 369fd8d812 Merge pull request https://github.com/kubernetes/contrib/pull/2206 from mwielgus/sd-log
Cluster-Autoscaler: fix logging in scale down
2016-12-22 17:14:15 +01:00
Marcin Wielgus 2cc5e7def1 Cluster-Autoscaler: fix logging in scale down 2016-12-22 14:16:59 +01:00
Kubernetes Submit Queue 930b101975 Merge pull request https://github.com/kubernetes/contrib/pull/2195 from mwielgus/ss-drain
Automatic merge from submit-queue

Cluster-autoscaler: add stateful set support in drain.

This change will have to be cherry-picked to 0.4.0 release of CA (and K8S 1.5).

cc: @fgrzadkowski @piosz @jszczepkowski
2016-12-21 03:43:36 -08:00
Marcin Wielgus d7a9a70bbf Cluster-autoscaler: add stateful set support in drain. 2016-12-21 12:11:32 +01:00
Kubernetes Submit Queue 252a5206f4 Merge pull request https://github.com/kubernetes/contrib/pull/2192 from mwielgus/test-cp
Automatic merge from submit-queue

Cluster-autoscaler: test cloud provider for unit tests

Ref: #2191

cc: @fgrzadkowski @piosz @jszczepkowski
2016-12-21 02:43:34 -08:00
Marcin Wielgus 364bc5262a Cluster-autoscaler: test cloud provider for unit tests 2016-12-21 11:10:04 +01:00
Marcin Wielgus 7c70234085 Merge pull request https://github.com/kubernetes/contrib/pull/2182 from mwielgus/objectify
Cluster-autoscaler: store scale down state in a struct.
2016-12-20 18:37:48 +01:00
Marcin Wielgus bdfd251e35 Cluster-autoscaler: store scale down state in a struct. 2016-12-20 17:19:09 +01:00
Kubernetes Submit Queue 098fe02f57 Merge pull request https://github.com/kubernetes/contrib/pull/2118 from thebigjc/scale-up-strategies
Automatic merge from submit-queue

Provide multiple strategies for choosing which Node Group to increase

As per #1921, the current cluster-autoscaler chooses a node group to increase at random among the groups that can fit at least one pod. This expands this to two additional strategies:

- Most Pods - choose the node group that can schedule the most pods, usually due to predicate rules
- Least Waste - choose the node group that has the least remaining CPU resources after a scale up, and if that is tied, the least remaining Memory

In the event of a tie, both of these strategies fall back to the current Random method.

This probably needs test coverage, to move to its own package, and there could be some weirdness in the algorithms as it needs manual testing.

Looking mostly to see if I'm on the right track and will proceed after.
2016-12-19 11:46:47 -08:00
thebigjc 77629b5193 Multiple expansion strategies 2016-12-17 07:40:37 -05:00
Kubernetes Submit Queue e0703097ef Merge pull request https://github.com/kubernetes/contrib/pull/2076 from kubernetes/approval-process
Automatic merge from submit-queue

Approval process

Implements https://github.com/kubernetes/contrib/issues/1389

Please do not remove the `do-not-merge` label, unless you know what you're doing.
2016-12-16 11:17:39 -08:00
Kubernetes Submit Queue 979c64fe84 Merge pull request https://github.com/kubernetes/contrib/pull/2161 from mwielgus/context
Automatic merge from submit-queue

ClusterAutoscaler: context object to keep non-changing objects

+ flag with max graceful termination for scale down.

cc: @fgrzadkowski @piosz @jszepkowski
2016-12-16 08:37:36 -08:00
Marcin Wielgus df5bc303b7 ClusterAutoscaler: context object to keep non-changing objects 2016-12-16 17:03:20 +01:00
Kubernetes Submit Queue d5d82b3276 Merge pull request https://github.com/kubernetes/contrib/pull/2137 from mwielgus/full_node_drain
Automatic merge from submit-queue

Cluster-Autoscaler: add node drain logic

Currently a node is removed without any notice and pods  that live on the node killed without graceful termination. This PR adds drain logic to scale down.

cc: @fgrzadkowski @piosz @jszczepkowski
2016-12-16 06:47:34 -08:00
Marcin Wielgus 1b572632fd Cluster-Autoscaler: add node drain logic 2016-12-16 15:21:21 +01:00
Antoine Pelisse c7aba019a1 Make assignees approvers and reviewers 2016-12-14 16:42:04 -08:00
Marcin Wielgus 2804803a6f Merge pull request https://github.com/kubernetes/contrib/pull/2147 from mwielgus/refresh
Cluster-autoscaler: update Kubernetes in CA to 1.5
2016-12-14 13:34:32 +01:00
Marcin Wielgus 935cf77933 Cluster-Autoscaler: godep update 2016-12-14 13:09:00 +01:00
Marcin Wielgus 7b63b6c1f1 Cluster-autoscaler: update code to compile with K8S 1.5 2016-12-13 17:22:57 +01:00
Kubernetes Submit Queue be150fc1c5 Merge pull request https://github.com/kubernetes/contrib/pull/1981 from craigwillis85/master
Automatic merge from submit-queue

Fixed a couple of typos in cluster-autoscaler

This pull request fixes a couple of typos/grammatical errors in the logging output of the cluster-autoscaler addon
2016-11-17 00:18:07 -08:00
Kubernetes Submit Queue bd292c8d51 Merge pull request https://github.com/kubernetes/contrib/pull/2000 from mwielgus/0.4.0
Automatic merge from submit-queue

Cluster-autoscaler: get rid of -alpha in version

Small follow-up fix after premature lgtm in #1993

cc: @fgrzadkowski
2016-11-07 10:15:25 -08:00
Marcin Wielgus e499732153 Cluster-autoscaler: get rid of -alpha in version 2016-11-07 18:48:12 +01:00
Kubernetes Submit Queue 59d2782e8c Merge pull request https://github.com/kubernetes/contrib/pull/1993 from mwielgus/0.4.0-alpha
Automatic merge from submit-queue

Cluster-autoscaler: bump version to 0.4.0-alpha

cc: @fgrzadkowski @piosz @jszczepkowski
2016-11-07 09:45:23 -08:00
Kubernetes Submit Queue d37a94c85d Merge pull request https://github.com/kubernetes/contrib/pull/1992 from mwielgus/bulkdelete
Automatic merge from submit-queue

Cluster-autoscaler: delete empty nodes in bulk

Regular nodes are deleted one by one. However, if a nodes are completely empty (only daemonsets or manifest-run pods) then they can easily be deleted in bulk. With this PR in scale down we will first try to delete empty nodes in bulk and if that fails, we will proceed with regular node deletion.

cc: @fgrzadkowski @piosz @jszczepkowski
2016-11-07 09:45:16 -08:00
Kubernetes Submit Queue 92d8cfb62b Merge pull request https://github.com/kubernetes/contrib/pull/1999 from mwielgus/bin-def
Automatic merge from submit-queue

Cluster-autoscaler: use binpacking estimation algorithm by default

Should actually be better than basic for most of the users:
* If only 1 type of pod is pending CA is guaranteed to provide the best estimate.
* Only 1 iteration is needed to grow cluster to correct state.
* It should not be much worse than multi-phase iterative algorithm for mixed pending pods.

cc: @fgrzadkowski @piosz @jszczepkowski
2016-11-07 08:55:14 -08:00
Marcin Wielgus 1a0f80dd2f Cluster-autoscaler: empty node accounting 2016-11-07 17:30:25 +01:00
Marcin Wielgus c61638c69d Cluster-autoscaler: use binpacking estimation algorithm by default 2016-11-07 17:09:38 +01:00
Marcin Wielgus 1cea91895d Cluster-autoscaler: delete empty nodes in bulk 2016-11-07 15:52:35 +01:00
Marcin Wielgus e0b2cb39ed Cluster-autoscaler: bump version to 0.4.0-alpha 2016-11-06 18:07:15 +01:00
Kubernetes Submit Queue f76a966bf7 Merge pull request https://github.com/kubernetes/contrib/pull/1954 from mwielgus/ca-logging
Automatic merge from submit-queue

Cluster-autoscaler: more explicit logging on scale down.

* Return pods to be rescheduled from simulations. First step towards graceful node deletion.
* Print node utilization and pods to be rescheduled on node scale down. 
* Consistent messages on scale down and scale up.

cc: @fgrzadkowski @piosz
2016-11-05 02:14:13 -07:00
Marcin Wielgus a56bf82935 Cluster-autoscaler: more explicit logging on scale down. 2016-11-05 09:34:06 +01:00
Kubernetes Submit Queue 7df41659fb Merge pull request https://github.com/kubernetes/contrib/pull/1850 from mwielgus/enable-aggressive-estimation-flag
Automatic merge from submit-queue

Cluster-autoscaler: Add a flag to enable more aggressive new node count nt estimation via binpacking estimator

Binpacking estimator was added here: #1741

cc: @piosz @fgrzadkowski
2016-11-04 09:39:29 -07:00
Marcin Wielgus e3b6c31198 Cluster-autoscaler: Add a flag to enable more aggressive new node count estimation via binpacking estimator 2016-11-04 17:06:52 +01:00
Craig Willis ede94eeed7 Fixed a couple of typos in cluster-autoscaler 2016-11-03 12:11:54 +00:00
Kubernetes Submit Queue 9f3900f466 Merge pull request https://github.com/kubernetes/contrib/pull/1909 from mwielgus/own_drain
Automatic merge from submit-queue

Cluster-autoscaler: own drain

This PR adds an own drain logic to ClusterAutoscaler. Previously we were using the code from kubectl drain command but:
* due to refactorings it was hard to update the the CA dependencies. 
* we had to add some extra logic on top of it in fast drain evaluation
* a recent feature request to check the number of replicas in rs/rc was impossible to fulfill. 

cc: @fgrzadkowski @davidopp @piosz
2016-10-27 08:31:11 -07:00
Marcin Wielgus df078c9101 Cluster-autoscaler: own drain 2016-10-27 16:58:59 +02:00
Kubernetes Submit Queue 7c9d9e734a Merge pull request https://github.com/kubernetes/contrib/pull/1935 from mwielgus/allow_unschedulable
Automatic merge from submit-queue

Cluster-autoscaler: allow unschedulable nodes

Unschedulable nodes that belong to some autoscaling-enabled node pool are perfectly fine.

cc: @fgrzadkowski @piosz
2016-10-27 04:21:09 -07:00
Marcin Wielgus 2560c686d5 Cluster-autoscaler: allow unschedulable nodes 2016-10-27 12:45:43 +02:00
Kubernetes Submit Queue e767a3093f Merge pull request https://github.com/kubernetes/contrib/pull/1910 from mwielgus/readme-add
Automatic merge from submit-queue

Cluster-autoscaler: update scale down preconditions in readme.md

cc: @fgrzadkowski @davidopp
2016-10-24 05:21:53 -07:00
Kubernetes Submit Queue 4efca79d4e Merge pull request https://github.com/kubernetes/contrib/pull/1905 from mwielgus/events_delete
Automatic merge from submit-queue

Cluster-autoscaler: publish event on node deletion

Fixes: #1899
2016-10-24 04:51:51 -07:00
Marcin Wielgus 4fc48c2da0 Cluster-autoscaler: updat scale down preconditions in readme.md 2016-10-21 20:23:11 +01:00
Marcin Wielgus bc7aaf797a Cluster-autoscaler: publish event on node deletion 2016-10-21 15:21:18 +01:00
Kubernetes Submit Queue 709106c806 Merge pull request https://github.com/kubernetes/contrib/pull/1863 from centraldesktop/build-for-linux
Automatic merge from submit-queue

Target linux binaries by default so you can follow the build instruct…

…ions on a Mac and still build a valid image.
2016-10-14 07:56:26 -07:00
Kubernetes Submit Queue 0aeec20c9f Merge pull request https://github.com/kubernetes/contrib/pull/1856 from crigor/ca-flag
Automatic merge from submit-queue

Add aws to allowed values on cluster autoscaler cloud-provider flag
2016-10-12 02:06:35 -07:00
Trey Hyde f55e00a1a2 Target linux binaries by default so you can follow the build instructions on a Mac and still build a valid image. 2016-10-10 17:19:32 -07:00
Christopher Rigor 34d5bc09e4 Add aws to allowed values on cluster autoscaler cloud-provider flag 2016-10-09 12:55:51 +08:00