Commit Graph

185 Commits (bbe36f91866357ca0ec664cc3408f8ac0923bb52)

Author SHA1 Message Date
Marcin Wielgus ac4b380453 Salt configuration for the new Cluster Autoscaler for GCE 2016-05-13 17:04:24 +02:00
Saad Ali 55f7bb9c1d Merge pull request #23775 from justinsb/aws_default_variables
AWS kube-up: default some variables to empty, to avoid warnings
2016-05-12 15:47:16 -07:00
Filip Grzadkowski bfb49d0a97 Revert "Add configuration for GCP webhook authorization." 2016-05-12 13:02:10 +02:00
k8s-merge-robot 18b124f981 Merge pull request #25296 from cjcullen/gcpauthz
Automatic merge from submit-queue

Add configuration for GCP webhook authorization.

Plumb through configuration of webhook authorization on GCE.
2016-05-11 23:45:10 -07:00
CJ Cullen de71a2a76e Add configuration for GCP webhook authorization. 2016-05-09 09:17:40 -07:00
k8s-merge-robot 2b46c4b7e2 Merge pull request #24391 from bprashanth/ing_templated_controller
Automatic merge from submit-queue

Template the ingress controller 

We still need https://github.com/kubernetes/contrib/pull/791 to run the controller as a static pod
ref https://github.com/kubernetes/kubernetes/issues/23663
2016-05-06 20:04:51 -07:00
Alex Robinson 6cfaed1299 Don't surround node-tags list with square brackets
That's not how yaml list parsing works...
2016-05-05 22:05:50 +00:00
k8s-merge-robot 0e2ecb7ac6 Merge pull request #24694 from vulpecula/local-ssd-configure-2
Automatic merge from submit-queue

Support local SSDs for GKE and GCE nodes.



```release-note
Support local SSDs for GKE and GCE nodes.
```
2016-05-05 02:24:34 -07:00
Alex Robinson b75fa08aec GCE: Prefer preconfigured node tags for firewalls, if available 2016-05-04 22:49:06 +00:00
CJ Cullen 3253739505 Use ABAC authz instead of AllowAll. 2016-04-27 11:38:15 -07:00
Danka Niedziałkowska 39eb2308a4 Mount local ssds 2016-04-22 15:39:34 -07:00
Prashanth Balasubramanian b066cb5357 Templatize l7 rc 2016-04-20 16:15:22 -07:00
Prashanth Balasubramanian 2ec06f8d4a Generate a kube_uuid salt pillar. 2016-04-20 09:29:27 -07:00
Mike Danese 8e8c55a323 add a timeout for a single retry in download-or-bust
This only applies to gce kube-up. 60 seconds of open connection should
be sufficient for anything that we should be downloading. The release
tar is currently 255M.
2016-04-13 12:24:11 -07:00
Justin Santa Barbara d54a7f03c6 AWS kube-up: default some variables to empty, to avoid warnings
The warnings printed were harmless, but they are not obviously so.
2016-04-01 22:26:51 -04:00
Mike Danese 0a821a473d stop create secrets for dns, it uses the kube-system service account now 2016-03-29 14:27:28 -07:00
Matt Margolin e752f2149f Enable non_masquerade_cidr option configured in salt.grains
This should allow allow the non_masquerade_cidr option to get configured
in /etc/salt/minion.d/grains.conf, allowing the flag to used by kubelet
in /etc/sysconfig/kubelet. Default configuration is set in pillar
2016-03-15 09:56:33 -04:00
Zach Loafman 634c5a9ff0 Cleanup /etc/motd after doc link shift 2016-03-12 12:57:30 -08:00
Dawn Chen fd10ca2f45 Enable --log-level=info for docker daemons for jenkins jobs and e2e tests except soak-continuous. 2016-03-04 13:31:42 -08:00
Jeff Lowdermilk 93e14a63e8 Revert "Enable --log-level=info for docker daemons for scalability jenkins jo…" 2016-03-03 19:21:11 -08:00
Jeff Lowdermilk 7215860ecd Merge pull request #22453 from dchen1107/test1
Enable --log-level=info for docker daemons for scalability jenkins jo…
2016-03-03 16:29:34 -08:00
Jeff Lowdermilk 5fd2de1d1e Merge pull request #22394 from zmerlynn/display_licenses
Show LICENSES in /etc/motd
2016-03-03 15:20:24 -08:00
Dawn Chen 84689a7a69 Enable --log-level=info for docker daemons for scalability jenkins job and e2e test. 2016-03-03 11:11:56 -08:00
k8s-merge-robot 2cf3c7809e Merge pull request #21471 from justinsb/kube_up_auto_upgrade
Auto commit by PR queue bot
2016-03-02 21:00:43 -08:00
Zach Loafman 820842036b Show LICENSES in /etc/motd
Plumb through from the server tarball to
/usr/local/share/docs/kubernetes/LICENSES, then display in the motd.
2016-03-02 15:23:17 -08:00
Justin Santa Barbara b058c6b3e1 AWS: Add sha to download-or-bust
download-or-bust was changed on the GCE side to verify a hash if passed,
so we need to pass a hash in the AWS scripts that reuse this function.
2016-03-02 10:12:39 -05: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 8b122b102f kube-up: Only upgrade if AUTO_UPGRADE set, but set it on AWS
Installing upgrades is kind of dangerous, so make it not the default.
But also set AUTO_UPGRADE=true on AWS.
2016-02-27 20:55:33 -05:00
Zach Loafman 43cb32ab1c configure-vm.sh: Only "apt-get update" when we need to install a package
Factors out package install and checks for package before "apt-get update"

