Commit Graph

5770 Commits (d13ad28420ff3e0f0a01202dc5aa96bfe6101376)

Author SHA1 Message Date
Kubernetes Submit Queue 85832892b1 Merge pull request #47430 from mwielgus/ca-0.6.0-a1
Automatic merge from submit-queue

Bump Cluster Autoscaler to 0.6.0-alpha1

cc: @MaciekPytel @aleksandra-malinowska
2017-06-13 09:24:47 -07:00
Marcin Wielgus abd16a8107 Bump Cluster Autoscaler to 0.6.0-alpha1 2017-06-13 16:36:12 +02:00
Kubernetes Submit Queue 5d2dbb58d7 Merge pull request #46796 from mikedanese/gce-2
Automatic merge from submit-queue

enable Node authorizer and NodeRestriction admission controller

Fixes https://github.com/kubernetes/kubernetes/issues/46999
Fixes https://github.com/kubernetes/kubernetes/issues/47135

```release-note
gce kube-up: The `Node` authorization mode and `NodeRestriction` admission controller are now enabled
```
2017-06-13 02:03:14 -07:00
Kubernetes Submit Queue 55f887e9fb Merge pull request #47094 from cheftako/requestCAFile
Automatic merge from submit-queue (batch tested with PRs 47000, 47188, 47094, 47323, 47124)

Set up proxy certs for Aggregator.

Working on fixing https://github.com/kubernetes/kubernetes/issues/43716.
This will create the necessary certificates.
On GCE is will upload those certificates to Metadata.
They are then pulled down on to the kube-apiserver.
They are written to the /etc/src/kubernetes/pki directory.
Finally they are loaded vi the appropriate command line flags.
The requestheader-client-ca-file can be seen by running the following:-
kubectl get ConfigMap extension-apiserver-authentication --namespace=kube-system -o yaml

**What this PR does / why we need it**: 
This PR creates a request header CA. It also creates a proxy client cert/key pair. 
It causes these files to end up on kube-apiserver and set the CLI flags so they are properly loaded.
Without it the customer either has to set them up themselves or re-use the master CA which is a security vulnerability.
Currently this creates everything on GCE.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #43716

**Special notes for your reviewer**:
2017-06-12 18:19:47 -07:00
Kubernetes Submit Queue b01e8d9809 Merge pull request #47188 from caseydavenport/calico-typha
Automatic merge from submit-queue (batch tested with PRs 47000, 47188, 47094, 47323, 47124)

Add Calico typha agent

**What this PR does / why we need it**:

- Adds the Calico typha agent with autoscaling to the GCE scripts. 
- Adds logic to adjust Calico resource requests based on cluster size.

Fixes https://github.com/kubernetes/kubernetes/issues/47269

**Special notes for your reviewer**:

CC @dnardo 

**Release note**:
```release-note
NONE
```
2017-06-12 18:19:45 -07:00
Casey Davenport 948c6c8027 Change how Typha CPU / replias are determined. 2017-06-12 13:13:16 -07:00
Mike Danese b63328984c gce/gke: enable Node authorizer and NodeRestriction admission controller 2017-06-12 11:00:19 -07:00
Kubernetes Submit Queue 695d438508 Merge pull request #46539 from crassirostris/fluentd-gcp-make-privileged
Automatic merge from submit-queue

Make fluentd-gcp run with host network

Fluentd-gcp should have access to instance's platform-dependent service account in order to work.

/cc @piosz
2017-06-12 10:13:21 -07:00
Casey Davenport 83ec0d87ff Make calico/node resource requests dynamic based on cluster size 2017-06-11 16:11:57 -07:00
Casey Davenport 88d3245671 Add the Calico Typha agent 2017-06-11 16:11:57 -07:00
Casey Davenport 8ef6b06d39 Use ip-masq-agent for MASQUERADE when using Calico policy 2017-06-11 16:11:56 -07:00
Walter Fender 46e179b422 Set up proxy certs for Aggregator.
Working on fixing https://github.com/kubernetes/kubernetes/issues/43716.
This will create the necessary certificates.
On GCE is will upload those certificates to Metadata.
They are then pulled down on to the kube-apiserver.
They are written to the /etc/src/kubernetes/pki directory.
Finally they are loaded vi the appropriate command line flags.
The requestheader-client-ca-file can be seen by running the following:-
kubectl get ConfigMap extension-apiserver-authentication
--namespace=kube-system -o yaml
Minor bug fixes.
Made sure AGGR_MASTER_NAME is set up in all configs.
Clean up variable names.
Added additional requestheader configuration parameters.
2017-06-09 16:20:58 -07:00
Kubernetes Submit Queue c0a3d26746 Merge pull request #46750 from cjcullen/grabbag
Automatic merge from submit-queue

