Commit Graph

269 Commits

Author SHA1 Message Date
Robert Bailey
aeb0068547 Add 'kubernetes' (the service name) and the master name as SANs on the
master's certificate.
2015-06-08 20:17:45 -07:00
Eric Tune
8195f13b86 Merge pull request #9063 from piosz/cluster_upgrade
Refactored kube-push.sh script
2015-06-01 13:47:15 -07:00
Piotr Szczesniak
0142e4c9c2 Refactored kube-push.sh script
The script allows also to push binaries only to the master or specified node.
Added support for released tars.

Introduced new push methods and implemented them for GCE.
2015-06-01 21:21:00 +02:00
goltermann
4c19734b71 Fix kube-down errors for GCE 2015-05-29 14:12:22 -07:00
Tim Hockin
2c20c3664c Merge pull request #8902 from brendandburns/fix
Turn off certificate checking for Mavericks, as the curl is borked.
2015-05-28 15:32:50 -07:00
Tim Hockin
4ac239499b Merge pull request #8904 from justinsb/fix_8903
GCE kube-up; write the marker only after we have uploaded the file
2015-05-28 15:30:47 -07:00
Justin Santa Barbara
521cb0e85b Pass arg lists to gcloud as comma-separated single arg
This should get rid of the scary warning messages on GCE up.

Fixes #8117
2015-05-28 00:36:13 -04:00
Justin Santa Barbara
dc11a5434a GCE kube-up; write the marker only after we have uploaded the file
We can't write the marker before we upload the file, otherwise anything
that interrupts the upload will leave a corrupted upload that we believe
to be current.
2015-05-27 23:33:29 -04:00
Brendan Burns
e1c0e100b5 Turn off certificate checking for Mavericks, as the curl is borked. 2015-05-27 19:53:24 -07:00
Filip Grzadkowski
e2c4a01b60 Merge pull request #8808 from fgrzadkowski/fix_warnings
Fix WARNING during kube-push.sh
2015-05-26 08:29:04 -07:00
Filip Grzadkowski
8fe771b4a3 Fix WARNING during kube-push.sh 2015-05-26 17:04:57 +02:00
Filip Grzadkowski
5b03939b84 Fix WARNING when creating firewall during e2e tests 2015-05-25 09:46:24 +02:00
Justin Santa Barbara
ae80ed53cf Automatically open NodePort firewall rules for e2e tests 2015-05-22 22:39:40 -04:00
Dawn Chen
677a4aa1a7 Merge pull request #8164 from cjcullen/cloudprovider
Route creation reconciler loop.
2015-05-22 12:27:50 -07:00
CJ Cullen
e6da5b9601 Make routecontroller_test less hacky.
Rename reconcilePodCIDRs to reconcileNodeCIDRs.
Add comments and TODOs about using controller framework.
2015-05-21 18:05:11 -07:00
CJ Cullen
0d12a15971 Route creation reconciler loop. 2015-05-20 14:21:30 -07:00
Max Forbes
3437ac691a Rolling node upgrade 2015-05-19 11:42:34 -07:00
Robert Bailey
a236f04a5f Remove newlines output by base64 on linux. 2015-05-14 15:39:26 -07:00
Robert Bailey
9ab41db7ea Static cert distribution for GCE.
To make cert validation work, no longer use the
fqdn for the master name on the node VMs.
2015-05-14 11:59:13 -07:00
saadali
c118b6d603 Fix GCE kube-down incorrect MIG delete OpID 2015-05-13 15:06:43 -07:00
saadali
932cdd954d Clean up GCE kube-down script by using set e 2015-05-12 16:58:22 -07:00
saadali
c5b1508774 Make MIG deletion during GCE kube down blocking, so that subseqent template deletion doesn't fail. 2015-05-11 18:51:59 -07:00
Nikhil Jindal
72ac82eba9 Merge pull request #8005 from lavalamp/kubectlFix
Don't print debugging things on every run of kubectl.sh
2015-05-11 10:19:37 -07:00
Filip Grzadkowski
26d14300e9 Increase disk size for kubernetes master.
Signed-off-by: Filip Grzadkowski <filipg@google.com>
2015-05-11 15:35:38 +02:00
Daniel Smith
ccecb115ed Don't print debugging things on every run of kubectl.sh 2015-05-08 15:55:28 -07:00
Filipe Brandenburger
b7f9e2cea0 Merge pull request #7651 from zmerlynn/upload_hash_in_util
Also push .sha1 for devel builds
2015-05-06 09:07:39 -07:00
Jerzy Szczepkowski
e967ffd522 Added flag to set cluster class B network address for pods, add flag to disable allocation CIDRs for Pods. Fixed synchornization bug in NodeController registerNodes(). 2015-05-05 16:10:43 -07:00
Tomek Kulczynski
290c7b94ef Make nodecontroller configure nodes' pod IP ranges 2015-05-05 16:10:42 -07:00
Zach Loafman
0c107e4c44 Also push .sha1 for devel builds
And adds a .sha1 cache file to indicate what file was already pushed
to GCS, and how to force it if not, removing a few seconds off a
kube-up/push if you're just cycling.

