Commit Graph

585 Commits

Author SHA1 Message Date
Marcin Wielgus ff9ac8e0a4 Merge pull request #128 from x13n/master
Rewrite addon-resizer nanny
2017-06-21 23:20:15 +02:00
Marcin Wielgus e460923bee Set version to 0.6.0-beta1 2017-06-21 16:29:10 +02:00
Marcin Wielgus cdc8487056 Merge pull request #134 from mwielgus/dont-skip-besteffort
Don't skip node groups that help only besteffort pods in price expander
2017-06-21 16:16:55 +02:00
Marcin Wielgus ddb04529e9 Don't skip node groups that help only besteffort pods in price expander 2017-06-21 15:47:47 +02:00
Daniel Kłobuszewski 6c727998ec Build pod_nanny in a container. 2017-06-21 15:26:16 +02:00
Marcin Wielgus 4d01a8842e Merge pull request #130 from mwielgus/move-builder-up
Move docker builder image to the top of the repository
2017-06-20 18:41:18 +02:00
Marcin Wielgus d5728dc6a7 Move docker builder image to the top of the repository 2017-06-20 17:28:00 +02:00
Marcin Wielgus 4e8d297c4c Merge pull request #129 from mwielgus/unmanaged
Don't calculate utilisation and run scale down simulations for unmanaged nodes
2017-06-20 17:18:16 +02:00
Marcin Wielgus 2cd532ebfe Don't calculate utilization and run scale down simulations for unmanaged nodes 2017-06-20 16:57:30 +02:00
Johannes Würbach 2ad85f224e AWS: Fixed link to the detailed explanation
https://github.com/kubernetes/contrib/pull/1552#r75532949 seems to explain the reasoning behind multiple ASGs much better then the previous link target.
2017-06-19 14:34:10 +02:00
Maciej Pytel 061ddb8f6a Add metric and livenessProbe endpoints to FAQ 2017-06-16 15:18:07 +02:00
Maciej Pytel fd16f1dff7 Add link to 0.5 version of FAQ 2017-06-16 15:18:07 +02:00
Maciej Pytel 7bba53a5d9 Add FAQ question about balancing similar node groups 2017-06-16 15:18:07 +02:00
Maciej Pytel 46ae19b121 Divide CA's FAQ TOC to sections
As the CA FAQ is growing it was getting hard to navigate. This
will make FAQ table of contents reflect different sections to make
it easier to navigate.
2017-06-16 12:31:06 +02:00
Marcin Wielgus 63e679a74f Merge pull request #120 from MaciekPytel/fix_graceful_flag
Fix typos related to max-graceful-termination-sec
2017-06-14 14:42:35 +02:00
Maciej Pytel 767367c866 Fix typos related to max-graceful-termination-sec 2017-06-14 14:14:21 +02:00
Maciej Pytel fe514ed75d Make status configmap respect namespace parameter 2017-06-14 14:07:13 +02:00
Maciej Pytel 7c5679baaf Improve error handling in status configmap 2017-06-14 13:07:06 +02:00
Marcin Wielgus 060b6c2284 Merge pull request #118 from mwielgus/0.6.0-alpha2
Bump CA version to 0.6.0-alpha2
2017-06-14 08:59:31 +02:00
Marcin Wielgus 0b83fdba45 Bump CA version to 0.6.0-alpha2 2017-06-14 08:49:57 +02:00
Marcin Wielgus e184b0a3d6 Fix NPE in kubernetes config 2017-06-14 08:30:53 +02:00
Marcin Wielgus 0b4e5ac578 Merge pull request #115 from mwielgus/godeps-0.6-1
Update GODEPS
2017-06-13 15:19:07 +02:00
Marcin Wielgus 1bedee5707 Update GODEPS 2017-06-13 14:48:24 +02:00
Marcin Wielgus 5adf42816e Merge pull request #114 from mwielgus/0.6.0-alpha1
Bump cluster autoscaler version to 0.6-alpha1
2017-06-13 11:15:43 +02:00
Marcin Wielgus b3d17b0dd8 Bump cluster autoscaler version to 0.6-alpha1 2017-06-12 22:14:41 +02:00
Marcin Wielgus cd65705bea Fix lint problems in preferred.go 2017-06-12 22:13:00 +02:00
Marcin Wielgus 69c77791a2 Fix error types 2017-06-12 21:26:50 +02:00
Marcin Wielgus e2e171b7b7 Enable pricing in expander factory 2017-06-09 11:09:43 -07:00
Marcin Wielgus be0d16a57f Move Autoscaler Builder to a new file 2017-06-09 10:02:44 -07:00
Marcin Wielgus 4101dea6d3 Merge pull request #105 from MaciekPytel/node_group_sets4
Balance sizes of similar nodegroups in scale-up
2017-06-06 10:46:13 -07:00
Maciej Pytel cd186f3ebc Balance sizes of similar nodegroups in scale-up 2017-06-06 00:52:38 +02:00
Marcin Wielgus 0fd87aeca7 Merge pull request #100 from aleksandra-malinowska/evict-kube-system-pods
Add allowing eviction of kube-system pods with PDB
2017-06-02 10:33:07 -07:00
Maciej Pytel 7c327a951f Function to balance scale-up between node groups 2017-06-02 15:53:50 +02:00
Aleksandra Malinowska 8ca8b24d3d Add allowing eviction of kube-system pods with PDB 2017-06-01 18:24:42 +02:00
Maciej Pytel 78509c554e Update to go1.8.3
Same version as k8s. Full godeps update will go out
in separate commit.
2017-06-01 17:24:47 +02:00
Marcin Wielgus 60f6e07dc7 Merge pull request #102 from MaciekPytel/node_group_sets2
Function to find similar nodegroups
2017-06-01 12:27:47 +02:00
Maciej Pytel 95dc2c53e1 Function to find similar nodegroups 2017-06-01 12:20:11 +02:00
Marcin Wielgus 48df2eefb4 Merge pull request #96 from mwielgus/price-6
Combine price and preferred node in price expander
2017-06-01 12:04:57 +02:00
Marcin Wielgus 94558d9e90 Combine price and preferred node in price expander 2017-06-01 11:47:00 +02:00
Marcin Wielgus 2610486772 Merge pull request #84 from ejether/patch-1
Update README.md
2017-05-31 22:44:10 +02:00
Marcin Wielgus db583abb62 Merge pull request #97 from MaciekPytel/node_group_sets
Function to compare nodeinfos to find similar nodegroups
2017-05-31 18:49:22 +02:00
Marcin Wielgus 9f3b56d803 Merge pull request #95 from mwielgus/proposals_in_faq
Proposals in FAQ
2017-05-31 18:41:40 +02:00
Aleksandra Malinowska 0684ceb42b Add checking namespace to matching pods with PDBs 2017-05-31 15:58:37 +02:00
Maciej Pytel 849b3a2712 Function to compare nodeinfos to find similar nodegroups 2017-05-31 13:21:27 +02:00
Marcin Wielgus cd6b27b48f Merge pull request #93 from MaciekPytel/node_group_sets_proposal
Proposal for balancing node groups for multizone
2017-05-31 11:23:29 +02:00
Maciej Pytel d7a7fc659b Proposal for balancing node groups for multizone 2017-05-31 10:54:34 +02:00
Marcin Wielgus 4c9da35037 Proposals in FAQ 2017-05-30 20:54:03 +02:00
Marcin Wielgus e9ebfb1c35 Preferred node in price-preferred expander 2017-05-30 20:33:10 +02:00
Marcin Wielgus fa87710b1e Price-preferred node expander - part 1 2017-05-30 13:30:22 +02:00
Marcin Wielgus 6e1c5d23fd Merge pull request #87 from mwielgus/price-2
Price-based node group ranking function proposal
2017-05-29 13:56:44 +02:00
Aleksandra Malinowska 972772440a Add failing health check if autoscaler loop consistently returns error 2017-05-29 11:31:57 +02:00
Marcin Wielgus 80bf191f02 GCE pricing model 2017-05-26 17:37:32 +02:00
Marcin Wielgus e11fa3df27 Merge pull request #86 from mwielgus/price-1
Pricing model interface for CA
2017-05-26 14:22:37 +02:00
Marcin Wielgus 1397882fbe Price-based node group ranking function 2017-05-26 10:31:57 +02:00
Marcin Wielgus 83a11552df Merge pull request #88 from MaciekPytel/ca_faq_update
Add description of testing PR to CA FAQ
2017-05-25 15:16:18 +02:00
Maciej Pytel a7443c8f7c Add description of testing PR to CA FAQ 2017-05-25 15:04:46 +02:00
Marcin Wielgus c6af5ae003 Merge pull request #79 from aleksandra-malinowska/health-check
Add health check
2017-05-25 14:16:11 +02:00
Aleksandra Malinowska 7c94367099 Add health check 2017-05-25 11:37:44 +02:00
Marcin Wielgus bc86bb2676 Pricing model for CA 2017-05-25 11:01:05 +02:00
ejether a3654a2473 Update README.md
Empirically determined that the policy "autoscaling:DescribeAutoScalingTags" is actually "autoscaling:DescribeTags",
2017-05-24 14:03:42 -07:00
Jason Ansel ef173ab691 Update cluster-autoscaler version number in AWS example deployment 2017-05-23 10:18:08 -07:00
Marcin Wielgus 0a8a88c580 Handle empty node groups in cluster state 2017-05-19 17:46:53 +02:00
Marcin Wielgus 9083c135c6 Merge pull request #74 from MaciekPytel/autoscaler_errors
Add typed errors, add errors_total metric
2017-05-19 11:48:52 +02:00
Marcin Wielgus dc7fac0340 Handle custom machine types in GCE cloud provider 2017-05-18 16:13:34 +02:00
Maciej Pytel 58cdfa1702 Updated log levels in main loop 2017-05-18 14:09:15 +02:00
Maciej Pytel 3f8ca51768 Use typed errors in scale down 2017-05-18 14:09:15 +02:00
Maciej Pytel 7f5c7ed3a2 Used typed errors in scale up code
Updated some of the functions called by scale up
to return new errors as required.
2017-05-18 14:09:15 +02:00
Maciej Pytel f716a7e496 Add typed errors; add errors_total metric
To keep reasonable commit size only top-level files use
new errors. Will add them in other files in next commits.
2017-05-18 14:09:15 +02:00
Marcin Wielgus b432362a70 Merge pull request #73 from mwielgus/zero-7
Add manifest-run kube-proxy to GCE template node
2017-05-17 11:23:27 +02:00
Marcin Wielgus abb817177b Add manifest-run kube-proxy to GCE template node 2017-05-17 10:20:51 +02:00
Marcin Wielgus bfa105e959 Enable min size 0 in gce 2017-05-16 17:41:58 +02:00
Marcin Wielgus ea7bd81681 Prefer using ready nodes and cloudprovider template nodes over unready/unschedulable nodes in scale-up 2017-05-16 13:06:19 +02:00
Marcin Wielgus d9bf5aacd7 Use TemplateNodeInfo in scale up 2017-05-16 11:45:05 +02:00
MaciekPytel ae21c299a5 Merge pull request #70 from MaciekPytel/metrics_3
Add metrics counting CA operations
2017-05-15 13:26:07 +02:00
Maciej Pytel 7a21a68b56 Add metrics counting CA operations 2017-05-15 13:03:00 +02:00
Matthew Walter f64a73429a Correct typos for `deamon` -> `daemon` as in `DaemonSet` 2017-05-12 13:27:40 -04:00
Marcin Wielgus 1f53407318 Merge pull request #68 from mwielgus/nocolon
Remove : from headers in CA readme
2017-05-12 14:29:10 +02:00
Marcin Wielgus 88e3eec027 Remove : from headers in CA readme 2017-05-12 14:24:48 +02:00
Marcin Wielgus ed14e268ca Merge pull request #61 from MaciekPytel/metrics_2
Added CA metrics related to autoscaler execution
2017-05-12 12:40:13 +02:00
Marcin Wielgus f015ef1853 Merge pull request #62 from mwielgus/zero-4
Daemonset helper function that returns pods that DaemonSet controller would start on the given node.
2017-05-12 11:59:04 +02:00
Marcin Wielgus b4dcd22e46 Merge pull request #65 from mwielgus/docker-builder
Docker builder for cluster autoscaler
2017-05-12 11:58:54 +02:00
Marcin Wielgus 6d578132b9 Daemonset helper functions 2017-05-12 11:37:11 +02:00
Marcin Wielgus 669ba4fa58 Merge pull request #63 from mwielgus/predicate-error
Fix predicate error messages
2017-05-12 11:20:24 +02:00
Marcin Wielgus 59a5fe677e Docker builder for cluster autoscaler 2017-05-12 02:28:46 +02:00
Marcin Wielgus 5bc6f88f31 Fix predicate error messages 2017-05-11 21:42:01 +02:00
Maciej Pytel 4cdf06ea94 Added CA metrics related to autoscaler execution 2017-05-11 14:51:04 +02:00
Marcin Wielgus e17f3507d4 Merge pull request #57 from mwielgus/min-zero-design-doc
Min at zero - design doc
2017-05-11 14:45:24 +02:00
Marcin Wielgus ff258b87a1 Min at zero - design doc 2017-05-11 14:44:20 +02:00
Maciej Pytel 83ef3d2be3 Added CA metrics related to cluster state 2017-05-11 13:54:04 +02:00
Marcin Wielgus 5339b19ba9 Merge pull request #55 from mwielgus/zero-3
Daemonset lister
2017-05-11 13:35:08 +02:00
Marcin Wielgus 0a0129f511 Daemonset listers 2017-05-11 12:30:27 +02:00
Marcin Wielgus 40e4a4e9f8 Merge pull request #50 from MaciekPytel/ca_metrics_proposal
CA metrics proposal
2017-05-11 10:34:32 +02:00
Maciej Pytel f7946c8d21 Updated document format 2017-05-10 16:01:21 +02:00
Marcin Wielgus 95f1aa889c Set ready status in gce node template 2017-05-10 13:21:58 +02:00
Maciej Pytel 2481d8f706 Renamed metrics 2017-05-10 12:15:23 +02:00
Marcin Wielgus 4baa1d11aa Merge pull request #51 from mwielgus/zero-1
Build node template in GCE cloud provider
2017-05-10 12:11:19 +02:00
Marcin Wielgus 5eba73453d Build node template in GCE cloud provider 2017-05-10 11:48:23 +02:00
Marcin Wielgus 30cb7a52e5 Merge pull request #11 from mumoshu/node-group-auto-discovery-with-asg-tag
cluster-autoscaler: Re: AWS Autoscaler autodiscover ASG names and sizes
2017-05-10 11:07:58 +02:00
Marcin Wielgus 81828ec3ff Merge pull request #53 from mumoshu/fix-incorrect-info-message
cluster-autoscaler: Fix an incorrect message when CA failed to find a place for a to-be-removed pod
2017-05-10 11:04:38 +02:00
Yusuke Kuoka 5304e9af21 cluster-autoscaler: Fix typos in comments 2017-05-10 11:22:15 +09:00
Yusuke Kuoka 3ec83d901e cluster-autoscaler: Fix an incorrect message when CA failed to find a place for a to-be-removed pod
The message has been always "<evaluation type>: node <node name> is not suitable for removal nil".
It should be "<evaluation type>: node <node name> is not suitable for removal: failed to find place for <pod key>"
2017-05-10 10:40:36 +09:00
Yusuke Kuoka e9c7cd0733 cluster-autoscaler: Re: AWS Autoscaler autodiscover ASG names and sizes
This is an alternative implementation of https://github.com/kubernetes/contrib/pull/1982