Also fix another "echo sleep 5".

Fixes #22071
2016-02-26 13:47:36 -08:00
Jeff Lowdermilk c406665b2b Plumb node labels through salt
Expose node-labels flag on kubelet for gce via a startup script
env var.
2016-02-22 15:31:34 -08:00
Justin Santa Barbara b70f1c1220 kube-up: install updates & reboot automatically on boot
We run unattened-upgrades manually, and then reboot automatically if we
find /var/run/reboot-required; then we check if any services need
restarting and restart them automatically using the needrestart tool.

This should mean we don't _have_ to build new images on every security
update, though we can do so to avoid a reboot.

Issue #21382
2016-02-18 12:52:43 -05:00
Zach Loafman db01dec0a4 Reset /etc/motd to include version, a pointer to source image and GitHub
Companion to #21031
2016-02-12 17:29:23 -08:00
Marcin b7d72ef36d Startup scripts for custom metrics 2016-02-10 12:32:04 +01:00
Prashanth Balasubramanian c3a3a2bacd Pipe hairpin-mode flag through kubelet, enable on soak. 2016-02-09 12:12:19 -08:00
Justin Santa Barbara fd5c44c72e kube-up: Finish refactor of AWS to reuse GCE script
We override key functions in the GCE script with AWS equivalents.
2016-02-06 22:52:01 -05:00
Alex Mohr d8be60ee57 Merge pull request #19777 from justinsb/echo_sleep_is_silly
kube-up scripts: don't 'echo sleep'
2016-01-21 10:44:38 -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 d2e65a89d0 kube-up scripts: don't 'echo sleep'
'echo sleep 5' just prints 'sleep 5'; replace with 'sleep 5'.
2016-01-17 21:29:01 -05:00
Josh Ellithorpe 76e8a8b08d Fix issues with Python3 and bring up a dev cluster 2016-01-12 11:08:42 -08:00
k8s-merge-robot b4189f965e Merge pull request #19136 from gmarek/cleanup
Auto commit by PR queue bot
2016-01-02 08:02:30 -08:00
gmarek d776a331de Pipe things written in salt pillars which was missing it through sed 2015-12-28 12:23:59 +01:00
gmarek fc6247152b Split levels of verbosity of test logging on components. 2015-12-28 11:41:09 +01: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
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
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
Brendan Burns 15aa0c4415 Add a facility for custom user startup scripts via env variable 2015-12-04 16:13:24 -08:00
Brad Erickson 53172a5356 Minion->Node rename: NUM_NODES 2015-11-25 00:45:10 -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
k8s-merge-robot 1bcf03f3fb Merge pull request #16646 from aalexand/dns-poll
Auto commit by PR queue bot
2015-11-16 03:57:24 -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
aalexand 26439bb225 Fix GCE DNS readiness polling.
If the `hostname` commands used in the polling loop fail, their stdout
is going to be empty and so `getent hosts` command will actually
succeed.  For the loop to work as expected, make sure the subcommands
return a string which is an invalid host name.
2015-10-31 17:02:13 -07:00
Alex Robinson 887b9dd78a Merge pull request #16232 from bprashanth/salt
Cluster-loadbalancing addon
2015-10-30 09:45:16 -07:00
Prashanth Balasubramanian 962cc11f73 Cluster-loadbalancing addon 2015-10-29 15:07:25 -07:00
Jan Safranek fe0741bffe Configure cluster for e2e tests.
When KUBE_E2E_STORAGE_TEST_ENVIRONMENT is set to 'true', kube-up.sh script
will:

