Commit Graph

102 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
936c5171a5 Merge pull request #30503 from wojtek-t/optimize_gci
Automatic merge from submit-queue

Avoid unnecessary copies on GCI initialization.

The issue I faced was that when starting a cluster I was getting:
```
Aug 12 11:12:46 e2e-test-wojtekt-master configure.sh[1079]: cp: error writing '/home/kubernetes/kubernetes-src.tar.gz': No space left on device
```

This PR reduces amount of space that is needed on startup, as well as this speeds up starting cluster.

@lavalamp @dchen1107
2016-08-12 12:51:11 -07:00
Kubernetes Submit Queue
9fe15e7376 Merge pull request #29037 from matthewdupre/calico-policy-deploy
Automatic merge from submit-queue

Add support for kube-up.sh to deploy Calico network policy to GCI masters

Also remove requirement for calicoctl from Debian / salt installed nodes and clean it up a little by deploying calico-node with a manifest rather than calicoctl.  This also makes it more reliable by retrying properly.

How to use:
```
make quick-release
NETWORK_POLICY_PROVIDER=calico cluster/kube-up.sh
```

One place where I was uncertain:
- CPU allocations (on the master particularly, where there's very little spare capacity).  I took some from etcd, but if there's a better way to decide this, I'm happy to change it.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/29037)
<!-- Reviewable:end -->
2016-08-12 08:12:01 -07:00
Wojciech Tyczynski
4d27f99997 Avoid unnecessary copies on GCI initialization. 2016-08-12 14:57:54 +02:00
Matt
568fb74a9a kube-up: move Calico policy components off master, and add support for GCI master 2016-08-11 17:11:16 -07:00
mbohlool
a5b2ffffd2 Start etcd-empty-dir-cleanup pod automatically on master 2016-08-10 23:28:21 -07:00
Wojciech Tyczynski
679afea360 etcd3 support 2016-08-10 13:33:35 +02:00
Wojciech Tyczynski
38c28177d6 Propagate cluster size through salt 2016-08-09 09:41:48 +02:00
Kubernetes Submit Queue
10b1ffbed8 Merge pull request #30047 from zmerlynn/fix-aws-bringup
Automatic merge from submit-queue

AWS/GCE: Rework use of master name

* Add a pillar for `hostname` (because even if there's a good Salt function for it, I don't trust it to return the short hostname)
* Move `INITIAL_ETCD_CLUSTER` to just the GCE turn-up
* Remove `master_name`, which isn't needed
2016-08-05 02:00:54 -07:00
Kubernetes Submit Queue
6c81ba5b71 Merge pull request #30038 from adityakali/gci53
Automatic merge from submit-queue

Remove use of /usr/share/google/safe_format_and_mount script from GCI

This script was provided by Google Compute Image Packages
(https://github.com/GoogleCloudPlatform/compute-image-packages) and
has been deprecated since over an year. Newer version of the package
doesn't include it at all. So remove its usage and instead follow
recommended instructions from
https://cloud.google.com/compute/docs/disks/add-persistent-disk#formatting.

cc @kubernetes/goog-image
2016-08-05 00:54:20 -07:00
Zach Loafman
963a05ec72 AWS/GCE: Rework use of master name
* Add a pillar for hostname (because even if there's a good Salt
function for it, I don't trust it to return the short hostname)
* Move INITIAL_ETCD_CLUSTER to just the GCE turn-up
* Remove the master_name, which isn't needed as a pillar
2016-08-04 08:46:36 -07:00
Jerzy Szczepkowski
c8d920ea6c Reverted conversion of influx-db to PetSet.
Reverted conversion of influx-db to PetSet.
2016-08-04 17:08:46 +02:00
Aditya Kali
40aeb2e6bb Remove use of /usr/share/google/safe_format_and_mount script
This script was provided by Google Compute Image Packages
(https://github.com/GoogleCloudPlatform/compute-image-packages) and
has been deprecated since over an year. Newer version of the package
doesn't include it at all. So remove its usage and instead follow
recommended instructions from
https://cloud.google.com/compute/docs/disks/add-persistent-disk#formatting.
2016-08-03 17:13:30 -07:00
Daniel Smith
651c8a4b2f Revert "Modified influxdb petset to provision persistent volume." 2016-08-02 14:03:37 -07:00
k8s-merge-robot
fd4e923890 Merge pull request #29332 from caesarxuchao/gc-e2e
Automatic merge from submit-queue

[Garbage Collector] add e2e tests again

#27151 is reverted because gke didn't start correctly after it's merged (https://github.com/kubernetes/kubernetes/pull/27151#issuecomment-233030686).

The possible problem is the `unbound variable`, which is fixed in the second commit of this PR. However, I cannot verify if the PR will fail the gke suite since I don't have the environment to run that suite.

@wojtek-t @lavalamp
2016-08-02 13:26:43 -07:00
k8s-merge-robot
cadee46753 Merge pull request #28840 from jszczepkowski/influx-ps
Automatic merge from submit-queue

Modified influxdb petset to provision persistent  volume.


[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()

[WIP] Modified influxdb petset to create claim.
2016-08-02 11:07:39 -07:00
Chao Xu
35193be088 plumb --enable_garbage_collector from environment variable;
adding a simple e2e test
2016-08-02 10:02:52 -07:00
Jerzy Szczepkowski
f7167d11a8 Modified influxdb petset to provision pv.
Modified influxdb petset to provision pv.
2016-08-02 18:09:14 +02:00
Jerzy Szczepkowski
657b30ccf6 Modified etcd manifest to support clustering.
Modified etcd manifest to support clustering.
2016-07-30 16:01:04 +02:00
Daniel Smith
fb3f02fb68 Revert "Modified etcd manifest to support clustering." 2016-07-27 12:03:21 -07:00
CJ Cullen
6d2c411757 Fix potential unbound KUBE_USER variable in gci/trusty. 2016-07-27 10:50:44 -07:00
Jerzy Szczepkowski
827ee794d6 Modified etcd manifest to support clustering.
Modified etcd manifest to support clustering.
2016-07-26 23:24:14 +02:00
Justin Santa Barbara
eb3483eaba kube-up: increase download timeout for kubernetes.tar.gz
Particularly on smaller instances on AWS, we were hitting the 80 second
timeout now that our image is well over the 1GB mark.

Increase the timeout from 80 seconds to 300 seconds.

Fix #29418
2016-07-22 00:39:35 -04:00
CJ Cullen
e559e305dd append an abac rule for $KUBE_USER. 2016-07-21 09:40:39 -07:00
k8s-merge-robot
8b16c75ba5 Merge pull request #29139 from adityakali/logrotate.1
Automatic merge from submit-queue

fix logrotate config (again)

we need to add the dateformat option so that the logrotate
can create unique logfiles for each rotation. Without this,
logrotation is skipped with message like (generated in
verbose mode of logrotate):

rotating log /var/log/rotate-test.log, log->rotateCount is 5
dateext suffix '-20160718'
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
destination /var/log/rotate-test2.log-20160718.gz already exists, skipping rotation

Tested as follows:
  # config in '/etc/logrotate.d/rotate-test':
  /var/log/rotate-test.log {
    rotate 5
    copytruncate
    missingok
    notifempty
    compress
    maxsize 100M
    daily
    dateext
    dateformat -%Y%m%d-%s
    create 0644 root root
  }

  # create 150Mb of /var/log/rotate-test.log
  $ dd if=/dev/zero of=/var/log/rotate-test.log bs=1048576 count=150 conv=notrunc oflag=append

  # run logrotate
  $ /usr/sbin/logrotate -v /etc/logrotate.conf
  ...
  rotating pattern: /var/log/rotate-test.log  after 1 days (5 rotations)
  empty log files are not rotated, log files >= 104857600 are rotated earlier, old logs are removed
  considering log /var/log/rotate-test.log
    log needs rotating
  rotating log /var/log/rotate-test.log, log->rotateCount is 5
  Converted ' -%Y%m%d-%s' -> '-%Y%m%d-%s'
  dateext suffix '-20160718-1468875268'
  glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
  copying /var/log/rotate-test.log to /var/log/rotate-test.log-20160718-1468875268
  truncating /var/log/rotate-test.log
  compressing log with: /bin/gzip

  Repeating 'dd' and 'logrotate' commands now generate logfiles correctly.

#27754 
@bprashanth can you please review?
2016-07-18 18:20:41 -07:00
k8s-merge-robot
1d9199628f Merge pull request #29141 from zmerlynn/fix-node-prefix
Automatic merge from submit-queue

GCE bring-up: Differentiate NODE_TAGS from NODE_INSTANCE_PREFIX
2016-07-18 17:11:40 -07:00
Aditya Kali
09b2c27a92 fix logrotate config (again)
we need to add the dateformat option so that the logrotate
can create unique logfiles for each rotation. Without this,
we logrotation is skipped with message like (generated in
verbose mode of logrotate):

rotating log /var/log/rotate-test.log, log->rotateCount is 5
dateext suffix '-20160718'
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
destination /var/log/rotate-test2.log-20160718.gz already exists, skipping rotation

Tested as follows:

  # config in '/etc/logrotate.d/rotate-test':
  /var/log/rotate-test.log {
    rotate 5
    copytruncate
    missingok
    notifempty
    compress
    maxsize 100M
    daily
    dateext
    dateformat -%Y%m%d-%s
    create 0644 root root
  }

  # create 150Mb of /var/log/rotate-test.log
  $ dd if=/dev/zero of=/var/log/rotate-test.log bs=1048576 count=150 conv=notrunc oflag=append

  # run logrotate
  $ /usr/sbin/logrotate -v /etc/logrotate.conf
  ...
  rotating pattern: /var/log/rotate-test.log  after 1 days (5 rotations)
  empty log files are not rotated, log files >= 104857600 are rotated earlier, old logs are removed
  considering log /var/log/rotate-test.log
    log needs rotating
  rotating log /var/log/rotate-test.log, log->rotateCount is 5
  Converted ' -%Y%m%d-%s' -> '-%Y%m%d-%s'
  dateext suffix '-20160718-1468875268'
  glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
  copying /var/log/rotate-test.log to /var/log/rotate-test.log-20160718-1468875268
  truncating /var/log/rotate-test.log
  compressing log with: /bin/gzip

  Repeating 'dd' and 'logrotate' commands now generate logfiles correctly.
2016-07-18 15:37:00 -07:00
Zach Loafman
4c667c38c9 GCE bring-up: Differentiate NODE_TAGS from NODE_INSTANCE_PREFIX
Kubernetes-side fix to #29074 (GKE-side fix necessary as well)
2016-07-18 14:20:45 -07:00
Prashanth Balasubramanian
1173dd13bf Change maxsize to size in logrotate. 2016-07-18 11:30:50 -07:00
Maisem Ali
97f3f80833 Splitting OS_DISTRIBUTION into NODE_OS_DISTRIBUTION and
MASTER_OS_DISTRIBUTION.
2016-07-15 12:02:31 -07:00
Wojciech Tyczynski
f71244975d Revert "[garbage collector] add e2e test" 2016-07-15 10:10:02 +02:00
k8s-merge-robot
01e34b72c1 Merge pull request #27151 from caesarxuchao/gc-e2e
Automatic merge from submit-queue

[garbage collector] add e2e test

This PR also includes some changes to plumb controller-manager's `--enable_garbage_collector` from the environment variable.

The e2e test will not be run by the core suite because it's marked `[Feature:GarbageCollector]`.

The corresponding jenkins job configuration PR is https://github.com/kubernetes/test-infra/pull/132.
2016-07-14 19:55:52 -07:00
Minhan Xia
0bd411878a bump cni version 2016-07-11 14:33:01 -07:00
Chao Xu
7a5b3c43a0 plumb --enable_garbage_collector from environment variable;
adding a simple e2e test
2016-07-08 10:27:16 -07:00
Madhusudan.C.S
2e308035f0 Copy FEDERATIONS_DOMAIN_MAP to a local variable since the helper script doesn't allow overwriting the existing variable. 2016-07-06 15:53:45 -07:00
David McMahon
ef0c9f0c5b Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
k8s-merge-robot
3a6494e9ae Merge pull request #28132 from madhusudancs/fed-kubedns-flags-nodebootstrap
Automatic merge from submit-queue

Substitute federation_domain_map parameter with its value in node bootstrap scripts.

This PR also removes the substitution code we added to the build scripts.

**Release Note**

```release-note
If you use one of the kube-dns replication controller manifest in `cluster/saltbase/salt/kube-dns`, i.e. `cluster/saltbase/salt/kube-dns/{skydns-rc.yaml.base,skydns-rc.yaml.in}`, either substitute one of `__PILLAR__FEDERATIONS__DOMAIN__MAP__` or `{{ pillar['federations_domain_map'] }}` with the corresponding federation name to domain name value or remove them if you do not support cluster federation at this time. If you plan to substitute the parameter with its value, here is an example for `{{ pillar['federations_domain_map'] }`
pillar['federations_domain_map'] = "- --federations=myfederation=federation.test"
where `myfederation` is the name of the federation and `federation.test` is the domain name registered for the federation.
```

cc @erictune  @kubernetes/sig-cluster-federation @MikeSpreitzer @luxas 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-29 14:09:46 -07:00
Madhusudan.C.S
816c4d9e2b Substitute federation_domain_map parameter with its value in node bootstrap scripts.
This also removes the substitution code we added to the build
scripts in one of the previous commits.
2016-06-27 14:54:49 -07:00
Jerzy Szczepkowski
d00cdf75e8 Influxdb migrated to PetSet and PersistentVolumes.
Influxdb migrated to PetSet and PersistentVolumes.
2016-06-27 15:39:09 +02:00
Fabio Yeon
86928dbea0 Increase pod CPU/memory for fluentd, dns and kube-proxy. 2016-06-24 11:03:08 -07:00
k8s-merge-robot
5ccd1e7cf6 Merge pull request #27990 from adityakali/fluentd
Automatic merge from submit-queue

Use new fluentd-gcp container with journal support

This makes use of the systemd-journal support added in PR #27981
and Fixes #27446.

cc/ @a-robinson @andyzheng0831
2016-06-23 18:48:53 -07:00
Aditya Kali
72af2b7c21 Use new fluentd-gcp container with journal support
This makes use of the systemd-journal support added in PR #27981
and Fixes #27446.
2016-06-23 17:08:31 -07:00
Zach Loafman
e7a9881d84 Copy and display source location prominently on Kubernetes instances
Following from #27830, this copies the source onto the instance and
displays the location of it prominently (keeping the download link for
anyone that just wants to curl it).

Example output (this tag doesn't exist yet):

---
Welcome to Kubernetes v1.4.0!

You can find documentation for Kubernetes at:
  http://docs.kubernetes.io/

The source for this release can be found at:
  /usr/local/share/doc/kubernetes/kubernetes-src.tar.gz
Or you can download it at:
  https://storage.googleapis.com/kubernetes-release/release/v1.4.0/kubernetes-src.tar.gz

It is based on the Kubernetes source at:
  https://github.com/kubernetes/kubernetes/tree/v1.4.0

For Kubernetes copyright and licensing information, see:
  /usr/local/share/doc/kubernetes/LICENSES
---
2016-06-23 15:27:38 -07:00
Marek Grabowski
56d4586f89 Revert "Copy and display source location prominently on Kubernetes instances" 2016-06-23 10:24:29 +02:00
Zach Loafman
f9d1737299 Copy and display source location prominently on Kubernetes instances
Following from #27830, this copies the source onto the instance and
displays the location of it prominently (keeping the download link for
anyone that just wants to curl it).

Example output (this tag doesn't exist yet):

---
Welcome to Kubernetes v1.4.0!

You can find documentation for Kubernetes at:
  http://docs.kubernetes.io/

The source for this release can be found at:
  /usr/local/share/doc/kubernetes/kubernetes-src.tar.gz
Or you can download it at:
  https://storage.googleapis.com/kubernetes-release/release/v1.4.0/kubernetes-src.tar.gz

It is based on the Kubernetes source at:
  https://github.com/kubernetes/kubernetes/tree/v1.4.0

For Kubernetes copyright and licensing information, see:
  /usr/local/share/doc/kubernetes/LICENSES
---
2016-06-21 23:03:30 -07:00
k8s-merge-robot
6cccb872a7 Merge pull request #27741 from zmerlynn/fix-gce-filters
Automatic merge from submit-queue

GCE provider: Limit Filter calls to regexps rather than insane blobs

Filters can't exceed 4k, and GET requests against the GCE API are also limited, so these break down in different ways at different cluster counts. Fix it by introducing an advisory `node-instance-prefix` configuration in the GCE provider that can hint the `EnsureLoadBalancer`/`UpdateLoadBalancer code` (and the firewall creation/update code). If it's not there, or wrong (a hostname that's registered violates it), just ignore it and grab the whole project.

Fixes #27731 
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-21 09:54:01 -07:00
Zach Loafman
dd4dae4a57 GCE provider: Limit Filter calls to regexps rather than insane blobs
Filters can't exceed 4k, and GET requests against the GCE API are also
limited, so these break down in different ways at different cluster
counts. Fix it by introducing an advisory node-instance-prefix
configuration in the GCE provider that can hint the
EnsureLoadBalancer/UpdateLoadBalancer code (and the firewall
creation/update code). If it's not there, or wrong (a hostname that's
registered violates it), just ignore it and grab the whole project.
2016-06-21 08:34:48 -07:00
Andy Zheng
d05b14f718 GCI: fix kubectl permission issue #27643 2016-06-20 17:35:20 -07:00
k8s-merge-robot
5c841556b8 Merge pull request #27724 from wonderfly/fix_unbound_var
Automatic merge from submit-queue

Make GCI_DOCKER_VERSION optional

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()

fixes #26813

This env var is only set in `config-test.sh` and trying to evaluate it with
`nounset` set will end up with an "unbound variable" error.

@girishkalele @dchen1107 This is a XS fix. Can you review?
2016-06-20 15:26:13 -07:00
k8s-merge-robot
a3f09700e5 Merge pull request #27409 from adityakali/logrotate.1
Automatic merge from submit-queue

add logrotate service and configuration for GCI

This change mirrors the configuration in cluster/saltbase/salt/logrotate for GCI.

On GCI we use systemd timers (https://www.freedesktop.org/software/systemd/man/systemd.timer.html) and install an hourly timer - kube-logrotate.timer. This will invoke kube-logrotate.service (which calls /usr/sbin/logrotate) once every hour to perform log rotation as per the rotation rules installed under /etc/logrotate.d/.

@kubernetes/goog-image @zmerlynn @dchen1107 @andyzheng0831
2016-06-20 13:40:57 -07:00
Daniel Wang
0acb2dc28a Make GCI_DOCKER_VERSION optional
fixes #26813

This env var is only set in `config-test.sh` and trying to evaluate it with
`nounset` set will end up with an "unbound variable" error.
2016-06-20 11:22:14 -07:00