Commit Graph

753 Commits

Author SHA1 Message Date
Joe Finney
74515a6b23 Fix detect-nodes in cluster/gce/util.sh. 2016-03-01 17:12:43 -08:00
Zach Loafman
5a031bf52c GCE startup: Regional release .tar.gz support
* In kube-up.sh, create a staging bucket with a location nearest the
zone being created. If new variable RELEASE_REGION_FALLBACK is set
(default false), create multiple buckets and stage to fallback
URLs. (In open source, this path is primarily for testing.)

* In configure-vm.sh, split the URL env variables by comma (if any
extra are present) and retry on the fallback URLs. Also factor the
hash checking into this path rather than outside, since a corrupt
release in a particular geo can be retried in a different geo.

* Remove the local already-staged .tar.gz checks. They've caused
several issues along the way, and with this code path become virtually
unmaintainable. (I could add a sentinel for each bucket it's possibly
staged to, but ew.)
2016-03-01 09:59:39 -08:00
Justin Santa Barbara
ee58dc22d7 Merge pull request #21673 from gmarek/kube-down
Auto commit by PR queue bot
2016-02-27 19:21:18 -05:00
gmarek
053e882622 kube-down looks for instance templates even if instance group does not exists 2016-02-24 11:15:45 +01:00
Zach Loafman
e85cf1bb97 Attempt to delete node-template before retry
I don't think we've seen this commonly, so I'm proposing a simplistic
fix for now.

Fixes #20878
2016-02-22 16:09:15 -08:00
k8s-merge-robot
1ce188e557 Merge pull request #21430 from spxtr/e2e-internal
Auto commit by PR queue bot
2016-02-21 12:08:22 -08:00
k8s-merge-robot
d6192dd152 Merge pull request #21342 from spxtr/remove-e2e-test
Auto commit by PR queue bot
2016-02-21 00:39:38 -08:00
Matt Liggett
58283aff67 Also retain docker and kubelet logs.
Still trying to debug #20916
2016-02-18 13:32:18 -08:00
Joe Finney
2b756ca56d Move E2E kube-up call into test-setup from e2e-internal. 2016-02-17 16:49:07 -08:00
Joe Finney
6f7182e500 Remove hack/e2e-test.sh in favor of hack/e2e.go. 2016-02-16 14:54:50 -08:00
Quinton Hoole
b4a3559807 Add Jenkins e2e test job for multi-zone Ubernetes Lite 2016-02-16 13:07:17 -08:00
k8s-merge-robot
2299547ca5 Merge pull request #21183 from mml/slow-flake
Auto commit by PR queue bot
2016-02-16 05:12:50 -08:00
k8s-merge-robot
b1dedc0900 Merge pull request #21058 from gmarek/fix
Auto commit by PR queue bot
2016-02-15 06:12:27 -08:00
Matt Liggett
c25331f251 Save the master logs to separate files rather than dumping to stdout. 2016-02-12 17:30:45 -08:00
Matt Liggett
7a2e649745 Include some debug output when the API server never appears.
Helps with #20916
2016-02-11 16:33:35 -08:00
gmarek
aa79f04aed Fix #21027 2016-02-11 22:25:08 +01:00
gmarek
208e98b58e Fix #20788 2016-02-08 10:21:04 +01:00
Justin Santa Barbara
732e76fb4e kube-up: Refactor SSL cert helpers into common
Next step in the the GCE/AWS harmonization
2016-02-04 09:10:41 -05:00
Jeff Lowdermilk
4a9b046515 Merge pull request #20432 from brendandburns/flake5
Don't re-check with gcloud for a firewall's existence to fix a potential flake.
2016-02-02 11:59:54 -08:00
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
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
Dawn Chen
03503a5627 Always check default-internal firewall absent or not; if not, create it
anyway.
2014-10-28 13:55:52 -07:00
Daniel Smith
bfabb41604 New e2e script (in go this time) that doesn't completely suck 2014-10-23 11:03:30 -07:00
Brendan Burns
86e67c0fe2 Fix GCE since KUBE_ADMIN_TOKEN is never set, since get-admin-token is never called. 2014-10-21 21:13:24 -07:00
Satnam Singh
605314ff62 Second attempt at correctly unspecting FLUENTD_GCP 2014-10-21 14:58:03 -07:00
Satnam Singh
ed58d024ca Check to see if FLUENTD_GCP is defined before use 2014-10-21 12:18:42 -07:00
Clayton Coleman
fa4e186e54 Merge pull request #1911 from erictune/token_client
Handle auth files with BearerToken sections.
2014-10-21 14:08:42 -04:00
Satnam Singh
39212f5e2e Flunentd to GCP logging node level configuration 2014-10-20 18:05:00 -07:00
Eric Tune
21dae01005 Handle auth files with BearerToken sections. 2014-10-20 17:02:03 -07:00
Satnam Singh
b7722a631d Adjust test in salt file to use boolean value 2014-10-20 15:52:28 -07:00
Tim Hockin
1c2f04b8b7 Add e2e test 2014-10-16 08:36:47 -07:00
Tim Hockin
e907011111 Core support for ip-per-service 2014-10-16 08:36:47 -07:00
Joe Beda
9bb20b41ee Break out dynamic salt files to enable clean kube-push.
This lets us blow away salt files and replace them with a new version while keeping a tree of "overlay" files that are cluster specific and generated at cluster up time.

