Commit Graph

484 Commits (6c0191b31dee591171a2d702523e2c21ca57ebd1)

Author SHA1 Message Date
k8s-merge-robot 18c74de9a8 Merge pull request #16986 from pmorie/gce-sc
Auto commit by PR queue bot
2015-11-10 11:15:27 -08:00
Paul Morie b38e114889 Suppress output from running which sw_vers 2015-11-02 23:32:42 -05:00
Mike Danese 172eab6b21 build kube-env in build-kube-env, not in verify-prereqs 2015-11-02 10:31:43 -08:00
Jeff Lowdermilk de4f29f1f5 Load or generate auth from kubeconfig on kube-up
Allows loading existing auth from kubeconfig on kube-up if a
valid KUBE_CONTEXT is specified, instead of always force
regenerating auth (basic or token) when creating a new cluster.
2015-10-30 10:19:40 -07:00
Tim Hockin b6506c6af0 Kill a few more uses of 'gcloud preview' 2015-10-26 14:48:41 -07:00
Mike Danese dbb84c963d enable all extensions in e2e test clusters 2015-10-20 20:29:25 -07:00
Isaac Hollander McCreery a379e52c57 Factor find-release-tars into cluster/common 2015-10-16 13:09:52 -07:00
nikhiljindal a558fca24b Enabling deployments on GCE when the corresponding env var is set to true 2015-10-15 16:54:17 -07:00
k8s-merge-robot 5d66bf9741 Merge pull request #15519 from ihmccreery/upgrade-versioning
Auto commit by PR queue bot
2015-10-15 06:30:12 -07:00
Isaac Hollander McCreery 60c316b54a Upgrades and upgrade tests take versions of the form release/stable instead of stable_release:
- Refactor common and gce/upgrade.sh to use arbitrary published releases
- Update hack/get-build to use cluster/common code
- Use hack/get-build.sh in cluster upgrade test logic
2015-10-14 10:16:21 -07:00
k8s-merge-robot f6bed84af7 Merge pull request #15252 from brendandburns/flakes3
Auto commit by PR queue bot
2015-10-13 09:53:13 -07:00
Brendan Burns 5d67b1525f Add some retry to static ip creation 2015-10-12 14:43:02 -07:00
Chao Xu cc4ec80ec7 in scripts, experimental/v1alpha1->extensions/v1beta1 2015-10-09 15:19:13 -07:00
Jeff Grafton 0e29d81904 Print error messages to stderr 2015-10-07 11:19:32 -07:00
Jeff Grafton efd3968335 Add a timeout for GCE cluster initialization 2015-10-06 19:39:55 -07:00
Mike Danese 05355145b9 trim mig template name if it's over the gce validated length limit 2015-09-29 11:52:35 -07:00
Marcin Wielgus 659c18110a Add cpu/mem reservation metrics to autoscaler kube-up 2015-09-28 14:12:18 +02:00
Chao Xu ae1293418b move experimental/v1 to experimental/v1alpha1;
use "group/version" in many places where used to expect "version" only.
2015-09-24 15:32:11 -07:00
Jerzy Szczepkowski 5be8817315 Turning on pod autoscaler on GCE.
Implemented optional turning on of pod autoscaler in kube-up script for GCE.
2015-09-11 12:03:41 +02:00
Jeff Lowdermilk 08442974bb Revert "Turning on pod autoscaler on GCE." 2015-09-10 11:46:37 -07:00
Jerzy Szczepkowski b41862b670 Turning on pod autoscaler on GCE.
Implemented optional turning on of pod autoscaler in kube-up script for GCE.
2015-09-10 16:10:01 +02:00
Yu-Ju Hong 09446c7a49 Merge pull request #13214 from mbforbes/todos
Pass mbforbes TODOs to others.
2015-08-26 13:02:27 -07:00
Max Forbes 8ca0654f94 Pass mbforbes TODOs to others. 2015-08-26 10:05:34 -07:00
Amy Unruh 5b6c5823da fix error in 'rm' path instructions to force restaging 2015-08-26 08:10:51 -07:00
Jeff Lowdermilk 438216844f Stop reusing basic auth on cluster create 2015-08-22 11:45:46 -07:00
Zach Loafman 185b5af26f Merge pull request #12833 from uluyol/insecure-reg
Launch a cluster-local registry.
2015-08-21 14:58:37 -07:00
Jeff Lowdermilk f0b5c5b7b8 fix mig command for gce 2015-08-21 11:19:46 -07:00
Muhammed Uluyol 14b554cef6 Use a persistent volume for the docker registry. 2015-08-20 18:44:11 -07:00
Muhammed Uluyol 7129d477d3 Launch a cluster-local registry.
This registry can be accessed through proxies that run on each node
listening on port 5000. We send the proxy images to the nodes directly
to avoid requests that hit the network during cluster launch. For now,
we continue to pull the registry itself over the network, especially
given its large size (we should be able to dramatically shrink the
image). On GCE we create a PD and use that for storage, otherwise we
use an emptyDir. The registry is not enabled outside of GCE. All
communication is currently plain HTTP. In order to use SSL, we will
need to be able to request a certificate/key from the apiserver signed
by the apiserver's CA cert.
2015-08-20 18:44:05 -07:00
Wojciech Tyczynski 1feb78be66 Stop using deprecated commands 2015-08-19 12:19:08 +02:00
Andy Zheng fef1ede240 Add config to run minions on GCE using Ubuntu.
It is for running nodes on Ubuntu image upto 14.04 LTS (Trusty).
The change for running master on Ubuntu will be added later.
The configuration consists of several upstart jobs, which is
passed to node instances through GCE metadata and parsed by cloud-init.
2015-08-13 16:40:09 -07:00
Dawn Chen 4b99aafc4c Fix kube-push using gcloud compute instance-groups managed set-instance-template` 2015-08-11 10:28:59 -07:00
Alex Robinson 34f164a470 Merge pull request #12384 from Hokutosei/master
added preemptible flag in gcloud compute instance-templates create
2015-08-10 11:08:11 -07:00
Veres Lajos 9f77e49109 typofix - https://github.com/vlajos/misspell_fixer 2015-08-08 22:31:48 +01:00
jeanepaul eaacc1e5c1 refactor coding style 2015-08-09 01:07:12 +09:00
hokutosei 3bcfdab649 added preemptible flag in gcloud compute instance-templates create 2015-08-07 06:50:28 +00:00
Robert Bailey 8df33bc1a7 Register the kubelet on the master node with an apiserver. This option is
separated from the apiserver running locally on the master node so that it
can be optionally enabled or disabled as needed.

Also, fix the healthchecking configuration for the master components, which
was previously only working by coincidence:

If a kubelet doesn't register with a master, it never bothers to figure out
what its local address is. In which case it ends up constructing a URL like
http://:8080/healthz for the http probe. This happens to work on the master
because all of the pods are using host networking and explicitly binding to
127.0.0.1. Once the kubelet is registered with the master and it determines
the local node address, it tries to healthcheck on an address where the pod
isn't listening and the kubelet periodically restarts each master component
when the liveness probe fails.
2015-08-06 13:39:32 -07:00
Mike Danese fe6b15ba2f rewrite all links to issues to k8s links 2015-08-05 21:11:11 -07:00
Wojciech Tyczynski 2d95cd454c Swich to new gcloud API for GCE MIGs 2015-08-03 09:56:25 +02:00
Mike Danese e9084f95d1 Merge pull request #10517 from chrishiestand/gke-scopes
change shell var MINION_SCOPES to user setable
2015-07-24 09:22:25 -07:00
Jerzy Szczepkowski 3808519907 Optional creation of nodes autoscaler for GCE.
Implemented optional creation and deletion of nodes autoscaler in kube-up and kube-down scripts for GCE.
2015-07-23 15:59:41 +02:00
Wojciech Tyczynski 5988d30da0 Merge pull request #10715 from justinsb/spelling_octects
Spelling fix (in code): octects -> octets
2015-07-23 09:00:39 +02:00
Chris Hiestand db1a73317c change shell var MINION_SCOPES to user setable
Because bash arrays may not be environment variables
 (see: <https://stackoverflow.com/questions/5564418/exporting-an-array-in-bash-script>)
 we have to change the MINION_SCOPES array to a string
* prefers aliases instead of full URLs for scopes

tested under GKE, needs GCE testing

Close #10458
2015-07-22 14:34:03 -07:00
Max Forbes 739cb2f526 Robustly cleanup MIG template on GCE teardown 2015-07-10 10:14:04 -07:00
Justin Santa Barbara fca7822800 Misc (non-code) spelling fixes 2015-07-04 10:39:37 -04:00
Justin Santa Barbara 1ece037555 Spelling fix (in code): octects -> octets 2015-07-04 10:37:57 -04:00
nikhiljindal 274792d7bb Stop exposing v1beta3 by default 2015-07-01 14:38:02 -07:00
Steve Kuznetsov d581d1f6c0 Fixed typo in gce-specific kube-up script 2015-06-25 12:51:34 -04:00
Robert Bailey 6ede5a90b1 Add more SANs to the master certificate. 2015-06-19 13:06:18 -07:00
Max Forbes 2803fbe343 Node upgrade tests. 2015-06-18 15:59:51 -07:00
Satnam Singh 34fb2a9f2d Merge pull request #9859 from mwielgus/resources-check
Check for existing GCE resources in kube-up
2015-06-18 14:47:22 -07:00
Zach Loafman d8da39ecd0 Validate binaries downloaded from GCS:
* Set SHA1 for Kubernetes server binary and Salt tar in kube-env.
* Check SHA1 in configure-vm.sh. If the env variable isn't available,
download the SHA1 from GCS and double check that.
* Fixes a bug in the devel path where we were actually uploading the
wrong sha1 to the bucket.

Fixes #10021
2015-06-18 13:37:05 -07:00
Marcin Wielgus b33b881bc2 Add missing --project in GCE kube-down and check-resources 2015-06-17 15:11:40 +02:00
Marcin Wielgus 3a562f1619 Check for existing GCE resources in kube-up 2015-06-17 15:04:39 +02:00
Saad Ali 41545d0a66 Merge pull request #9135 from jlowdermilk/fix-gce-kube-down
Fix route regexp for gce-kube-down
2015-06-16 11:54:45 -07:00
Jeff Lowdermilk e02483e3fe Fix route regexp for gce-kube-down 2015-06-16 11:25:43 -07:00
Fabio Yeon b1465aee0b Merge pull request #9738 from quinton-hoole/2015-06-12-fix-e2e-projects
Add missing gcloud --project flags introduced by PR #9016
2015-06-15 09:53:36 -07:00
Jeff Grafton fcba3136d0 Allow adding a suffix to the devel staging path for server tars on GCS.
This is needed to allow multiple GCE e2e runs to occur using the same
project on Jenkins.
2015-06-12 15:18:47 -07:00
Quinton Hoole 58885c7b48 Add missing gcloud --project flags introduced by PR 9016 2015-06-12 13:43:29 -07:00
Brendan Burns 455a787c69 Add a missing $PROJECT to the tear down. 2015-06-12 09:28:25 -07:00
Brendan Burns dcb09e73a9 Aggressively delete a cluster template if it exists. 2015-06-11 21:31:31 -07:00
Quinton Hoole 60d3f91dea Specify project when checking for existance of instance group templates. 2015-06-11 16:40:21 -07:00
Marek Grabowski ccb1b658b2 Merge pull request #9658 from fgrzadkowski/fix_failing_firewall
Wait longer for firewall creation during e2e cluster setup.
2015-06-11 15:40:35 +02:00
Filip Grzadkowski f93895dd36 Wait longer for firewall creation during e2e cluster setup. 2015-06-11 15:38:35 +02:00
Deyuan Deng 396fabf2af Document why we use 'tr -d' instead of 'base64 w0' 2015-06-10 16:24:20 -04:00
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
Justin Santa Barbara 12e785c3b8 Implement restart-apiserver for AWS, fix comment 2015-03-04 15:35:29 -05:00
Dawn Chen 2a6b5a2262 Removed staled docker artifacts on GCE minions. 2015-03-02 23:24:29 -08:00
Satnam Singh e918f36c2b Fix URL for Elasticsearch 2015-03-02 15:57:12 -08:00
Jeff Lowdermilk 66dfbe900a Merge pull request #4963 from roberthbailey/kubectl-proxy
Remove host ports from the update demo and update tests (take 2).
2015-03-02 15:16:04 -08:00
Satnam Singh 72183c064c Use proxy instead of load balancer 2015-03-02 13:44:41 -08:00
Robert Bailey 5799dd5f7d Remove host ports from the update demo and update tests (take 2). 2015-03-02 10:15:34 -08:00
Jerzy Szczepkowski 7763570579 Print grafana address print in kube-up.sh.
Print grafana address print in kube-up.sh. Resolved #4721.
2015-02-27 09:15:08 +01:00
Satnam Singh 19b927ea57 Name a cluster and use it to make forwarding rules for GCE 2015-02-23 17:04:33 -08:00
Alex Robinson 6a18b74fa3 Minor reordering of GCE kube-up subcommands to keep them logically grouped. 2015-02-23 13:57:09 -08:00
Alex Robinson 953982f47f Add the salt-overlay and /etc/salt directories to the GCE master-pd and reserve
the master's IP upon creation to make it easier to replace the master later.

This pulls out the parts of PR #3174 that don't break anything and will
make upgrading existing clusters in the future less painful.

Add /etc/salt to the master-pd
2015-02-23 13:56:11 -08:00
Satnam Singh 434b74da63 Delete cluster level logging services during kube down 2015-02-19 14:30:53 -08:00
Brendan Burns eee9804e97 Strip whitespace that OS X inserts on wc calls. 2015-02-17 17:19:33 -08:00
Alex Robinson 3043ae9144 Merge pull request #4492 from jlowdermilk/e2e
Cleanup resources after services/guestbook e2e tests.
2015-02-17 12:04:46 -08:00
CJ Cullen 47622092fd Merge pull request #4164 from tkulczynski/mig
Use Managed Instance Group for managing Nodes in GCE
2015-02-17 12:01:48 -08:00
Tomek Kulczynski bcadad2e2e Use Managed Instance Group instead of manually creating Nodes in GCE 2015-02-17 20:33:31 +01:00
Jeff Lowdermilk 8ad671b01e Cleanup resources after shell tests exit 2015-02-17 11:27:54 -08:00
Jeff Lowdermilk aa32f1b2ce Retry #4337: Make gce kubeconfig context include project 2015-02-13 13:31:50 -08:00
Zach Loafman e2ec52bfdf Revert "Make gce's kubeconfig context include the gce project" 2015-02-12 17:01:06 -08:00
Satnam Singh edea91e519 Merge pull request #4337 from jlowdermilk/kubeconfig
Make gce's kubeconfig context include the gce project
2015-02-12 15:22:26 -08:00
Jeff Lowdermilk 41547a1152 Fix kube-up bug introduced by #4353 2015-02-11 17:44:28 -08:00
roberthbailey 0194ed8575 Merge pull request #4353 from erictune/fix_get_password
Don't fail get-password when no current-context.
2015-02-11 15:25:24 -08:00
Eric Tune c348b30f62 Update util.sh 2015-02-11 14:32:41 -08:00
Eric Tune 549504dfff Don't fail get-password when no current-context. 2015-02-11 14:25:15 -08:00
Rajat Chopra 56462c020a democratize restart-apiserver method across clouds 2015-02-11 13:44:43 -08:00
Jeff Lowdermilk 3da5d27ab2 Make gce's kubeconfig context include the gce project
Change the .kubeconfig context that gce kube-up creates to project
+ instance prefix, so you can spin up clusters with the same name
in different compute projects without overwriting .kubeconfig.
2015-02-11 12:07:59 -08:00
Brendan Burns 49a9f8b512 Fix kube-up.sh for OS X. 2015-02-06 16:35:39 -08:00
Jeff Lowdermilk 8f6d9c1039 Use config output formatting to get password in gce kube-up
Gets rid of e2e dependency on pyyaml.
2015-02-05 14:54:45 -08:00
Jeff Lowdermilk 06aa8bd164 Fixes get-password for gce 2015-02-03 19:38:24 -08:00
Brendan Burns baba7d6004 Merge pull request #4034 from jlowdermilk/kube-up
Use kubectl to manage config for gce clusters
2015-02-03 14:50:38 -08:00
Zach Loafman ae27f29c56 Reinstate cluster logging URLs to the end of kube-up.sh
Adds labels to the services, waits for them to be created (which
should be instant, but just in case), query the forwarding rules like
as we did before.

Fixes #3893
2015-02-03 08:27:02 -08:00
Jeff Lowdermilk e0ec192869 Use kubeconfig to manage config for gce/e2e clusters 2015-02-02 15:02:25 -08:00
Tim Hockin a1b51d9165 Maybe make services e2e test more resilient to GCE errors 2015-01-29 15:50:46 -08: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
Vishnu Kannan 50c32fbba4 Adding a replication controller for all monitoring pods.
Removed auth for Grafana to facilitate usage via service proxy on the api-server.
Added a grafana service
Removed elasticsearch dependency for monitoring - faster startup times.
2015-01-16 18:37:46 +00:00
Zach Loafman 43cd9e91f6 Revert "Adding a replication controller for all monitoring pods." 2015-01-16 07:16:54 -08:00
Satnam Singh d443dd8ea6 Merge pull request #3489 from vishh/monitoring_rc
Adding a replication controller for all monitoring pods.
2015-01-15 18:18:54 -08:00
Vishnu Kannan ca2267e3e9 Adding a replication controller for all monitoring pods.
Removed auth for Grafana to facilitate usage via service proxy on the api-server.
Added a grafana service
Removed elasticsearch dependency for monitoring - faster startup times.
2015-01-16 00:56:51 +00:00
Satnam Singh 9ba6525597 Report project and zone only once 2015-01-15 11:21:42 -08:00
Satnam Singh 295bd3768d Launch Elasticsearch and Kibana automatically 2015-01-09 13:41:46 -08:00
Joe Beda 9aa48b7628 Move heapster data files to cluster/addons.
Also pretty up the JSON (make it real JSON) and streamline the sed in cluster/gce/init.sh.
2015-01-05 12:32:35 -08:00
Alex Robinson 8b38453501 Allow for easily specifying the type and size of minion disks on GCE.
Issue #3192
2015-01-03 16:57:16 -08:00
Tim Hockin 7dec65f535 Merge pull request #3156 from evenemento/master
Add missign network flag
2014-12-29 14:06:01 -08:00
Tim Hockin 59164ca844 Make DNS an option for cluster turnup 2014-12-29 09:18:12 -08:00
Maciej Chmielarski d6a747481c Add missign network flag 2014-12-29 12:59:02 +01:00
Max Forbes c3efef86d0 Add GKE as a provider. 2014-12-19 11:47:06 -08:00
bgrant0607 4943ee7b65 Merge pull request #3034 from a-robinson/pd-up
Store all of the master's persistent data on a separate "data" PD when running on GCE
2014-12-18 16:05:47 -08:00
Vishnu Kannan aa7a311c34 Fix bug in gce monitoring setup. 2014-12-18 20:47:41 +00:00
Alex Robinson f892e84e0a Store all of the master's persistent data on a separate "data"
persistent disk when running on GCE.

I'll follow up soon with a second PR that enables kube-push to
completely bring down the master VM and replace it with a new one.
2014-12-18 20:24:57 +00:00
CJ Cullen 90364b30b0 Only create a single firewall rule for all minions. 2014-12-17 17:10:07 -08:00
deads2k fd53795bc9 fix e2e for all providers except gce 2014-12-15 11:04:13 -05:00
Satnam Singh 91a75c7620 Add missing detect-project to detect-minions 2014-12-12 15:29:58 -08:00
Satnam Singh 1ce71d1e33 Make multiple attempts to sanity check (GCE) and validate (ALL) cluster 2014-12-12 13:53:57 -08:00
Satnam Singh d0eeebaa66 Make kube-down more robust for GCE provider 2014-12-11 14:47:38 -08:00
Brendan Burns 8364fa5c93 Fix detect-minions. 2014-12-05 15:42:28 -08:00
Jeff Lowdermilk a1faab9ffe Merge pull request #2730 from satnam6502/scripting
Add missing project argument to gcloud commands
2014-12-04 14:30:20 -08:00
Satnam Singh fcfdd48f8d Add missing project argument to gcloud commands 2014-12-03 15:38:40 -08:00
Satnam Singh c2348052b0 Fix the addition of the logging.write scope to the MINION_SCOPES array 2014-12-02 20:25:26 -08:00
Steve Reed d229c5ba51 Proper appending of logging.write scope to array 2014-12-02 10:29:10 -08:00
Joe Beda f8505cd286 For GCE, allow insecure registries anywhere in 10.0.0.0/8. 2014-12-01 11:36:08 -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
Tim Hockin fad806d1d1 standard config opt names: cluster monitoring 2014-11-25 17:38:30 -08:00
Tim Hockin e359ad5902 Change tabs to spaces 2014-11-25 17:36:41 -08:00
Joe Beda 6ba07b38fc Convert gcutil to gcloud compute 2014-11-25 15:17:00 -08:00
Dawn Chen e13ce48676 Enable docker registry cache. By default it is off 2014-11-21 17:13:22 -08:00
Joe Beda 7b5a77c56c Fix breakage when bringing down cluster. 2014-11-17 11:26:25 -08:00
Joe Beda c82bd2127f Fix up formatting and sed usage for heapster deploy.
Also, 'sed -i' isn't supported well across BSD and GNU versions of sed.  See http://stackoverflow.com/questions/5694228/sed-in-place-flag-that-works-both-on-mac-bsd-and-linux.  And we were editing files that were checked in to git with a password.  Instead, do this with class sed redirection in a temp dir.

Fixes #2400.
2014-11-16 17:13:02 -08:00
Dawn Chen a9defc413a Don't show Kubernetes username & password to console for heapster. 2014-11-13 23:08:55 -08: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
Joe Beda ee2f030623 Give the API server access to TLS certs.
Moved the cert generation to a separate salt state and put it in a more appropriate sharable location (`/srv/kubernetes/`).
2014-11-12 18:14:24 -08:00
Dawn Chen 5ab6947bdd Merge pull request #2307 from satnam6502/logbydefault
Turn on Elasticsearch logging by default for GCE platform
2014-11-12 10:03:06 -08:00
Dawn Chen d71408f465 Merge pull request #2321 from jimmydivvy/fix_linux_md5sum
Strip extra '-' from md5sum output when creating S3 bucket
2014-11-12 10:00:13 -08:00
James Davies ff5a425b67 Strip extra '-' from md5sum output when creating GCE projects 2014-11-12 17:04:01 +10:00
Brendan Burns 4faefda415 Really fix the gce turn up script. 2014-11-11 20:55:12 -08:00
Brendan Burns fa8e0f6a6f Merge pull request #2296 from brendandburns/fix
Fix paths for kubectl
2014-11-11 16:23:11 -08:00
Satnam Singh d837f16045 Turn on Elasticsearch logging by default for GCE platform 2014-11-11 14:49:42 -08:00
Haney Maxwell fae27e2f17 Clean up e2e test 2014-11-11 11:03:07 -08:00
Brendan Burns 0393212624 Fix paths for kubectl 2014-11-11 10:49:44 -08:00
Joe Beda 887c9b18d6 Install Salt from debs on GCS.
Also make downloading more reliable and run 'highstate' after install for good measure.  As part of this we no longer use gsutil to download and have to make 'staged' binaries in GCS publicly readable.
2014-11-07 16:16:45 -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
Vishnu Kannan ad9cb982e5 Add an option for enabling monitoring in gce/config-default.sh and disable it
for tests.
Updated heapster readme.
2014-11-07 00:47:56 +00:00
Vishnu Kannan edf6d8ee3f Use Heapster as an in-built monitoring solution for Kubernetes in GCE.
Users will have an option to enable it when they setup their cluster (kube-up).
2014-11-07 00:47:56 +00:00
Joe Beda 4c8dbbc346 Use the Container VM image in the google-cloud project.
Fixes #2078
2014-10-30 11:29:25 -07:00
Filipe Brandenburger 5619fb2f45 Merge pull request #2046 from dchen1107/containervm
Using containervm image for gce by default
2014-10-29 14:49:17 -07:00
Dawn Chen 18685d49ed Using containervm image for gce by default 2014-10-29 09:42:50 -07:00