- Install the right packages for all storage volumes.
- Use devicemapper as docker storage backend. 'aufs', the default one on
Debian, does not support extended attibutes required by Ceph RBD and Gluster
server containers.

Tested on GCE and Vagrant, e2e tests for storage volumes passes without any
additional configuration.
2015-10-29 11:03:34 +01:00
Brendan Burns 90d9e6e935 Make heapster config creation dynamic 2015-10-22 12:05:49 -07:00
Mike Danese ef015c3574 add config-vm flag to enable terminated pod garbage collection. 2015-10-15 08:19:39 -07:00
Dawn Chen c29296f9a8 Set manifest-url-header when enable_manifest_url is set 2015-10-07 13:27:03 -07:00
Dawn Chen 37720e8899 unset Kubelet flag for manifest_url for master node. 2015-10-06 17:33:29 -07:00
Mike Danese 833be48d61 enable all experimental flags with one controller 2015-10-05 14:54:19 -07:00
Ananth Suryanarayana d50d7763da Add opencontrail networking provisioning support in kubernetes salt based provisioning
OpenContrail is an open-source based networking software which provides virtualization support for the cloud.

This change-set adds ability to install and provision opencontrail software for networking in kubernetes based cloud environment.

There are basically 3 components

o kube-network-manager -- plugin between contrail components and kubernets components
o provision_master.sh -- OpenContrail software installer and provisioner in master node
o provision_minion.sh -- OpenContrail software installer and provisioner in minion node(s)

These are driven via salt configuration files

One can provision opencontrail by just setting "export NETWORK_PROVIDER=opencontrail"
Optionally, OPENCONTRAIL_TAG, and OPENCONTRAIL_KUBERNETES_TAG can be used to
specify opencontrail and contrail-kubernetes software versions to install and provision.

Public-IP Subnet provided by contrail can be configured via OPENCONTRAIL_PUBLIC_SUBNET
environment variable

At this moment, plan is to add support for aws, gce and vagrant based platforms

