Commit Graph

534 Commits (7d09148ad70d2b65202106f6b354af5671160647)

Author SHA1 Message Date
Brendan Burns 78c9a7718a Don't re-check with gcloud for a firewall's existence to fix a potential flake. 2016-02-01 14:17:36 -08:00
Justin Santa Barbara c556e8f0f5 kube-up: Refactor kube-env into common; use in AWS
Use kube-env on the AWS master also
2016-01-28 10:31:51 -08:00
Justin Santa Barbara 4d88a4ed2c kube-up: move sha1sum-file into common
Also hash the tar files in AWS kube-up
2016-01-28 10:19:38 -08:00
Justin Santa Barbara ae75a7d259 kube-up: move build-runtime-config from AWS & GCE into common 2016-01-28 10:19:38 -08:00
Justin Santa Barbara 0df6f5d8c5 kube-up: move yaml-quote from GCE & AWS to common 2016-01-28 10:19:38 -08:00
k8s-merge-robot a95f1b84cb Merge pull request #17243 from yifan-gu/gce_coreos
Auto commit by PR queue bot
2016-01-27 13:02:20 -08:00
Dawn Chen 93168c1ede Merge pull request #20036 from ihmccreery/instance-prefix
Use INSTANCE_PREFIX to prefix uploaded binaries in GCE
2016-01-25 16:07:13 -08:00
Isaac Hollander McCreery 9477bc08a5 Use INSTANCE_PREFIX to prefix uploaded binaries in GCE, fixes #8705 2016-01-22 15:27:33 -08:00
Mike Danese 0fdaa41c5e cluster/gce: fix unbound variable 2016-01-22 14:42:32 -08:00
Yifan Gu fe70bf8485 cluster/gce/coreos: Upload templates during kube-up.
Also added create-master-instance() and create-node-instance-template()
2016-01-21 16:32:15 -08:00
Justin Santa Barbara 43cbfb74fe Ubernetes Lite GCE: Support multiple zones in GCE cloud provider
We adapt the existing code to work across all zones in a region.

We require a feature-flag to enable Ubernetes-Lite

Reasons:

* There are some behavioural changes if users create volumes with
the same name in two zones.
* We don't want to make one API call per zone if we're not running
Ubernetes-Lite.
* Ubernetes-Lite is still experimental.

There isn't a parallel flag implemented for AWS, because at the moment
there would be no behaviour changes from this.
2016-01-20 23:04:53 -05:00
Justin Santa Barbara 2958ea253a GCE: Allow for reuse of master
This is for internal use at the moment, for testing Ubernetes Lite, but
arguably makes the code a little cleaner.

Also rename KUBE_SHARE_MASTER -> KUBE_USE_EXISTING_MASTER
2016-01-20 15:37:00 -05:00
Mike Danese 22cfa5ea7e build: move some of hack/lib/ into a new cluster/lib/
Some functionality in hack/lib is currently depended on by
cluster/common.sh so kube-up from the full release tar (which
does not include hack/) is currently broken. With this PR we
create cluster/lib/ and move the necessary bits from hack/
over to get kube-up working again.

Fixes: 96d1b8d1b2
Signed-off-by: Mike Danese <mikedanese@google.com>
2016-01-11 17:10:26 -08:00
gmarek fc6247152b Split levels of verbosity of test logging on components. 2015-12-28 11:41:09 +01:00
gmarek e138ad3d43 Don't fail kube-down if no MIGs are present 2015-12-18 11:12:42 +01:00
k8s-merge-robot f84c175e04 Merge pull request #18615 from ixdy/gce-cert-creation
Auto commit by PR queue bot
2015-12-17 07:15:13 -08:00
k8s-merge-robot caae39b122 Merge pull request #18731 from mikedanese/disable-kube-push
Auto commit by PR queue bot
2015-12-16 13:57:31 -08:00
k8s-merge-robot 582c84b562 Merge pull request #18485 from andyzheng0831/trusty-release
Auto commit by PR queue bot
2015-12-15 21:18:58 -08:00
Mike Danese 93a58415d6 disable kube-push in gce until it's fixed 2015-12-15 14:50:41 -08:00
gmarek 2b6c78818b Allow creation of clusters larger than 500 nodes in GCE, take 2.
The change from the take 1 is to remove the suffix from the name of the
last MIG.
2015-12-14 14:02:26 +01:00
Jeff Grafton 7ac3b7d665 Print output from cert creation cmds on failure 2015-12-11 18:13:31 -08:00
Zach Loafman 9492fd6a80 Revert "Allow creation of clusters larger than 500 nodes" 2015-12-10 16:07:17 -08:00
Andy Zheng 75e23a3845 Add release support for trusty kube-system manifests.
This is a follow-up work for PR 18115. It adds release support for
kube-system manifests.
2015-12-10 10:47:01 -08:00
gmarek 0c6126911b Allow creation of clusters larger than 500 nodes 2015-12-10 12:13:26 +01:00
Zach Loafman f1f250c6b4 Merge pull request #18377 from roberthbailey/gcloud-prompts
Use gcloud install instead of gcloud update for components to remove the annoying prompt
2015-12-09 15:13:04 -08:00
Zach Loafman e264db4349 Merge pull request #17580 from mikedanese/stage-image
add an option to push/pull component images from a registry using kube-up
2015-12-09 13:49:45 -08:00
k8s-merge-robot d0965bc440 Merge pull request #18115 from andyzheng0831/trusty
Auto commit by PR queue bot
2015-12-09 13:26:33 -08:00
Wojciech Tyczynski fcca8b7e49 Merge pull request #18380 from roberthbailey/rsa-tarball-retries
Add retries to fetch the easy-rsa bundle from GCS.
2015-12-09 14:28:20 +01:00
Mike Danese 4ace8280a0 add an option to push/pull component images from a registry using kube-up 2015-12-08 14:19:30 -08:00
Robert Bailey 628ac539e8 Add retries to fetch the easy-rsa bundle from GCS.
Fixes #18335.
2015-12-08 11:44:11 -08:00
Robert Bailey 48a84bae68 Use gcloud install instead of gcloud update for components to remove
the annoying prompt.