Fixes #1783
2014-10-14 15:01:43 -07:00
Joe Beda
e397371b95 Fix up project hash on linux
Somehow this got dropped!
2014-10-10 14:24:35 -07:00
Joe Beda
96c1bc17ca Set shell options for reliability.
Tweak a few other small things in our shell scripts.
2014-10-10 12:33:36 -07:00
Joe Beda
d43a6ec5a3 Standardize how we refer to the kubernetes root.
Now use $KUBE_ROOT as the variable pretty much everywhere.
2014-10-10 12:33:36 -07:00
Joe Beda
15cd6f07d6 Use binary releases for cluster push scripts.
This is for GCE right now.  Other clouds/clusters are probably broken.
2014-10-10 12:30:11 -07:00
Justin Lindh
4f31b1918f Add configurable sleep between polling intervals for GCE status 2014-10-02 12:47:40 -06:00
Joe Beda
c323179d9b Don't print Kubernetes username/password to console.
It is too easy to copy/paste this on-line.

Fixes #1483
2014-09-29 13:18:29 -07:00
Joe Beda
81e91db697 Grab images as part of update e2e test 2014-09-26 14:31:12 -07:00
Brendan Burns
511ec280b9 Add a new network for e2e tests, to isolate it from any other cluster. 2014-09-24 22:37:19 -07:00
Brendan Burns
e21f5f7c8f Fix the scripts. 2014-09-24 11:04:25 -07:00
Brendan Burns
8398dbd367 Fix the scripts. 2014-09-24 09:57:24 -07:00
Brendan Burns
cafd20b233 Complete the mitm prevention on GCE. 2014-09-23 16:51:04 -07:00
Brian Grant
b9eee0f0c7 Replace --lines= with -n to fix tail on mac os. 2014-09-23 14:16:43 +00:00
Brian Grant
cf60f4fa7d Fixes #1392. Redirects error messages to stderr so users can see them. 2014-09-22 17:25:25 +00:00
Carlos Sanchez
588a428175 [GCE] detect-master and detect-minions api calls should specify the zone
Otherwise KUBE_MASTER_IP and KUBE_MINION_IP_ADDRESSES may contain 'external-ip'

    $ detect-master
    Using master: kubernetes-master (external IP: external-ip)'
2014-09-02 13:47:26 +02:00
Brendan Burns
514f443854 Move healthz checking to cluster validation. Switch to code == 200 2014-08-20 15:52:29 -07:00
Brendan Burns
aa9d0d774c Uniquify the http firewall rule between different runs of the e2e tests. 2014-08-19 16:35:11 -07:00
Tim Hockin
03ade159c3 Proper ip-per-pod on GCE.
Back out the second iptables rule, now that we know what the problem was - we
need to open a firewal rule on each minion.
2014-08-15 15:54:20 -07:00
Joe Beda
629f964791 Fix e2e teardown 2014-08-14 13:57:50 -07:00
Brendan Burns
9f49650fba Add a tear down option to the e2e, that just tears down the cluster
Useful for cleaning state after failed runs.
2014-08-14 09:58:40 -07:00
Amy Unruh
f9bbddf892 minor docs/error msg cleanup 2014-08-06 15:43:27 -07:00
Tim Hockin
f9f8db5171 Fix indents 2014-08-04 11:42:33 -07:00
derekwaynecarr
69ae2fe4bb Initial vagrant setup and e2e testing support 2014-07-24 16:32:36 -04:00