Notable differences from the original PR are:

* A new flag named `--node-group-auto-discovery` is introduced for opting in to enable the auto-discovery feature.
  * For example, specifying `--cloud-provider aws --node-group-auto-discovery asg:tag=k8s.io/cluster-autoscaler/enabled` instructs CA to auto-discover ASGs tagged with `k8s.io/cluster-autoscaler/enabled` to be used as target node groups
* The new code path introduced by this PR is executed only when `node-group-auto-discovery` is specified. There is relatively less chance to break existing features by introducing this change

Resolves https://github.com/kubernetes/contrib/issues/1956

---

Other notes:

* We rely mainly on the `DescribeTags` API rather than `DescribeAutoScalingGroups` so that AWS can filter out unnecessary ASGs which doesn't belong to the k8s cluster, for us.
  * If we relied on `DescribeAutoScalingGroups` here, as it doesn't support `Filter`ing, we'd need to iterate over ALL the ASGs available in an AWS account, which isn't desirable due to unnecessary excessive API calls and network usages

* Update cloudprovider/aws/README for the new configuration

* Warn abount invalid combination of flags
according to the review comment https://github.com/kubernetes/autoscaler/pull/11#discussion_r113713138

* Emit a validation error when both --nodes and --node-group-auto-discovery are specified
according to the review comment https://github.com/kubernetes/autoscaler/pull/11#discussion_r113958080

