kubernetes/cluster
Kubernetes Submit Queue 63139f937c Merge pull request #30787 from jbeda/rsync
Automatic merge from submit-queue

Speed up dockerized builds

This PR speeds up dockerized builds.  First, we make sure that we are as incremental as possible.  The bigger change is that now we use rsync to move sources into the container and get data back out.

To do yet:
* [x] Add a random password to rsync.  This is 128bit MD4, but it is better than nothing.
* [x] Lock down rsync to only come from the host.
* [x] Deal with remote docker engines -- this should be necessary for docker-machine on the mac.
* [x] Allow users to specify the port for the rsync daemon.  Perhaps randomize this or let docker pick an ephemeral port and detect the port?
* [x] Copy back generated files so that users can check them in.  This is done for `zz_generated.*` files generated by `make generated_files` 
  * [x] This should include generated proto files so that we can remove the hack-o-rama that is `hack/hack/update-*-dockerized.sh` 
* [x] Start "versioning" the build container and the data container so that the CI system doesn't have to be manually kicked.
* [x] Get some benchmarks to qualify how much faster.

This replaces #28518 and is related to #30600.

cc @thockin @spxtr @david-mcmahon @MHBauer 

Benchmarks by running `make clean ; sync ; time bash -xc 'time build/make-build-image.sh ; time sync ; time build/run.sh make ; time sync; time build/run.sh make'` on a GCE n1-standard-8 with PD-SSD.

| setup | build image | sync | first build | sync | second build | total |
|-------|-------------|----- |----------|------|--------------|------|
| baseline | 0m11.420s | 0m0.812s | 7m2.353s | 0m42.380s | 7m8.381s | 15m5.348s |
| this pr | 0m10.977s | 0m15.168s | 7m31.096s | 1m55.692s | 0m16.514s | 10m9.449s |
2016-10-05 19:51:09 -07:00
..
addons Bump up addon kube-dns to v20 for graceful termination 2016-09-29 18:09:20 -07:00
aws Fix typo: incremeting -> incrementing 2016-09-24 16:10:51 -04:00
azure azure kube-up respects AZURE_RESOURCE_GROUP 2016-07-08 11:59:32 -07:00
azure-legacy [squash] Rename and move to storageclass/ 2016-08-22 14:11:01 +02:00
centos Fix typo: incremeting -> incrementing 2016-09-24 16:10:51 -04:00
gce Merge pull request #33147 from vishh/fix-upgrade-sh 2016-10-05 01:19:56 -07:00
gke Add a script to "stop" GKE cluster creation 2016-09-30 13:42:48 +02:00
images Fix URL in README 2016-10-03 15:15:45 -04:00
juju Bump up addon kube-dns to v20 for graceful termination 2016-09-29 18:09:20 -07:00
kubemark Make it possible to set etcd version in kubemark 2016-09-27 13:13:29 +02:00
lib Add a verbosity concept to kubernetes scripts 2016-08-04 22:01:22 -07:00
libvirt-coreos [squash] Rename and move to storageclass/ 2016-08-22 14:11:01 +02:00
local Merge pull request #28469 from asalkeld/local-e2e 2016-09-11 05:44:47 -07:00
mesos/docker Remove support for boot2docker 2016-10-03 19:42:20 -07:00
openstack-heat Merge pull request #27783 from jianhuiz/openstack-heat-network 2016-09-07 16:25:02 -07:00
ovirt
photon-controller [squash] Rename and move to storageclass/ 2016-08-22 14:11:01 +02:00
rackspace Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
saltbase Merge pull request #31467 from vmware/fix-vsphere-cloud-provider.kerneltime 2016-10-05 19:12:17 -07:00
skeleton Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
ubuntu Fix typo: incremeting -> incrementing 2016-09-24 16:10:51 -04:00
vagrant Fix typo: incremeting -> incrementing 2016-09-24 16:10:51 -04:00
vsphere Merge pull request #31467 from vmware/fix-vsphere-cloud-provider.kerneltime 2016-10-05 19:12:17 -07:00
common.sh Show errors in tars_from_version 2016-09-19 16:26:07 +02:00
get-kube-local.sh Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
get-kube.sh Merge pull request #25473 from andreykurilin/get_kube 2016-07-05 11:27:47 -07:00
kube-down.sh Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
kube-push.sh Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
kube-up.sh Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
kube-util.sh Unset KUBERNETES_PROVIDER when KUBERNETES_CONFORMANCE_TEST is set 2016-07-11 18:43:37 +02:00
kubectl.sh Make releases work 2016-07-12 21:52:54 -07:00
log-dump.sh Copy rotated logs in e2e tests 2016-09-16 19:12:18 +02:00
options.md
OWNERS Add jbeda to OWNERS for build, cluster, hack 2016-09-27 14:53:16 -07:00
README.md add maintenance notice to cluster/README 2016-06-13 11:47:30 -07:00
test-e2e.sh Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
test-network.sh Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
test-smoke.sh Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
update-storage-objects.sh Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
validate-cluster.sh Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00

Cluster Configuration

Deprecation Notice: This directory has entered maintainence mode and will not be accepting new providers. Please submit new automation deployments to kube-deploy. Deployments in this directory will continue to be maintained and supported at their current level of support.

The scripts and data in this directory automate creation and configuration of a Kubernetes cluster, including networking, DNS, nodes, and master components.

See the getting-started guides for examples of how to use the scripts.

cloudprovider/config-default.sh contains a set of tweakable definitions/parameters for the cluster.

The heavy lifting of configuring the VMs is done by SaltStack.

Analytics