Fixes #18374
2015-12-08 11:26:04 -08:00
gmarek 4060eba626 Use KubeletPort from API object, salt changes, take 2
This reverts commit a7425bf070, reversing
changes made to 4a9b0fc715.
2015-12-07 10:31:11 +01:00
Andy Zheng 816b29536a Prepare kube-system pods manifest for trusty nodes.
This change refactors the code of preparing kube-system manifests
for trusty based cluster. The manifests used by nodes do not contain
salt configuration, so we can simply copy them from the directory
cluster/saltbase/salt, make a tarball, and upload to Google Storage.
2015-12-04 15:43:29 -08:00
Brad Erickson 0bd16e0437 Minion->Node rename: kube-util hosting provider helper functions 2015-11-26 09:31:46 -08:00
Brad Erickson a506030e63 Minion->Node rename: PREEMPTIBLE_NODE 2015-11-25 00:45:10 -08:00
Brad Erickson 53172a5356 Minion->Node rename: NUM_NODES 2015-11-25 00:45:10 -08:00
Brad Erickson e67be19a5b Minion->Node rename: OLD_NODE_TAG, NODE_TAG 2015-11-25 00:45:09 -08:00
Brad Erickson bd06c19aa8 Minion->Node rename: NODE_SIZE 2015-11-25 00:45:09 -08:00
Brad Erickson 1846cfc129 Minion->Node rename: NODE_ROOT_DISK_SIZE, NODE_ROOT_DISK_TYPE, etc
NODE_SCOPES
2015-11-25 00:45:09 -08:00
Brad Erickson fc04b55088 Minion->Node rename: NODE_NAMES, NODE_NAME, NODE_PORT 2015-11-25 00:45:09 -08:00
Brad Erickson 83ed2fa22e Minion->Node rename: NODE_DISK_SIZE, NODE_DISK_TYPE, NODE_HOSTNAME, etc
NODE_IDS
NODE_ID
NODE_IMAGE_PROJECT
NODE_IMAGE
2015-11-25 00:45:09 -08:00
Brad Erickson ae314ad246 Minion->Node rename: KUBE_NODE_IP_ADDRESSES, KUBE_NODE_IP_ADDRESS 2015-11-25 00:43:52 -08:00
Marek Grabowski 7f72d18550 Revert "Salt changes to enable using non-default Kubelet port" 2015-11-25 09:15:36 +01:00
gmarek 3ffa01d7cd Salt changes to enable using non-default Kubelet port 2015-11-23 16:02:46 +01:00
Yifan Gu 9bf6bc1817 cluster/gce: Move build-kube-env to util.sh
This allows all 3 distros(coreos, debian, trusty) to share the same
build-kube-env.
2015-11-17 17:23:04 -08:00
Andy Zheng 5ca070478e Refactor cluster/gce/trusty/node.yaml
The node.yaml has some logic that will be also used by the kubernetes
master on trusty work (issue #16702). This change moves the code
shared by the master and node configuration to a separate script, and
the master and node configuration can source it to use the code.
Moreover, this change stages the script for GKE use.
2015-11-13 16:46:55 -08:00
k8s-merge-robot b873dce298 Merge pull request #16006 from paralin/remove-experimental-api-env
Auto commit by PR queue bot
2015-11-11 16:23:35 -08:00
k8s-merge-robot b7d4f55df2 Merge pull request #16187 from brendandburns/heapster
Auto commit by PR queue bot
2015-11-11 01:46:35 -08:00
Christian Stewart d61d57adec
Remove ENABLE_EXPERIMENTAL_API and similar in favor of KUBE_RUNTIME_CONFIG.
Addresses #15968

This patch removes KUBE_ENABLE_EXPERIMENTAL_API and similar calls in
favor of specifying desired features in KUBE_RUNTIME_CONFIG. Changes
have also been made to e2e scripts to re-enable using
KUBE_RUNTIME_CONFIG rather than EXPERIMENTAL_API env vars.

This also introduces KUBE_ENABLE_DAEMONSETS and KUBE_ENABLE_DEPLOYMENTS.

Signed-off-by: Christian Stewart <christian@paral.in>
2015-11-10 21:36:34 -05:00
Brendan Burns bd65c733b3 Add some more retry... 2015-11-10 13:06:12 -08:00
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