TODO/Possible future improvements before recommending this to everyone:

* Cache the result of an auto-discovery for a configurable period, so that we won't invoke DescribeTags and DescribeAutoScalingGroup APIs too many times
2017-05-10 08:36:02 +09:00
Marcin Wielgus 1198a14c53 Merge pull request #48 from mumoshu/add-ca-certificates
cluster-autoscaler: Add ca-certificates to the docker image
2017-05-09 23:52:39 +02:00
Marcin Wielgus e8dd60f858 Add a method to NodeGroup for providing a template NodeInfo 2017-05-09 13:36:37 +02:00
Yusuke Kuoka be88af64d4 cluster-autoscaler: Add ca-certificates to the docker image
This commit is manually tested by running `TAG=mytag REGISTRY=mydockerrepo make release` and running it inside author's k8s cluster

Resolves #38
2017-05-09 12:30:59 +09:00
Maciej Pytel 7953a3f0eb CA metrics proposal 2017-05-08 19:04:14 +02:00
Marcin Wielgus 436a9fb069 Readme update for 0.5.4 2017-05-08 18:47:34 +02:00
Marcin Wielgus 2770ae380b Merge pull request #40 from mwielgus/ca0.5.4
Bump CA version to 0.5.4
2017-05-08 13:45:15 +02:00
Marcin Wielgus 794ea82f8e Bump CA version to 0.5.4 2017-05-08 13:25:37 +02:00
Marcin Wielgus 42c177b68f Add deletion safety margin to node drain 2017-05-08 11:47:33 +02:00
Marcin Wielgus e94c869acd Merge pull request #35 from mwielgus/ca-0.5.3-readme
Release nodes in readme for ca 0.5.3.
2017-05-05 13:56:16 +02:00
Marcin Wielgus 75ede980e3 Release nodes in readme for ca 0.5.3. 2017-05-05 13:45:40 +02:00
Marcin Wielgus e609d6551d Cluster autoscaler 0.5.3 2017-05-04 15:56:24 +02:00
Marcin Wielgus 6f5d52e3a7 Overwrite pod.spec.nodename and node.name in template nodes for scale up 2017-04-28 17:57:02 +02:00
Marcin Wielgus 6bafa2a940 Merge pull request #25 from mwielgus/label-fix
Override hostname label when building a template node
2017-04-27 17:25:43 +02:00
Marcin Wielgus e1c89f8fe2 Override hostname label when building a template node 2017-04-27 17:17:01 +02:00
Marcin Wielgus d5d92a239d Merge pull request #24 from mwielgus/readme-update-0.5.2
Update readme for CA 0.5.2
2017-04-27 16:29:36 +02:00
Marcin Wielgus 466e243231 Update readme for CA 0.5.2 2017-04-27 16:19:56 +02:00
MaciekPytel ad4468e5f7 Merge pull request #23 from MaciekPytel/update_nodes_handling
Fix error handling for updating node status
2017-04-26 14:30:50 +02:00
Marcin Wielgus 576da5d146 Merge pull request #17 from mwielgus/toc
Table of contents for FAQ
2017-04-25 19:13:38 +02:00
Maciej Pytel 7e4212478a Fix error handling for updating node status 2017-04-25 17:34:23 +02:00
Marcin Wielgus 516588f837 Table of contents for FAQ 2017-04-25 12:13:30 +02:00
MaciekPytel 1358f0c416 Merge pull request #21 from mwielgus/ca-0.5.2
Bump cluster autoscaler version to 0.5.2
2017-04-24 14:33:42 +02:00
Marcin Wielgus 710777c19a Bump cluster autoscaler version to 0.5.2 2017-04-24 14:25:34 +02:00
Maciej Pytel e8440ee15e Fix PVC informer issue 2017-04-24 14:12:27 +02:00
Jesse Kinkead a4fe90d8c0 Clean up some grammar and punctuation. 2017-04-21 10:40:00 -07:00
bruceauyeung 8d3ea488a3 fix grammar error and links 2017-04-21 11:34:00 +08:00
Maciej Pytel 50033f49c3 fix a link in readme 2017-04-20 11:10:40 +02:00
Marcin Wielgus e02d05736d Merge pull request #12 from MaciekPytel/add_simulator_ut
Added UT for cluster_autoscaler/simulator/cluster/FindNodesToRemove
2017-04-19 19:38:07 +02:00
Maciej Pytel 6b2ea76973 Added UT for CA simulator 2017-04-19 19:12:30 +02:00
Kendall Miller aed5086028 Minor Typo Change
Kubernets changed to Kubernetes
2017-04-19 07:40:39 -06:00
Maciej Pytel 4d40222b63 Fix gofmt 2017-04-18 16:45:27 +02:00
Marcin Wielgus 34eb4973f8 Fix imports in cluster autoscaler after migrating it from contrib 2017-04-18 15:42:04 +02:00
Marcin Wielgus d6b8a87c72 Cluster-autoscaler: add default credentials to faq. 2017-04-14 11:16:31 +02:00
Marcin Wielgus 3e048c301b Cluster-Autoscaler: add more info about cpu-based autoscalers to FAQ 2017-04-11 23:34:09 +02:00
Di Wu bb9441e3f8 fixes to documentation to be more clear 2017-04-10 19:30:45 -07:00
Maciej Pytel 0b74a3bd25 Cluster-Autoscaler: update event name 2017-04-10 14:03:21 +02:00
Maciej Pytel 328d5834eb Cluster-Autoscaler: describe events for FAQ 2017-04-10 14:03:21 +02:00
Maciej Pytel b3f2b36d38 Cluster-Autoscaler: Add FAQ entry about e2e 2017-04-10 11:16:21 +02:00
Marcin Wielgus 77e62d2fed Cluster-autoscaler: other autoscalers in FAQ 2017-04-07 15:51:16 +02:00
Marcin Wielgus 9cd2443e04 Cluster-autoscaler: FAQ improvement 2017-04-07 14:12:44 +02:00
Marcin Wielgus 08776f7e6c Merge pull request https://github.com/kubernetes/contrib/pull/2530 from mwielgus/ubuntu-slim-bump
Cluster-autoscaler: ubuntu slim version bump
2017-04-07 10:10:31 +02:00
Marcin Wielgus f726f19cbf Cluster-autoscaler: ubuntu slim version bump 2017-04-06 13:40:40 +02:00
Marcin Wielgus 9eed534a7a Cluster-autoscaler: add HPA and performance questions to FAQ 2017-04-06 13:19:55 +02:00
Marcin Wielgus 47a2727c5c Cluster-autoscaler: rename FAQ 2017-04-06 12:05:34 +02:00
Marcin Wielgus ca3d6db9e2 Cluster-autoscaler: readme reorg 2017-04-06 11:42:11 +02:00
Marcin Wielgus 081fcd6b84 Cluster-autoscaler: Frequently Asked Questions 2017-04-05 14:55:00 +02:00
Marcin Wielgus 2ed1203e42 Cluster-autoscaler: improve readme 2017-04-04 21:53:06 +02:00
Kubernetes Submit Queue 6a28643880 Merge pull request https://github.com/kubernetes/contrib/pull/2509 from mwielgus/aws_doc_fix
Automatic merge from submit-queue