With this and #7602, all TAR_URLS will have a .sha1 as well.
2015-05-04 17:45:34 -07:00
Eric Paris
6b3a6e6b98 Make copyright ownership statement generic
Instead of saying "Google Inc." (which is not always correct) say "The
Kubernetes Authors", which is generic.
2015-05-01 17:49:56 -04:00
Dawn Chen
876f8beec9 Remove unused node-name attribute 2015-04-28 16:13:26 -07:00
Dawn Chen
13a0b033e2 Bring up a cluster using coreos image for worker nodes. 2015-04-28 16:13:26 -07:00
Dawn Chen
5fa11322f8 Factory out debian e.g. ContainerVM image specific support to its own
helper utility library.
2015-04-28 16:07:57 -07:00
Dawn Chen
8963347b9e Introduce MASTER_IMAGE, MINION_IMAGE and OS_DISTRIBUTION to config-default
for enable coreos and rocket support
2015-04-28 15:31:09 -07:00
Robert Bailey
8206aa9eac Salt configuration to add basic auth to GCE. 2015-04-28 14:07:54 -07:00
Alex Robinson
5b5525dca5 Merge pull request #7324 from vishh/log_scope
Enable logging.write scope for minions.
2015-04-28 11:00:10 -07:00
Vishnu Kannan
9c66305f8c Enable logging.write scope by default for nodes. This is required for storing events in
Google Cloud Logging via heapster.
2015-04-28 10:55:06 -07:00
CJ Cullen
39c5bf363b Merge pull request #7303 from erictune/kube_env3
kube-proxy uses token to access port 443 of apiserver
2015-04-27 14:33:53 -07:00
Eric Tune
9044177bb6 Generate a token for kube-proxy.
Tested on GCE.
Includes untested modifications for AWS and Vagrant.
No changes for any other distros.
Probably will work on other up-to-date providers
but beware.  Symptom would be that service proxying
stops working.

 1. Generates a token kube-proxy in AWS, GCE, and Vagrant setup scripts.
 1. Distributes the token via salt-overlay, and salt to /var/lib/kube-proxy/kubeconfig
 1. Changes kube-proxy args:
   - use the --kubeconfig argument
   - changes --master argument from http://MASTER:7080 to https://MASTER
     - http -> https
     - explicit port 7080 -> implied 443

Possible ways this might break other distros:

Mitigation: there is an default empty kubeconfig file.
If the distro does not populate the salt-overlay, then
it should get the empty, which parses to an empty
object, which, combined with the --master argument,
should still work.

Mitigation:
  - azure: Special case to use 7080 in
  - rackspace: way out of date, so don't care.
  - vsphere: way out of date, so don't care.
  - other distros: not using salt.
2015-04-27 08:59:57 -07:00
Brian Grant
60d7bad147 Merge pull request #7128 from nikhiljindal/fixbeta1tests
Removing more references to v1beta1 from pkg/
2015-04-24 11:07:53 -07:00
Satnam Singh
b6bee06c20 Merge pull request #7269 from zmerlynn/lose_one_sanity
Remove buggy GCE post turn-up cluster validation code (rely on validate-cluster.sh)
2015-04-24 10:56:20 -07:00
nikhiljindal
dcc368c781 Removing more references to v1beta1 from pkg/ 2015-04-24 00:45:17 -07:00
Zach Loafman
ad829dead7 Remove buggy GCE post turn-up cluster validation code (rely on validate-cluster.sh)
Fixes #7266
2015-04-23 16:28:44 -07:00
Eric Tune
e8a83b23d1 Pass KUBELET_TOKEN in kube-env metadata.
ensure-kube-token is not needed anymore because
the token passed in kube-env.

In the up case it is set, in the push case it is an empty string
but not used.

