Commit Graph

15 Commits

Author SHA1 Message Date
Marcin Wielgus 5fb92f5da2 Extra checks when pushing an image to gcr repository 2017-11-17 15:49:52 +01:00
Marcin Wielgus 4c0c2cd4f2 Test-in-docker in CA Makefile 2017-09-05 11:47:01 +02:00
Marcin Wielgus e7176dc9b7 Compile only what is needed building a docker image 2017-08-29 19:36:28 +02:00
Seth Pollack 314ed88b14
Enable min size 0 in aws 2017-07-10 09:04:18 -04:00
Daniel Kłobuszewski 6c727998ec Build pod_nanny in a container. 2017-06-21 15:26:16 +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 59a5fe677e Docker builder for cluster autoscaler 2017-05-12 02:28:46 +02:00
Marcin Wielgus eb3e6173d1 Cluster-autoscaler: Fix isNodeStarting 2017-03-27 23:27:14 +02: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
Jeff Grafton 71207638f7 Always --pull in docker build to ensure recent base images 2017-01-10 15:11:14 -08: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
Filip Grzadkowski 0d50855e83 Fix makefile so that it doesn't require REGISTRY to be set for every rule 2016-05-16 13:27:42 +02:00
Filip Grzadkowski eb34f57d97 Add scripts for starting/stopping cluster autoscaler. 2016-05-13 17:46:02 +02:00
Marcin Wielgus 78b3a4a730 Cluster-autoscaler: Utils + more scale up flow 2016-04-21 14:14:49 +02:00
Marcin Wielgus fe24a43956 Cluster autoscaler make and main 2016-04-19 14:25:11 +02:00