Cluster-autoscaler: update aws doc with --stderrthreshold=info flag

cc: @andrewsykim @MaciekPytel

ref:  #2500
2017-03-29 23:31:15 -07:00
Marcin Wielgus 760477c96c Cluster-autoscaler: update aws doc with --stderrthreshold=info flag 2017-03-29 23:47:20 +02:00
Maciej Pytel bf9b6ce203 Cluster-Autoscaler: make status less confusing
Previously min and max in status were refering to
non-obvious internal variables, which was pretty confusing.
2017-03-28 13:31:12 +02:00
Kubernetes Submit Queue 6d841cbf17 Merge pull request https://github.com/kubernetes/contrib/pull/2505 from mwielgus/v0.5.1
Automatic merge from submit-queue

Bump cluster autoscaler to 0.5.1

cc: @MaciekPytel @fgrzadkowski
2017-03-28 04:22:23 -07:00
Marcin Wielgus 8f465e588f Bump cluster autoscaler to 0.5.1 2017-03-28 12:49:04 +02:00
Maciej Pytel 28b40c45db Cluster-Autoscaler: fix scaleup status reporting
Previously the cluster would move to NoActivity too quickly
(before new nodes were actually ready).
2017-03-28 11:58:56 +02:00
Marcin Wielgus eb3e6173d1 Cluster-autoscaler: Fix isNodeStarting 2017-03-27 23:27:14 +02:00
Kubernetes Submit Queue f8ca11f223 Merge pull request https://github.com/kubernetes/contrib/pull/2499 from diwu1989/patch-1
Automatic merge from submit-queue