Allow unset KUBELET_TOKEN (for push case).

Fix comment.
2015-04-23 15:21:27 -07:00
Wojciech Tyczynski
cf824ae5e0 Merge pull request #7164 from fgrzadkowski/fix_wait_minion
Wait for minion to start even if gcloud command fails.
2015-04-23 08:21:19 +02:00
Robert Bailey
6951bb0bd5 Fix the restart-apiserver command for GCE/GKE. 2015-04-22 15:21:13 -07:00
Robert Bailey
4346c6ecae Swallow the output from the test ssh connections so that it
doesn't interfere with string comparison.
2015-04-22 14:19:15 -07:00
Robert Bailey
dc45f7f9e6 Remove nginx and replace basic auth with bearer token auth for GCE.
- Configure the apiserver to listen securely on 443 instead of 6443.
 - Configure the kubelet to connect to 443 instead of 6443.
 - Update documentation to refer to bearer tokens instead of basic auth.
2015-04-22 11:11:20 -07:00
Zach Loafman
86468cd29d Revert "Added kube-proxy token." 2015-04-22 10:55:08 -07:00
Zach Loafman
0e3e502d52 Fix unbound variable after #7146 2015-04-22 10:19:53 -07:00
Zach Loafman
42e1710ccf Fix build after #7146 2015-04-22 10:11:19 -07:00
Zach Loafman
c9988db0ee Merge pull request #7146 from brendandburns/get-k8s
Extend the get-cluster.sh script to use sudo if necessary.
2015-04-22 09:58:07 -07:00
Brendan Burns
42121d1809 Extend the get-cluster.sh script to use sudo if necessary. 2015-04-22 09:52:44 -07:00
Zach Loafman
854c20c5e2 Merge pull request #7113 from erictune/kube-proxy-token
Added kube-proxy token.
2015-04-22 09:16:04 -07:00
Filip Grzadkowski
780db9d794 Wait for minion to start even if gcloud command fails. 2015-04-22 16:37:22 +02:00
Brendan Burns
78dabbdb7f Fix the ssh-to-node to actually fail on failures. 2015-04-21 15:27:38 -07:00
Brendan Burns
71e6b05825 Fix kube-apiserver restart. 2015-04-21 15:11:00 -07:00
Brendan Burns
9d715226d6 Fix kube-apiserver restart. 2015-04-21 13:59:26 -07:00
Eric Tune
2ca8a9d15d Added kube-proxy token.
Generates the new token on AWS, GCE, Vagrant.
Renames instance metadata from "kube-token" to "kubelet-token".
(Is this okay for GKE?)

Having separate tokens for kubelet and kube-proxy permits
using principle of least privilege, makes it easy to
rate limit the clients separately, allows annotation
of apiserver logs with the client identity at a finer grain
than just source-ip.
2015-04-21 09:21:31 -07:00
Jeff Lowdermilk
4f6dc99075 Generate kubeconfig for all providers in cluster/ that use auth 2015-04-20 11:07:35 -07:00
Robert Bailey
eb1ea26995 Merge pull request #7012 from jlowdermilk/export-kubeconfig
export KUBECONFIG so callers of common.sh functions can use it
2015-04-17 16:37:10 -07:00
Jeff Lowdermilk
1c265f3784 export KUBECONFIG so callers of common.sh functions can use it 2015-04-17 16:22:07 -07:00
Brian Grant
2775b9e0de Merge pull request #6998 from zmerlynn/make_reboot_work
Make reboots work on GCE/GKE
2015-04-17 16:10:32 -07:00
Zach Loafman
aca8452a21 Merge pull request #6994 from cjcullen/staticip
Reserve Master IP before creating Master VM
2015-04-17 11:48:48 -07:00
CJ Cullen
6a3c809833 Reserve Master IP before creating Master VM. 2015-04-17 11:36:00 -07:00
Zach Loafman
05d8e96cd4 Push the configure-vm.sh script when we push metadata
This is needed when we upgrade (and useful when you're trying to
change the startup script for reboots).