Remove e2e-rbac-bindings.

Replace todo-grabbag binding w/ more specific heapster roles/bindings.
Move kubelet binding.

**What this PR does / why we need it**:
The "e2e-rbac-bindings" held 2 leftovers from the 1.6 RBAC rollout process:
 - One is the "kubelet-binding" which grants the "system:node" role to kubelet. This is needed until we enable the node authorizer. I moved this to the folder w/ some other kubelet related bindings.
 - The other is the "todo-remove-grabbag-cluster-admin" binding, which grants the cluster-admin role to the default service account in the kube-system namespace. This appears to only be required for heapster. Heapster will instead use a "heapster" service account, bound to a "system:heapster" role on the cluster (no write perms), and a "system:pod-nanny" role in the kube-system namespace.

**Which issue this PR fixes**: Addresses part of #39990

**Release Note**: 
```release-note
New and upgraded 1.7 GCE/GKE clusters no longer have an RBAC ClusterRoleBinding that grants the `cluster-admin` ClusterRole to the `default` service account in the `kube-system` namespace.
If this permission is still desired, run the following command to explicitly grant it, either before or after upgrading to 1.7:
    kubectl create clusterrolebinding kube-system-default --serviceaccount=kube-system:default --clusterrole=cluster-admin
```
2017-06-09 13:06:30 -07:00
Kubernetes Submit Queue 038d194723 Merge pull request #46815 from timstclair/audit-config
Automatic merge from submit-queue

Audit webhook config for GCE

Add a `ADVANCED_AUDIT_BACKEND` (comma delimited list) environment variable to the GCE cluster config to select the audit backend, and add configuration for the webhook backend.

~~Based on the first commit from https://github.com/kubernetes/kubernetes/pull/46557~~

For kubernetes/features#22

Since this is GCE-only configuration plumbing, I think this should be exempt from code-freeze.
2017-06-08 12:07:01 -07:00
Kubernetes Submit Queue e72c64b7e3 Merge pull request #46987 from Cynerva/gkk/rm-initializers-before-1.7
Automatic merge from submit-queue

Remove Initializers from admission-control in kubernetes-master charm for pre-1.7

**What this PR does / why we need it**:

This fixes a problem with the kubernetes-master charm where kube-apiserver never comes up:

```
failed to initialize admission: Unknown admission plugin: Initializers
```

The Initializers plugin does not exist before Kubernetes 1.7. The charm needs to support 1.6 as well.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #47062

**Special notes for your reviewer**:

This fixes a problem introduced by https://github.com/kubernetes/kubernetes/pull/36721

**Release note**:

```release-note
Remove Initializers from admission-control in kubernetes-master charm for pre-1.7
```
2017-06-08 09:00:57 -07:00
Kubernetes Submit Queue 88e1ecb4b3 Merge pull request #47183 from chuckbutler/fix-time-wait-window-for-system-pods
Automatic merge from submit-queue

Fixes 47182

**What this PR does / why we need it**: Adds some state guards to the idle_status message to speed up the deployment

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #47182

**Special notes for your reviewer**:
This adds additional state guards of  the idle_status method, which will
prevent it from being run until a worker has joined the relationship.
Previous invocations may have some messaging inconsistencies but will reach
eventual consistency once a worker has joined.

This prevents the polling loop from executing too soon, bloating the
installation time by bare-minimum an additional 10 minutes.

**Release note**:

```release-note
Added state guards to the idle_status messaging in the kubernetes-master charm to make deployment faster on initial deployment.
```
2017-06-08 08:38:24 -07:00
Kubernetes Submit Queue 9c1b2aa9b5 Merge pull request #46743 from Random-Liu/bump-up-npd
Automatic merge from submit-queue

Bump up npd version to v0.4.0

Fixes #47070.