fix typo consumig
2017-03-27 01:20:23 -07:00
Kubernetes Submit Queue 2ee2a1c598 Merge pull request https://github.com/kubernetes/contrib/pull/2496 from mwielgus/compatibility
Automatic merge from submit-queue

Cluster-autoscaler: add information about which version is supported in which k8s

cc: @andrewsykim @MaciekPytel @fgrzadkowski
2017-03-27 01:11:51 -07:00
Marcin Wielgus 971ca5049b Cluster-autoscaler: add information about which version is supported in which k8s 2017-03-27 09:58:58 +02:00
Di Wu 0499a09de5 fix typo consumig 2017-03-26 13:12:00 -07:00
Maciej Pytel 72c885b800 Cluster-Autoscaler: reset scale-down on unready cluster 2017-03-22 17:17:59 +01:00
Kubernetes Submit Queue 9395dbaccd Merge pull request https://github.com/kubernetes/contrib/pull/2485 from mwielgus/0.5.0
Automatic merge from submit-queue

Cluster-autoscaler: bump version to 0.5.0

cc: @MaciekPytel @fgrzadkowski @jszczepkowski
2017-03-21 07:25:11 -07:00
Marcin Wielgus bfde563911 Cluster-autoscaler: bump version to 0.5.0 2017-03-21 15:11:13 +01:00
Maciej Pytel c71668a8d8 Cluster-Autoscaler: update status configmap on errors
Previously it would only update after successfully completing the main
loop, meaning the status wouldn't get updated unless cluster was
healthy.
2017-03-15 13:22:24 +01:00
Kubernetes Submit Queue 41d3292456 Merge pull request https://github.com/kubernetes/contrib/pull/2478 from mwielgus/v0.5.0-beta2
Automatic merge from submit-queue

