Commit Graph

182 Commits

Author SHA1 Message Date
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