Bump up npd version to [v0.4.0](https://github.com/kubernetes/node-problem-detector/releases/tag/v0.4.0).

```release-note
Bump up Node Problem Detector version to v0.4.0, which added support of parsing log from /dev/kmsg and ABRT.
```

/cc @dchen1107 @ajitak
2017-06-08 08:24:18 -07:00
Charles Butler 678c4bc8d4 Fixes 47182
This adds additional state guardsof  the idle_status method, which will
prevent it from being run until a worker has joined the relationship.
Previous invocations may have some message artifacting, but will reach
eventual consistency once a worker has joined.

This prevents the polling loop from executing too soon, bloating the
installation time by bare-minimum an additional 10 minutes.
2017-06-08 09:25:58 -05:00
Kubernetes Submit Queue 66041a9498 Merge pull request #47083 from mikedanese/restart-fix
Automatic merge from submit-queue

save kubelet cert between reboots on CVM

fixes https://github.com/kubernetes/kubernetes/issues/46982
2017-06-06 18:25:10 -07:00
Random-Liu 1d3979190c Bump up npd version to v0.4.0 2017-06-06 16:30:02 -07:00
Mike Danese 86c5dd2541 save kubelet cert between reboots on CVM 2017-06-06 14:24:02 -07:00
Kubernetes Submit Queue 6ed4bc7b97 Merge pull request #46828 from cblecker/links-update
Automatic merge from submit-queue (batch tested with PRs 46718, 46828, 46988)

Update docs/ links to point to main site

**What this PR does / why we need it**:
This updates various links to either point to kubernetes.io or to the kubernetes/community repo instead of the legacy docs/ tree in k/k
Pre-requisite for #46813

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

**Release note**:
```release-note
NONE
```

@kubernetes/sig-docs-maintainers @chenopis @ahmetb @thockin
2017-06-06 11:43:18 -07:00
Tim St. Clair a604d34c21
Add GCE configuration parameter for webhook audit logging 2017-06-06 10:56:19 -07:00
CJ Cullen eba50dfeb6 Replace todo-grabbag binding w/ more specific heapster roles/bindings.
Move kubelet binding to the rbac folder.
2017-06-06 09:03:09 -07:00
Kubernetes Submit Queue ea4764bf47 Merge pull request #46897 from timstclair/audit-policy
Automatic merge from submit-queue (batch tested with PRs 46897, 46899, 46864, 46854, 46875)

Write audit policy file for GCE/GKE configuration

Setup the audit policy configuration for GCE & GKE. Here is the high level summary of the policy:

- Default logging everything at `Metadata`
- Known write APIs default to `RequestResponse`
- Known read-only APIs default to `Request`
- Except secrets & configmaps are logged at `Metadata`
- Don't log events
- Don't log `/version`, swagger or healthchecks

In addition to the above, I spent time analyzing the noisiest lines in the audit log from a cluster that soaked for 24 hours (and ran a batch of e2e tests). Of those top requests, those that were identified as low-risk (all read-only, except update kube-system endpoints by controllers) are dropped.

I suspect we'll want to tweak this a bit more once we've had a time to soak it on some real clusters.

For kubernetes/features#22

/cc @sttts @ericchiang
2017-06-06 05:22:40 -07:00
Kubernetes Submit Queue a03bb6fc5f Merge pull request #46787 from crassirostris/fluentd-gcp-update
Automatic merge from submit-queue

Update the fluentd-gcp image

Rolled back fluentd version to 0.12 to avoid performance problems and unnecessary noise in logs: https://github.com/kubernetes/contrib/pull/2625

Fixes https://github.com/kubernetes/kubernetes/issues/46990
2017-06-06 01:53:40 -07:00
Kubernetes Submit Queue 8df56da448 Merge pull request #46700 from crassirostris/add-event-exporter-deployment
Automatic merge from submit-queue

Add event exporter deployment to the fluentd-gcp addon

Introduce event exporter deployment to the fluentd-gcp addon so that by default if logging to Stackdriver is enabled, events will be available there also.

In this release, event exporter is a non-critical pod in BestEffort QoS class to avoid preempting actual workload in tightly loaded clusters. It will become critical in one of the future releases.


```release-note
Stackdriver cluster logging now deploys a new component to export Kubernetes events.
```
2017-06-06 00:00:49 -07:00
Christoph Blecker 1bdc7a29ae
Update docs/ URLs to point to proper locations 2017-06-05 22:13:54 -07:00
Kubernetes Submit Queue 11aa1de0e0 Merge pull request #46992 from mikedanese/restart-fix
Automatic merge from submit-queue (batch tested with PRs 46967, 46992, 43338, 46717, 46672)

save kubelet bootstrap certs on GCI

Fix https://github.com/kubernetes/kubernetes/issues/46982
2017-06-05 20:27:44 -07:00
Kubernetes Submit Queue 8280bd5e1a Merge pull request #46799 from mikedanese/gce-3
Automatic merge from submit-queue (batch tested with PRs 46972, 42829, 46799, 46802, 46844)

promote tls-bootstrap to beta

last commit of this PR.

Towards https://github.com/kubernetes/kubernetes/issues/46999

```release-note
Promote kubelet tls bootstrap to beta. Add a non-experimental flag to use it and deprecate the old flag.
```
2017-06-05 17:46:52 -07:00
Mike Danese ab63017b39 save kubelet bootstrap certs on GCI 2017-06-05 15:31:02 -07:00
Tim St. Clair 00d52edfd1
Write audit policy file for GCE/GKE configuration 2017-06-05 12:28:34 -07:00
Mike Danese cdcfa35c2a promote tls-bootstrap to beta 2017-06-05 12:20:58 -07:00
George Kraft e52a888814 Remove initializers from juju admission-control for 1.6 and earlier 2017-06-05 13:40:35 -05:00
Kubernetes Submit Queue 0cfef01a44 Merge pull request #46259 from Q-Lee/kube-proxy
Automatic merge from submit-queue (batch tested with PRs 46734, 46810, 46759, 46259, 46771)

Add iptables lock-file mount to kube-proxy manifest

**What this PR does / why we need it**: kube-proxy is broken in make bazel-release. The new iptables binary uses a lockfile in "/run", but the directory doesn't exist. This causes iptables-restore to fail. We need to share the same lock-file amongst all containers, so mount the host /run dir.

This is similar to #46132 but expediency matters, since builds are broken.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #46103

**Special notes for your reviewer**:

**Release note**:

```release-note
```
2017-06-05 06:51:29 -07:00
Shyam Jeedigunta b655953e21 Enable DefaultTolerationSeconds and PodPreset admission plugins for kubemark 2017-06-04 19:52:57 +02:00
Kubernetes Submit Queue 3837d95191 Merge pull request #45748 from mml/reliable-node-upgrade
Automatic merge from submit-queue

Respect PDBs during node upgrades and add test coverage to the ServiceTest upgrade test.

This is still a WIP... needs to be squashed at least, and I don't think it's currently passing until I increase the scale of the RC, but please have a look at the general outline.  Thanks!

Fixes #38336 

@kow3ns @bdbauer @krousey @erictune @maisem @davidopp 

```
On GCE, node upgrades will now respect PodDisruptionBudgets, if present.
```
2017-06-04 06:11:59 -07:00
Quintin Lee 6a380e8831 Add iptables lock-file mount to kube-proxy manifest 2017-06-03 23:53:04 -07:00
Kubernetes Submit Queue 5d158281c8 Merge pull request #46805 from MrHohn/dns-autoscaler-1.1.2
Automatic merge from submit-queue (batch tested with PRs 46681, 46786, 46264, 46680, 46805)

Bump cluster-proportional-autoscaler to 1.1.2

From https://github.com/kubernetes-incubator/cluster-proportional-autoscaler/pull/33.

/assign @bowei 

**Release note**:

```release-note
NONE
```
2017-06-03 21:16:48 -07:00
Kubernetes Submit Queue 4c7e1590ee Merge pull request #40760 from mikedanese/gce
Automatic merge from submit-queue (batch tested with PRs 40760, 46706, 46783, 46742, 46751)

enable kubelet csr bootstrap in GCE/GKE

@jcbsmpsn @pipejakob 

Fixes https://github.com/kubernetes/kubernetes/issues/31168

```release-note
Enable kubelet csr bootstrap in GCE/GKE
```
2017-06-03 18:30:38 -07:00
Kubernetes Submit Queue 388018fa3d Merge pull request #46782 from dnardo/ip-masq-agent
Automatic merge from submit-queue

Add some initial resource limits to the ip-masq-agent.

These limits were based on observing  the agent over roughly a day RES was typically  ~4M for me but I'd like to make sure we have some headroom.  If there was a huge config map then this could increase  slightly but not significantly since we only allow 64 entries. 

VmPeak:    11164 kB
VmSize:    11164 kB
VmLck:         0 kB
VmPin:         0 kB
VmHWM:      7652 kB
VmRSS:      4260 kB
VmData:     7612 kB
VmStk:       136 kB
VmExe:      1856 kB
VmLib:         0 kB
VmPTE:        40 kB
VmPMD:        20 kB
VmSwap:        0 kB
2017-06-03 12:28:27 -07:00
Kubernetes Submit Queue 3473b8a792 Merge pull request #45565 from Q-Lee/mds
Automatic merge from submit-queue

Adding a metadata proxy addon

**What this PR does / why we need it**: adds a metadata server proxy daemonset to hide kubelet secrets.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: this partially addresses #8867

**Special notes for your reviewer**:

**Release note**: the gce metadata server can be hidden behind a proxy, hiding the kubelet's token.

```release-note
The gce metadata server can be hidden behind a proxy, hiding the kubelet's token.
```
2017-06-03 08:55:32 -07:00
Kubernetes Submit Queue 07f85565a2 Merge pull request #36721 from smarterclayton/initializers
Automatic merge from submit-queue

Add initializer support to admission and uninitialized filtering to rest storage

Initializers are the opposite of finalizers - they allow API clients to react to object creation and populate fields prior to other clients seeing them.

High level description:

1. Add `metadata.initializers` field to all objects
2. By default, filter objects with > 0 initializers from LIST and WATCH to preserve legacy client behavior (known as partially-initialized objects)
3. Add an admission controller that populates .initializer values per type, and denies mutation of initializers except by certain privilege levels (you must have the `initialize` verb on a resource)
4. Allow partially-initialized objects to be viewed via LIST and WATCH for initializer types
5. When creating objects, the object is "held" by the server until the initializers list is empty
6. Allow some creators to bypass initialization (set initializers to `[]`), or to have the result returned immediately when the object is created.

The code here should be backwards compatible for all clients because they do not see partially initialized objects unless they GET the resource directly. The watch cache makes checking for partially initialized objects cheap. Some reflectors may need to change to ask for partially-initialized objects.

```release-note
Kubernetes resources, when the `Initializers` admission controller is enabled, can be initialized (defaulting or other additive functions) by other agents in the system prior to those resources being visible to other clients.  An initialized resource is not visible to clients unless they request (for get, list, or watch) to see uninitialized resources with the `?includeUninitialized=true` query parameter.  Once the initializers have completed the resource is then visible.  Clients must have the the ability to perform the `initialize` action on a resource in order to modify it prior to initialization being completed.
```
2017-06-03 07:16:52 -07:00
Kubernetes Submit Queue 2ff0fb7e26 Merge pull request #46676 from gyliu513/masq
Automatic merge from submit-queue (batch tested with PRs 46456, 46675, 46676, 46416, 46375)

Move tolerations to PodSpec for ip-masq-agent.yaml.

**What this PR does / why we need it**:

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
```
2017-06-03 00:28:48 -07:00
Kubernetes Submit Queue 8325943822 Merge pull request #46675 from gyliu513/calico
Automatic merge from submit-queue (batch tested with PRs 46456, 46675, 46676, 46416, 46375)

Move tolerations to PodSpec for calico-node.yaml.

**What this PR does / why we need it**:

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
none
```
2017-06-03 00:28:46 -07:00
Kubernetes Submit Queue 822e29dd3c Merge pull request #46524 from ajitak/npd_version
Automatic merge from submit-queue (batch tested with PRs 46239, 46627, 46346, 46388, 46524)

Configure NPD version through env variable

This lets user specify NPD version to be installed with kubernetes.
2017-06-02 23:37:45 -07:00
Kubernetes Submit Queue 85e43bada9 Merge pull request #46721 from mikedanese/fooloo
Automatic merge from submit-queue (batch tested with PRs 41563, 45251, 46265, 46462, 46721)

change kubemark image project to match new cos image project

The old project is not available anymore.

https://github.com/kubernetes/kubernetes/pull/45136
2017-06-02 19:53:44 -07:00
Clayton Coleman 4ce3907639
Add Initializers to all admission control paths by default 2017-06-02 22:09:04 -04:00
Kubernetes Submit Queue 310ea94b6e Merge pull request #46557 from timstclair/audit-test
Automatic merge from submit-queue (batch tested with PRs 46648, 46500, 46238, 46668, 46557)

Add an e2e test for AdvancedAuditing

Enable a simple "advanced auditing" setup for e2e tests running on GCE, and add an e2e test that creates & deletes a pod, a secret, and verifies that they're audited.

Includes https://github.com/kubernetes/kubernetes/pull/46548

For https://github.com/kubernetes/features/issues/22

/cc @ericchiang @sttts @soltysh @ihmccreery
2017-06-02 15:20:52 -07:00
Mik Vyatskov 527206c36b Add event exporter deployment to the fluentd-gcp addon 2017-06-02 17:00:24 +02:00