Cluster-autoscaler: bump version to 0.5.0-beta2

cc: @MaciekPytel @jszczepkowski @fgrzadkowski
2017-03-15 04:36:29 -07:00
Kubernetes Submit Queue ac5f7634d8 Merge pull request https://github.com/kubernetes/contrib/pull/2464 from MaciekPytel/ca_drain_evictions
Automatic merge from submit-queue

Cluster-Autoscaler: evict pods instead of deleting them

This should make CA respect PodDisruptionBudget.
2017-03-15 04:27:27 -07:00
Marcin Wielgus d953213592 Cluster-autoscaler: bump version to 0.5.0-beta2 2017-03-15 12:21:14 +01:00
Maciej Pytel 1590789292 Cluster-Autoscaler: "unknown" readiness -> unready 2017-03-15 11:16:17 +01:00
Maciej Pytel 7d5488898c Cluster-autoscaler: fix NotTriggerScaleUp event
This should fix a failing e2e test
2017-03-14 14:54:36 +01:00
Maciej Pytel 10d560dae6 Cluster-Autoscaler: handle nil node group
In a few place we assumed it's not-nil, leading
to segfaults.
2017-03-13 14:46:11 +01:00
Maciej Pytel 39162f0860 Cluster-Autoscaler: evict pods instead of deleting them 2017-03-10 16:18:47 +01:00
Maciej Pytel 0379a73828 Cluster-Autoscaler: fix delete taint failing 2017-03-10 12:02:52 +01:00
Kubernetes Submit Queue b171566401 Merge pull request https://github.com/kubernetes/contrib/pull/2461 from mwielgus/lister-fix
Automatic merge from submit-queue