For more information on contrail-kubernetes, please visit https://github.com/juniper/contrail-kubernetes For more information on opencontrail, please visit http://www.opencontrail.org
2015-10-03 08:03:02 -07:00
nikhiljindal ed5d24ed52 Allow enabling deployment controller on GCE and GKE 2015-09-24 11:37:16 -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
Isaac Hollander McCreery 219a1fae62 Second attempt at GCE tokens behavior to new format 2015-09-04 08:36:55 -07:00
Piotr Szczesniak b813ebadee Revert "GCE tokens behavior to new format" 2015-09-04 10:26:19 +02:00
Isaac Hollander McCreery d3398e2aed GCE tokens behavior to new format 2015-09-02 14:13:51 -07:00
Muhammed Uluyol 82638f8b29 Add conversion function from GCE storage units to kubernetes units. 2015-08-20 18:44:12 -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
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
gmarek 5bb7eec5ab Use salt pillars to pass test arguments during cluster creation. 2015-07-31 09:32:01 +02:00
Piotr Szczesniak f48543aba5 Made enabling Kube UI configurable 2015-07-27 08:23:04 +02:00
Robert Bailey 728b337e9c Refactor the functions that generate auth for the kubelet and kubeproxy
and remove the insecure configuration now that GKE has plumbed through
certificates.
2015-07-17 16:13:01 -07:00
Eric Paris 58df58f3d7 Remove unused enable_node_monitoring option
Back in 1a7f7245e7 we dropped the one
place this was used, but left all of the variable and definitions and
garbage around cluster/
2015-06-25 20:57:56 -04:00
Tim Hockin 280f99afd9 EOL our registry caching mirror
Docker's v1 registry has gotten slower and slower, and they have no
interest in fixing it.  Using a mirror forces v1 mode.  Measurements
show that v1 with our mirror is slower than v2 with docker's registry in
just about all metrics.
2015-06-24 09:56:59 -07:00
Satnam Singh 55f791ca15 Merge pull request #10050 from zmerlynn/checkbinaries
Validate binaries downloaded from GCS:
2015-06-18 14:14:56 -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
CJ Cullen abf1e768dc Pass through an explicit PROXY_SSH_USER.
Use user@user instead of user@hostname in case hostname is too long.
2015-06-18 10:35:02 -07:00
CJ Cullen 04cd9b3c75 Make sshproxy use a hostmount on master PD (don't spam sshKeys on upgrade/reboot).
Add comment describing what SSHTunnelList.Close() does.
Simplify util.FileExists.
2015-06-05 15:03:03 -07:00
CJ Cullen cb317604ab Some refactoring. Only selectively use ssh proxy.
Add NetworkName to gce.Config.
Add locking to uses of master.tunnels.
2015-06-05 14:55:16 -07:00
Prashanth Balasubramanian f7c0f1c1e3 Set min-request-timeout in test clusters 2015-06-03 08:46:28 -07:00
Brian Grant 3da686fea5 Merge pull request #8894 from cjcullen/kmaster2
Add an explicit variable to indicate whether an instance is master or not
2015-06-02 20:37:43 -07:00
CJ Cullen dcf5b16cea Add an explicit KUBERNETES_MASTER variable to the kube-env. 2015-06-02 17:17:02 -07:00
CJ Cullen 934c553c04 Clarify description/usage of --advertise-address, Master.PublicAddress 2015-06-02 15:23:32 -07:00
CJ Cullen 085a48a70e Add an advertise-address flag. This allows the address that the apiserver binds
to (possibly 0.0.0.0) to be different than the address on which members of the cluster
can reach the apiserver (possibly not a local interface).
2015-06-02 14:33:15 -07:00
Filip Grzadkowski caafd28245 Retry downloading binary tars in case of unpack failure 2015-06-02 14:59:15 +02:00
Wojciech Tyczynski 4fc38849ea Retry downloading tars in case of unpack failure 2015-05-29 13:06:24 +02:00
Tim Hockin ac3cc3c518 Rename PORTAL_NET all over 2015-05-28 16:10:44 -07:00
Prashanth B 1f0b4c5e2a Merge pull request #8232 from zmerlynn/i8196
Ensure basic DNS functionality before doing real work in configure-vm.sh
2015-05-15 10:19:35 -07:00
Robert Bailey 9edc359de7 Fix an unbound variable error when CA_CERT isn't set. 2015-05-14 15:42:16 -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
Zach Loafman 06c22c699a Ensure basic DNS functionality before doing real work in configure-vm.sh
Fixes #8196. Maybe. If my theory is correct on how we got there. Also
changes the inference of master to be based on the master name, not
the node instance prefix. That way if we somehow have a bogus
hostname, the master will configure itself as a node, the whole
cluster fails, and it's a ton more obvious.
2015-05-13 19:12:53 -07:00
Dawn Chen 309a157665 Merge pull request #7984 from cjcullen/kubelet
Kubelet configure cbr0 instead of configure-vm.sh
2015-05-13 17:32:52 -07:00
Robert Bailey c47b9178b4 Replace the auth config file with a kubeconfig file when
starting the kubelet on GCE.
2015-05-13 01:03:28 -07:00
CJ Cullen 5e3d2b9138 Kubelet configure cbr0 instead of configure-vm.sh 2015-05-12 23:00:12 -07:00
Max Forbes 76c89db5a8 Master vs node salt auth refactor in configure-vm.sh 2015-05-12 13:26:11 -07:00
CJ Cullen fbd125e4e2 Remove restriction that cluster-cidr be a class-b 2015-05-06 15:01:13 -07:00
Jerzy Szczepkowski 58962100db Merge pull request #7827 from zmerlynn/safe_format_cleanup
Clean up safe_format_and_mount spam in the startup logs
2015-05-06 10:50:32 +02:00