Commit Graph

67 Commits (e7a69504b4f15a2618c5ec31c58abb8c57e8963e)

Author SHA1 Message Date
derekwaynecarr 4dd50a18c3 Fix vagrant regression, add flag to easily enable v1beta3 2015-01-30 12:16:24 -05:00
Zach Loafman a305269e18 Deferred creation of SkyDNS, monitoring and logging objects
This implements phase 1 of the proposal in #3579, moving the creation
of the pods, RCs, and services to the master after the apiserver is
available.

This is such a wide commit because our existing initial config story
is special:

* Add kube-addons service and associated salt configuration:
** We configure /etc/kubernetes/addons to be a directory of objects
that are appropriately configured for the current cluster.
** "/etc/init.d/kube-addons start" slurps up everything in that dir.
(Most of the difficult is the business logic in salt around getting
that directory built at all.)
** We cheat and overlay cluster/addons into saltbase/salt/kube-addons
as config files for the kube-addons meta-service.
* Change .yaml.in files to salt templates
* Rename {setup,teardown}-{monitoring,logging} to
{setup,teardown}-{monitoring,logging}-firewall to properly reflect
their real purpose now (the purpose of these functions is now ONLY to
bring up the firewall rules, and possibly to relay the IP to the user).
* Rework GCE {setup,teardown}-{monitoring,logging}-firewall: Both
functions were improperly configuring global rules, yet used
lifecycles tied to the cluster. Use $NODE_INSTANCE_PREFIX with the
rule. The logging rule needed a $NETWORK specifier. The monitoring
rule tried gcloud describe first, but given the instancing, this feels
like a waste of time now.
* Plumb ENABLE_CLUSTER_MONITORING, ENABLE_CLUSTER_LOGGING,
ELASTICSEARCH_LOGGING_REPLICAS and DNS_REPLICAS down to the master,
since these are needed there now.