Cluster-autoscaler: ready node lister fix

cc: @MaciekPytel @jszczepkowski
2017-03-09 08:32:45 -08:00
Marcin Wielgus 95bad10311 Cluster-autoscaler: ready node lister fix 2017-03-09 19:18:49 +03:00
Kubernetes Submit Queue 7fcab2d18e Merge pull request https://github.com/kubernetes/contrib/pull/2460 from mwielgus/pdb-typo
Automatic merge from submit-queue

Cluster-autoscaler: fix typo in pdb listener

cc: @MaciekPytel @jszczepkowski
2017-03-09 07:53:12 -08:00
Marcin Wielgus 10f848b049 Cluster-autoscaler: fix typo in pdb listener 2017-03-09 18:38:50 +03:00
Maciej Pytel d305a0021a Cluster-Autoscaler: fix delete taint value format 2017-03-09 15:24:52 +01:00
Marcin Wielgus f89d49296b Cluster-autoscaler: version bump to 0.5.0-beta1 2017-03-08 14:08:46 +01:00
Maciej Pytel 5d2c675c8e Cluster-Autoscaler: update scale down status 2017-03-08 11:51:20 +01:00
Maciej Pytel 46d2c66473 Cluster-autoscaler: set timestamps in status configmap 2017-03-08 11:51:20 +01:00
Marcin Wielgus 27b797f541 Cluster-Autoscaler: skip nodes currently under deletion in scale down 2017-03-07 14:59:15 +01:00
Kubernetes Submit Queue 39fa783ad7 Merge pull request https://github.com/kubernetes/contrib/pull/2451 from mwielgus/pdb-ca
Automatic merge from submit-queue

Cluster-autoscaler: include PodDisruptionBudget in drain - part 1/2

In part 1 or 2 we skip nodes that have a pod with 0 poddisruptionallowed. Part 2/2 will delete pods using evict.