Along the way: allow add-instance-metadata[-from-file] to take a
variable number of KVs.
2015-04-17 11:27:48 -07:00
Jeff Lowdermilk
2a8291a67e Retry Move KUBECONFIG to common.sh, change default to new location 2015-04-17 10:33:12 -07:00
Robert Bailey
723f2941e8 Revert "Move KUBECONFIG into common.sh, change default to new location" 2015-04-16 22:17:11 -07:00
Jeff Lowdermilk
5ce9b07cbe Move KUBECONFIG declaration into common.sh, change default to new location 2015-04-16 19:23:35 -07:00
Brendan Burns
5df4d927b9 We have had user reports that look like hash conflicts. Expand the has to 10 digits. 2015-04-08 21:51:50 -07:00
Zach Loafman
616c6be653 Refactor the "gcloud compute instances create" call as well. 2015-04-06 08:35:02 -07:00
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
Max Forbes
152a461f39 Fix pod that's looked for on kube up. 2015-04-01 17:28:04 -07:00
Jeff Grafton
0d382c03fc Add missing } to fix cluster/gce/util.sh 2015-03-31 14:03:18 -07:00
Brendan Burns
98cdf04189 Auto-install gcloud if needed. 2015-03-31 12:10:35 -07:00
Daniel Smith
525bbfd175 Merge pull request #6103 from zmerlynn/remove_gce_node_names
Remove the --machines SaltStack configuration on GCE
2015-03-27 17:55:16 -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
Brendan Burns
6fd376a04f Fix the scripts to optionally skip prompts and also return successfully no matter what. 2015-03-27 13:53:26 -07:00
Brendan Burns
1aa2b97792 Revert "Revert "Update gce starting guide to use get.k8s.io""
This reverts commit b369f2b48f.
2015-03-27 13:46:28 -07:00
Zach Loafman
b369f2b48f Revert "Update gce starting guide to use get.k8s.io" 2015-03-26 19:36:25 -07:00
Brendan Burns
61b624457d Update gce starting guide to use get.k8s.io
Also auto install gcloud if it's not present.
2015-03-26 16:08:56 -07:00
Brendan Burns
eea09ddfbb Fix the date command to work on OS X 2015-03-26 13:48:59 -07:00
Zach Loafman
407d1fec45 Both @satnam6502 and E2E tests confirm: This code is no longer needed
Deletion is wonderful. The only weird thing was where to put the
message about the proxy URLs. Satnam suggested kubectl clusterinfo,
which seemed like a good option to put at the end of cluster turn-up.
2015-03-19 22:23:11 -07:00
Zach Loafman
f2de7b4dcc Add --can-ip-forward to master instance
Another piece missing in
https://github.com/GoogleCloudPlatform/kubernetes/pull/5390. The
master should have --can-ip-forward if you're routing to it.
2015-03-13 15:17:07 -07:00
Filipe Brandenburger
0948cb745f Merge pull request #5454 from jlowdermilk/get-password
Make get-password robust against invalid kubeconfig entries
2015-03-13 13:40:55 -07:00
Jeff Lowdermilk
8fef6fb343 Make get-password robust against invalid kubeconfig entries 2015-03-13 13:26:47 -07:00
Jeff Lowdermilk
9b55e1f176 Delete master route on kube-down 2015-03-13 11:00:19 -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
Vishnu Kannan
663bdb91c9 Remove monitoring firewall setup methods. Heapster anf Grafana are now accessible via the API server proxy. 2015-03-11 23:20:45 +00:00
Zach Loafman
e780592315 Merge pull request #5264 from jlowdermilk/kube-up
Standalone kubeconfig for gce kube-up (mulligan)
2015-03-11 11:46:45 -07:00
derekwaynecarr
64eca7393a Update to use yaml quote 2015-03-11 11:07:36 -04:00
derekwaynecarr
468bf1da75 Enable common set of admission controllers across salt providers 2015-03-11 11:06:00 -04:00
Zach Loafman
759e82c29f Remove dep on yaml for GCE startup
Write out "yaml" in util.sh. Dying a little. :'(

Fixes #5258
2015-03-10 16:38:52 -07:00
Jeff Lowdermilk
7db006ab1a Generate standalone kubeconfig on kube-up, clear on kube-down.
Also tweaked the ginkgo tests to pull auth directly from a kubeconfig file
instead of the legacy kubernetes_auth file.
2015-03-10 14:23:34 -07: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
Jeff Lowdermilk
a280e0da2d Revert "Standalone kubeconfig for gce kube-up" 2015-03-09 17:45:06 -07:00
Jeff Lowdermilk
4173d369aa Generate standalone kubeconfig on kube-up, clear on kube-down.
Also tweaked the ginkgo tests to pull auth directly from a kubeconfig file
instead of the legacy kubernetes_auth file.
2015-03-09 16:02:00 -07:00