(Desperately want just a yaml or json file we can share between
providers that has all this crap. Maybe #3525 is an answer?)

Huge caveats: I've gone pretty firm testing on GCE, including
twiddling the env variables and making sure the objects I expect to
come up, come up. I've tested that it doesn't break GKE bringup
somehow. But I haven't had a chance to test the other providers.
2015-01-21 12:25:50 -08:00
Joe Beda 4357e9b154 Fix SSH for vagrant.
This is used as part of the services.sh test.
2015-01-20 16:47:51 -08:00
Joe Beda ae06ebc8ee Fix iptables rule from when vagrant was reorganized. 2015-01-20 16:47:09 -08:00
Joe Beda 611be41aa5 Set VAGRANT_CWD so commands work from anywhere 2015-01-20 09:11:29 -08:00
Joe Beda c5634e90ba Verify cluster size before e2e 2015-01-20 09:11:29 -08:00
derekwaynecarr 123c96164e Disable defaults plugin 2015-01-15 19:42:20 -05:00
derekwaynecarr 7f724867c2 Admission control plugin for resource defaults 2015-01-14 15:28:59 -05:00
Satnam Singh 295bd3768d Launch Elasticsearch and Kibana automatically 2015-01-09 13:41:46 -08:00
derekwaynecarr 2d9977cf1a Reduce number of minions to improve user experience 2015-01-09 13:00:48 -05:00
derekwaynecarr f6eb020198 Missing config vars in vagrant provision 2015-01-08 16:53:45 -05:00
derekwaynecarr 520ae3ef27 Implement basic admission control framework 2015-01-07 14:42:31 -05:00
derekwaynecarr 9203e4143b Put skydns in portalip range 2015-01-05 13:09:31 -05:00
Tim Hockin 59164ca844 Make DNS an option for cluster turnup 2014-12-29 09:18:12 -08:00
Richard Larocque 9ac9c69534 Replace kubecfg with kubectl in setup scripts
Replaces two instances of kubecfg with kubectl in cluster startup and
validation scripts.
2014-12-19 16:10:21 -08:00
Joe Beda 428aeacf6d Rework vagrant cluster set up.
* Have a single config file that mirrors other cluster providers
* Warn users not to use 'vagrant up' directly
* Allow 'extra' parameters to the docker daemon.  Fixes #2685
* Renumbers things so that they are more sane.  Master/minions are 10.245.1.x, container subnets are 10.246.x.1/24, portal is 10.247.0.0/16
2014-12-17 13:23:39 -08:00
Joe Beda 2fc02cb06a Quote strings in bash populated YAML files.
Quoting is hard.  When writing strings into YAML files, wrap them in single quotes.  Also escape any embedded single quotes in those strings via a double signle quote ('').
2014-12-16 16:13:46 -08:00
Eric Tune edeb96dca9 Merge pull request #2772 from rlarocque2/apiserver_auth
Implement apiserver communication for Vagrant
2014-12-10 07:13:40 -08:00
Brendan Burns 3a7dd589d5 Merge pull request #2735 from erictune/proxy_no_etcd
Use apiserver instead of etcd for kube-proxy.
2014-12-09 15:27:20 -08:00
derekwaynecarr aacf2c2780 Add python-cherrypy as explicit install for salt-api 2014-12-08 11:36:26 -05:00
Richard Larocque 7d37b24cc7 Implement apiserver communication for Vagrant
This implementation is based on the GCE impementation from
618a367dbb48dbaa9c3b50e877858d854322fd0b.
2014-12-05 12:49:51 -08:00
Eric Tune 65b38e7af7 Use apiserver instead of etcd for kube-proxy.
For cloud-providers that use salt, have kube-proxy use
apiserver instead of etcd as a config source.
2014-12-02 22:21:01 -08:00
Tim Hockin 47141f05c7 standard config opt names: logging 2014-11-25 17:41:53 -08:00
Tim Hockin 52ad94d766 standard config opt names: node monitoring 2014-11-25 17:39:28 -08:00
derekwaynecarr 1a894741b2 Fix vagrant regression 2014-11-20 10:39:09 -05:00
Richard Larocque 914c5eb1f1 Chmod the right file in cluster/vagrant/util.sh
Most of platforms use ~/.kubernetes_auth, but Vagrant is different.
This commit fixes one instance where a setup script did not take this
difference into account.
2014-11-17 17:14:35 -08:00
Joe Beda 66d287f7e4 Merge branch 'rename-to-kube' of https://github.com/eparis/kubernetes into eparis-rename-to-kube
* 'rename-to-kube' of https://github.com/eparis/kubernetes:
  rename kube server binaries to kube-

Conflicts:
	docs/salt.md
2014-11-17 09:52:10 -08:00
Joe Beda 5a0159ea00 Get Vagrant to start using TLS client certs.
Also fix up cert generation. It was failing during the first salt highstate when trying to chown the certs as the apiserver user didn't exist yet.  Fix this by creating a 'kube-cert' group and chgrping the files to that.  Then make the apiserver a member of that group.

Fixes #2365
Fixes #2368
2014-11-13 22:16:45 -08:00
Eric Paris a99c3c7963 rename kube server binaries to kube-
apiserver becomes kube-apiserver
controller-manager -> kube-controller-manager
scheduler and proxy similarly.

Only thing I promise is that right now hack/build-go.sh and
build/release.sh exit with 0.  That's it.  Who knows if any of this
actually works....
2014-11-13 20:08:26 -05:00
Vishnu Kannan 46a22b3c44 Fix monitoring setup script.
Remove the firewall rule created for monitoring as part of kube-down.
Reuse master auth for Grafana.
2014-11-13 16:43:05 -05:00
Haney Maxwell fae27e2f17 Clean up e2e test 2014-11-11 11:03:07 -08:00
Daniel Smith d5c6499d93 Update scripts to expect versioned output in templates. 2014-11-07 16:47:22 -08:00
Vishnu Kannan 37af9210ba Improve the monitoring setup script and fix bugs in the monitoring config. 2014-11-07 19:27:52 +00:00
Joe Beda 5d33ce46cc Rework hack/ and build/ directories.
* Rewrite a bunch of the hack/ directory with modular reusable bash libraries.
* Have 'build/*' build on 'hack/*'.  The stuff in build now just runs hack/* in a docker container.
* Use a docker data container to enable faster incremental builds.
* Standardize output to _output/{local,dockerized}/bin/OS/ARCH/*.  This regularized placement makes cross compilation work.
* Move travis specific scripts under hack/travis

With new dockerized incremental builds, I can do a no-op `make quick-release` in ~30s.  This is a significant improvement.
2014-11-01 17:56:41 -07:00
Pieter Noordhuis 1152471db7 Split reactor files
There now are reactor files to run highstate on:

* New nodes only
* Master nodes
* Minion nodes
2014-10-29 11:30:09 -07:00
Clayton Coleman bd1b3fb245 Vagrant util has minion query for ID, not Name
Related to the ID->Name refactor, noticed while running e2e
2014-10-23 23:12:04 -04:00
derekwaynecarr b836e31cf4 Fixup docker configuration for sdn 2014-10-22 11:32:38 -04:00
Joe Beda 893e897d9b Merge pull request #1913 from derekwaynecarr/move_network_closure
Do not require a writeable /vagrant
2014-10-20 15:04:43 -07:00
Joe Beda ea95cefb91 Make vagrant scripts work with bash 3
Fixes #1890
2014-10-20 14:50:09 -07:00
derekwaynecarr 0d86be680b Do not require a writeable /vagrant 2014-10-20 16:59:15 -04:00
Mrunal Patel f8845147f6 Need not add --ip-masq flag till fedora ships docker 1.3 2014-10-16 12:40:01 -07:00
Dawn Chen a8a036a9e6 Disable --ip-masq for vagrand. 2014-10-16 12:17:18 -07:00
Tim Hockin 5c4bd55273 Add vagrant support 2014-10-16 08:36:47 -07:00
Joe Beda 9bb20b41ee Break out dynamic salt files to enable clean kube-push.
This lets us blow away salt files and replace them with a new version while keeping a tree of "overlay" files that are cluster specific and generated at cluster up time.

Fixes #1783
2014-10-14 15:01:43 -07:00
derekwaynecarr b8d2f08192 Fix race condition in start-up of salt-minion and salt-master 2014-10-14 12:41:45 -04:00
Joe Beda d43a6ec5a3 Standardize how we refer to the kubernetes root.
Now use $KUBE_ROOT as the variable pretty much everywhere.
2014-10-10 12:33:36 -07:00
Joe Beda 881cf80182 Vagrant now using pre-built binaries. 2014-10-10 12:30:12 -07:00
Joe Beda c323179d9b Don't print Kubernetes username/password to console.
It is too easy to copy/paste this on-line.

Fixes #1483
2014-09-29 13:18:29 -07:00
derekwaynecarr 63bd987561 Add vagrant user to docker group 2014-09-11 16:48:17 -04:00
derekwaynecarr 0c20fffa06 No DNS in vagrant cross minions, need explicit IP as host 2014-09-11 13:38:50 -04:00