cc: @jszczepkowski @MaciekPytel @davidopp @fgrzadkowski
2017-03-06 09:27:50 -08:00
Marcin Wielgus 5b4441083a Cluster-autoscaler: include PodDisruptionBudget in drain - part 1/2 2017-03-06 17:15:04 +01:00
Maciej Pytel d3bf5d3d51 Cluster-Autoscaler: log events on status configmap 2017-03-06 12:21:24 +01:00
Maciej Pytel c87d10f042 Cluster-Autoscaler: fix ignoring node groups config 2017-03-03 17:21:24 +01:00
Marcin Wielgus 1cd861227a Cluster-autoscaler: precheck that the api server link is ok 2017-03-03 14:39:23 +01:00
Maciej Pytel 84f19c1e1e Cluster-Autoscaler: add map to disable status configmap 2017-03-02 15:35:00 +01:00
Marcin Wielgus 2ffaddb7c0 Cluster-autoscaler: lint 2017-03-02 15:15:07 +01:00
Marcin Wielgus f648a575e6 Cluster-autoscaler: update godeps 2017-03-02 14:54:19 +01:00
Marcin Wielgus 72a47dc2b2 Cluster-autoscaler: update code for 1.6 k8s sync 2017-03-02 14:34:49 +01:00
Maciej Pytel 4cab3d70bf Cluster-Autoscaler: added wrapper script to pass signals
Running directly through "/bin/sh -c" ignores signals and
only finishes once it gets SIGKILL, so we have no chance
for cleanup.
2017-02-28 17:39:29 +01:00
Maciej Pytel d0196c9e1b Cluster-Autoscaler: Delete status configmap on exit 2017-02-28 17:19:23 +01:00
Kubernetes Submit Queue 35b0103b36 Merge pull request https://github.com/kubernetes/contrib/pull/2430 from fate-grand-order/patch-3
Automatic merge from submit-queue

fix misspell "being" in drain.go
2017-02-28 05:43:08 -08:00
fate-grand-order 82e148507f fix misspell "being" in drain.go 2017-02-28 18:20:06 +08:00
Maciej Pytel 497d2800ea Cluster-Autoscaler: Write status to configmap 2017-02-28 09:59:40 +01:00
Maciej Pytel 637e750246 Cluster-Autoscaler: fix segfault
StaticAutoscaler.kubeClient was uninitialized,
leading to segfaults when trying to use it. It was
also a duplicate since the client is already available
through AutoscalingContext.
2017-02-27 14:13:54 +01:00
Marcin Wielgus 83fdeb184f Cluster-autoscaler: use listers from ListersRegistry 2017-02-24 20:40:53 +01:00
Marcin Wielgus c766b8b0f8 Cluster-autoscaler: bump version to 0.5.0-alpha1 in preparation for the next release 2017-02-24 15:08:46 +01:00
Yusuke Kuoka baee799524 cluster-autoscaler: Dynamic Reconfiguration via ConfigMaps
Adds a new optional flag named `configmap` to specify the name of a configmap containing node group specs.

The configmap is polled every `scan-interval` seconds to reconfigure cluster-autoscaler dynamically at runtime.

Example usage:

```
./cluster-autoscaler --v=4 --cloud-provider=aws --skip-nodes-with-local-storage=false --logtostderr --leader-elect=false --configmap=cluster-autoscaler --logtostderr
```

The configmap would look like:

```yaml
kind: ConfigMap
apiVersion: v1
metadata:
  name: cluster-autoscaler
  namespace: kube-system
data:
  settings: |-
    {
      "nodeGroups": [
        {
          "minSize": 1,
          "maxSize": 2,
          "name": "kubeawstest-nodepool1-AutoScaleWorker-1VWD4GAVG35L5"
        }
      ]
    }
 ```

Other notes:

* Make namespace defaults to "kube-system"
according to https://github.com/kubernetes/contrib/pull/2226#discussion_r94144267

* Trigger a full-recreate on a configuration change

according to https://github.com/kubernetes/contrib/pull/2226#issuecomment-269617410

* Introduced `autoscaler/` and moved  all the dynamic/recreatable-at-runtime parts of autoscaler into there (Update: the package is now named `core` according to https://github.com/kubernetes/contrib/pull/2226#issuecomment-273071663)

* Extracted the core of CA(=`func Run()` in `main.go`) into `Autoscaler`

* `DynamicAutoscaler` is a wrapper around `Autoscaler` which achieves reconfiguration of CA by recreating an `Autoscaler` instance on a configmap change.

* Moved `scale_down*.go`, `scale_up*.go` and `utils*.go` into the `autoscaler` package accordingly because they seemed to be meant to be collocated in the same package as the core of CA (which is now implemented as `Autoscaler`)

* Moved the `createEventRecorder` func from the `main` package to the `utils/kubernetes` package to make it importable from both `main` and `autoscaler`
2017-02-24 20:36:47 +09:00
Kubernetes Submit Queue 8a7674744c Merge pull request https://github.com/kubernetes/contrib/pull/2413 from MaciekPytel/ca_log_collector
Automatic merge from submit-queue

Cluster-autoscaler: implemented LogCollector
2017-02-23 09:09:05 -08:00
Maciej Pytel 585c46419d Cluster-autoscaler: implemented LogCollector 2017-02-23 17:57:59 +01:00