Commit Graph

23 Commits (05d8e96cd45f21b4d5a6c1c7d808ad7dd55783ec)

Author SHA1 Message Date
Zach Loafman 9e5fd874cc First hack at upgrade script for GCE:
Address #6075: Shoot the master VM while saving the master-pd. This
takes a couple of minor changes to configure-vm.sh, some of which also
would be necessary for reboot. In particular, I changed it so that the
kube-token instance metadata is no longer required after inception;
instead, we mount the master-pd and see if we've already created the
known tokens file before blocking on the instance metadata.

Also partially addresses #6099 in bash by refactoring the kube-push
path.
2015-04-05 11:42:34 -07:00
Eric Tune 59daeabaee Make secrets at cluster startup.
These secrets will be used in subsequent PRs by:
scheduler, controller-manager, monitoring services,
logging services, and skydns.

Each of these services will then be able to stop using kubernetes-ro
or host networking.
2015-04-02 15:58:45 -07:00
CJ Cullen 5e6e67ba59 Add an alternative TokenSource to the GCE CloudProvider. 2015-04-01 17:52:30 -07:00
Alex Robinson 4f9b1c486f Don't ever give up on retrying downloads in the GCE download-or-bust function. 2015-04-02 00:40:19 +00:00
Zach Loafman 6c219885e0 s/apiservers/api_servers/ in Salt
It looks like api_servers finally won this battle. Kill off the
last remaining places passing it, but allow the kubelet Salt to
accept apiservers for a period of time.

(This was bothering my OCD.)
2015-03-31 12:29:46 -07:00
Victor Marmol 0c75f26a74 Merge pull request #6148 from zmerlynn/brctl_complaint
Fix "brctl: invalid command" message appearing in startup logs
2015-03-30 08:01:30 -07:00
Zach Loafman b3636bba34 Fix "brctl: invalid command" message appearing in startup logs
We were actually failing to call brctl in configure-vm.sh. I finally
tracked it down to the attempt to delete the docker0 bridge. This
particular package was getting installed later by Salt anyways, so
all this PR is doing is moving the package install up from Salt to
bash.

Also adds some minor logging.
2015-03-29 18:30:33 -07:00
Zach Loafman 708553f0bb GCE node salt: Use the master FQDN, not the master IP
This will allow us to upgrade the master by full re-provision, without
even bothering to reserve the IP.
2015-03-28 13:44:45 -07:00
Zach Loafman 68ccb97907 Remove the --machines SaltStack configuration on GCE
Per https://github.com/GoogleCloudPlatform/kubernetes/issues/6072#issuecomment-87074456, this is no longer necessary.
We now no longer need a static node list. Woo!
2015-03-27 14:44:19 -07:00
Max Forbes ddb0a70481 Fix tiny salt logging line. 2015-03-26 14:37:51 -07:00
Zach Loafman ed567736ea Retry apt operations to death
Nodes are probably broken if update or install fails. Don't proceed
if we can't get past these. Also, instead of ignoring the error off
dpkg, use --force depends, which changes the errors to be kinder
warnings for anyone looking through the logs.
2015-03-24 16:11:40 -07:00
Zach Loafman 57cd8165b0 Ensure salt-minion never starts by setting invoke-rc.d policy using
the /usr/sbin/policy-rc.d script and returning 101, per
https://people.debian.org/~hmh/invokerc.d-policyrc.d-specification.txt,
but only for the window while we're installing Salt.

This is a much more fool-proof method than what I was attempting
before. I hunted for how to do this before and clearly failed at my
Google-fu.

Fixes #5621
2015-03-18 16:15:24 -07:00
Satnam Singh dfb9f2aa17 Revert "Revert "Actually update binaries during kube-push"" 2015-03-12 18:04:36 -07:00
Satnam Singh bb2c3037e0 Revert "Actually update binaries during kube-push" 2015-03-12 17:09:50 -07:00
Satnam Singh c3951d7cf6 Merge pull request #5415 from zmerlynn/fix_binary_push
Actually update binaries during kube-push
2015-03-12 16:51:28 -07:00
Zach Loafman b02188b7d8 Actually update binaries during kube-push
This was a dumb mistake during a re-factor of configure-vm. I tested
this early, re-factored the tail of this file, spot checked kube-push
and failed to test kube-push properly. My bad.

Fixes #5361. Fixes #5408.
2015-03-12 16:44:32 -07:00
Zach Loafman 9fc5262c14 Infer KUBERNETES_MASTER from hostname rather than requiring it to be explicit
This allows GKE to have the same YAML on both the master and nodes
2015-03-12 11:51:21 -07:00
Satnam Singh e16bcceceb Merge pull request #5390 from brendandburns/shell_sucks
Configure docker on the master like we do on workers.
2015-03-12 11:42:03 -07:00
Brendan Burns 17ff8fb421 Configure docker on the master like we do on workers. 2015-03-12 10:37:30 -07:00
Zach Loafman d4f06cea9f Don't always run mount-master-pd 2015-03-11 19:58:44 -07:00
derekwaynecarr 468bf1da75 Enable common set of admission controllers across salt providers 2015-03-11 11:06:00 -04:00
Zach Loafman b31b633f85 One additional cleanup: Send only the master name, rather the internal
IP address. The configure-vm script can resolve this relatively easily
on the node. This is less painful for GKE, which creates all the
resources in parallel.
2015-03-10 09:04:29 -07:00
Zach Loafman 120dba474e Change GCE to use standalone Saltstack config:
Change provisioning to pass all variables to both master and node. Run
Salt in a masterless setup on all nodes ala
http://docs.saltstack.com/en/latest/topics/tutorials/quickstart.html,
which involves ensuring Salt daemon is NOT running after install. Kill
Salt master install. And fix push to actually work in this new flow.

As part of this, the GCE Salt config no longer has access to the Salt
mine, which is primarily obnoxious for two reasons: - The minions
can't use Salt to see the master: this is easily fixed by static
config. - The master can't see the list of all the minions: this is
fixed temporarily by static config in util.sh, but later, by other
means (see
https://github.com/GoogleCloudPlatform/kubernetes/issues/156, which
should eventually remove this direction).

As part of it, flatten all of cluster/gce/templates/* into
configure-vm.sh, using a single, separate piece of YAML to drive the
environment variables, rather than constantly rewriting the startup
script.
2015-03-10 09:04:29 -07:00