Commit Graph

4438 Commits (33f3332a44745a0c575498ad5b3a807cc944cee6)

Author SHA1 Message Date
Kubernetes Submit Queue 6089557887 Merge pull request #48050 from luxas/fix_rbac_configmaps
Automatic merge from submit-queue

kubeadm: Expose only the cluster-info ConfigMap in the kube-public ns

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

Noticed a bug; we should only expose the `cluster-info` ConfigMap.

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

Fixes: https://github.com/kubernetes/kubeadm/issues/320

**Special notes for your reviewer**:

Cherrypick-candidate for v1.8 cc @dchen1107 
Not blocking the release though...

**Release note**:

```release-note
NONE
```
@jbeda @pipejakob @timothysc @kubernetes/sig-cluster-lifecycle-pr-reviews
2017-06-28 03:29:27 -07:00
xiangpengzhao f12dc94fa9
Fix kube-proxy panic when running with "--cleanup-iptables=true" 2017-06-28 16:43:00 +08:00
Kubernetes Submit Queue d19a2841e3 Merge pull request #47645 from jsafrane/integration-test-speedup
Automatic merge from submit-queue (batch tested with PRs 48139, 48042, 47645, 48054, 48003)

Speed up attach/detach controller integration tests

Internal attach/detach controller timers should be configurable and tests should use much shorter values.

`reconcilerSyncDuration` is deliberately left out of `TimerConfig` because it's the only one that's not a constant one, it's configurable by user.

Fixes #47129 

Before:
```
--- PASS: TestPodDeletionWithDswp (63.21s)
--- PASS: TestPodUpdateWithWithADC (13.68s)
--- PASS: TestPodUpdateWithKeepTerminatedPodVolumes (13.55s)
--- PASS: TestPodAddedByDswp (183.01s)
--- PASS: TestPersistentVolumeRecycler (12.55s)
--- PASS: TestPersistentVolumeDeleter (12.54s)
--- PASS: TestPersistentVolumeBindRace (3.51s)
--- PASS: TestPersistentVolumeClaimLabelSelector (12.50s)
--- PASS: TestPersistentVolumeClaimLabelSelectorMatchExpressions (12.54s)
--- PASS: TestPersistentVolumeMultiPVs (3.05s)
--- PASS: TestPersistentVolumeMultiPVsPVCs (4.36s)
--- PASS: TestPersistentVolumeControllerStartup (7.29s)
--- PASS: TestPersistentVolumeProvisionMultiPVCs (5.02s)
--- PASS: TestPersistentVolumeMultiPVsDiffAccessModes (12.48s)
ok  	k8s.io/kubernetes/test/integration/volume	359.727s
```

After:
```
--- PASS: TestPodDeletionWithDswp (3.71s)
--- PASS: TestPodUpdateWithWithADC (3.63s)
--- PASS: TestPodUpdateWithKeepTerminatedPodVolumes (3.70s)
--- PASS: TestPodAddedByDswp (5.68s)
--- PASS: TestPersistentVolumeRecycler (12.54s)
--- PASS: TestPersistentVolumeDeleter (12.55s)
--- PASS: TestPersistentVolumeBindRace (3.55s)
--- PASS: TestPersistentVolumeClaimLabelSelector (12.50s)
--- PASS: TestPersistentVolumeClaimLabelSelectorMatchExpressions (12.52s)
--- PASS: TestPersistentVolumeMultiPVs (3.98s)
--- PASS: TestPersistentVolumeMultiPVsPVCs (3.85s)
--- PASS: TestPersistentVolumeControllerStartup (7.18s)
--- PASS: TestPersistentVolumeProvisionMultiPVCs (5.23s)
--- PASS: TestPersistentVolumeMultiPVsDiffAccessModes (12.48s)
ok  	k8s.io/kubernetes/test/integration/volume	103.267s
```

PV controller tests are the slowest ones now.

@kubernetes/sig-storage-pr-reviews 
/assign @gnufied 

```release-note
NONE
```
2017-06-27 14:08:17 -07:00
Kubernetes Submit Queue 6d1da16456 Merge pull request #47731 from jsravn/use-endpoints-cache-for-endpoint-controller
Automatic merge from submit-queue

Use endpoints informer for the endpoint controller

This substantially reduces the number of API calls made by the endpoint
controller. Currently the controller makes an API call per endpoint for
each service that is synced. When the 30s resync is triggered, this
results in an API call for every single endpoint in the cluster. This
quickly exceeds the default qps/burst limit of 20/30 even in small
clusters, leading to delays in endpoint updates.

This change modifies the controller to use the endpoint informer cache
for all endpoint GETs. This means we only make API calls for changes in
endpoints. As a result, qps only depends on the pod activity in the
cluster, rather than the number of services.



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

Address endpoint update delays as described in https://github.com/kubernetes/kubernetes/issues/47597.

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

https://github.com/kubernetes/kubernetes/issues/47597

**Special notes for your reviewer**:

**Release note**:

```release-note
```
2017-06-27 05:20:12 -07:00
Kubernetes Submit Queue 49c151e433 Merge pull request #48049 from luxas/kubeadm_rolling_proxy
Automatic merge from submit-queue

kubeadm: Make kube-proxy RollingUpgradeable

**What this PR does / why we need it**:
Sets the right updateStrategy for kube-proxy.

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

Fixes: https://github.com/kubernetes/kubeadm/issues/319

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
@pipejakob @timothysc @kubernetes/sig-cluster-lifecycle-pr-reviews
2017-06-27 04:29:39 -07:00
James Ravn 9fc5a547ae Use endpoints informer for the endpoint controller
This substantially reduces the number of API calls made by the endpoint
controller. Currently the controller makes an API call per endpoint for
each service that is synced. When the 30s resync is triggered, this
results in an API call for every single endpoint in the cluster. This
quickly exceeds the default qps/burst limit of 20/30 even in small
clusters, leading to delays in endpoint updates.

This change modifies the controller to use the endpoint informer cache
for all endpoint GETs. This means we only make API calls for changes in
endpoints. As a result, qps only depends on the pod activity in the
cluster, rather than the number of services.
2017-06-27 10:17:09 +01:00
Kubernetes Submit Queue aac42add77 Merge pull request #47443 from p0lyn0mial/use_incluster_cfg_when_creating_ext_informers
Automatic merge from submit-queue (batch tested with PRs 48012, 47443, 47702, 47178)

incluster config will be used when creating external shared informers.

**What this PR does / why we need it**:
Previously the loopback configuration was used to talk to the server.
As a consequence a custom API server was unable to talk to the root API server.
This PR changes the above by using incluster configuration to create shared informers.

**Release note**:

```release-note
NONE
```
2017-06-26 17:48:01 -07:00
Kubernetes Submit Queue eaa6571229 Merge pull request #47514 from jsafrane/move-savepodtofile
Automatic merge from submit-queue (batch tested with PRs 48074, 47971, 48044, 47514, 47647)

Move LoadPodFromFile to volume utils

SavePodToFile is not used anywhere and LoadPodFromFile is used only by PV
recycler.

Fix #16970

```release-note
NONE
```
2017-06-26 11:40:58 -07:00
Kubernetes Submit Queue 8cbe10497e Merge pull request #48044 from bowei/kube-dns-1.14.4
Automatic merge from submit-queue (batch tested with PRs 48074, 47971, 48044, 47514, 47647)

Update kube-dns to 1.14.4

- Fixes broken arm dnsmasq image
- Fixes kube-dns log spam issue

https://github.com/kubernetes/dns/issues/111

```release-note
none
```
2017-06-26 11:40:56 -07:00
Jan Safranek c2dc5b5bf1 Move LoadPodFromFile to volume utils
SavePodToFile is not used anywhere and LoadPodFromFile is used only by PV
recycler.
2017-06-26 16:02:43 +02:00
Lucas Käldström e25a5b1546
Remove old node role label that is not used by kubeadm 2017-06-26 14:46:15 +03:00
Lucas Käldström 037c9e8965
kubeadm: Expose only the cluster-info ConfigMap in the kube-public ns 2017-06-26 12:56:06 +03:00
Lucas Käldström 49d7d5d0d8
kubeadm: Make kube-proxy RollingUpgradeable 2017-06-26 12:33:54 +03:00
Kubernetes Submit Queue 637cc0a8ba Merge pull request #46276 from karataliu/removeDupMsg
Automatic merge from submit-queue (batch tested with PRs 47961, 46276)

Remove duplicate error message output in hyperkube.

**What this PR does / why we need it**:
Currently hyperkube binary will always print duplicate messages if fatal error occurs:
```
$ ./kubelet # run without permission
I0523 08:38:02.642638   25701 feature_gate.go:144] feature gates: map[]
W0523 08:38:02.642827   25701 server.go:472] No API client: no api servers specified
Error: failed to run Kubelet: error reading /var/run/kubernetes/kubelet.key, certificate and key must be supplied as a pair
Error: failed to run Kubelet: error reading /var/run/kubernetes/kubelet.key, certificate and key must be supplied as a pair
```

This is due to RunToExit will print out the error which Run has just printed. https://github.com/kubernetes/kubernetes/blob/8bee44b/cmd/hyperkube/hyperkube.go#L178-L189

This was introduced in following commit for adding GOMAXPROCS calls.
1e679f0069

The following commit removes GOMAXPROCS calls, but did not remove the corresponding error output line.
88ea80b572


**Which issue this PR fixes**

**Special notes for your reviewer**:

**Release note**:
2017-06-26 02:11:54 -07:00
Bowei Du 85025ef7dc Update kube-dns to 1.14.4
- Fixes broken arm dnsmasq image
- Fixes kube-dns log spam issue
2017-06-25 23:53:37 -07:00
Kubernetes Submit Queue f9bf1f3b06 Merge pull request #47348 from luxas/kubeadm_remove_validate_phase
Automatic merge from submit-queue

kubeadm: Remove the validate phase as it's not needed

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

This validation code was added in v1.4 as a way to remove flakiness between deploying the control plane in Static Pods and deploying kube-discovery as a Deployment.

That isn't the case anymore and we're not experiencing such flakiness, as we're using other methods like checking `/healthz` to determine a healthy control plane before proceeding.

https://github.com/kubernetes/kubernetes/pull/43881 removed this logic from `kubeadm init` to having it as a phase. But that phase isn't needed or used in any way, so now I'm removing it here.

**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**:

Targets v1.8

**Release note**:

```release-note
NONE
```
@kubernetes/sig-cluster-lifecycle-pr-reviews @timothysc @mikedanese
2017-06-24 12:15:48 -07:00
Lucas Käldström 051db16083
kubeadm: Cleanup version gates for the Node Authorizer when targeting v1.8 2017-06-24 19:21:41 +03:00
Lucas Käldström 4380d1fbdd
kubeadm: Remove the validate phase as it's not needed nor used 2017-06-24 19:10:26 +03:00
Daneyon Hansen 36c9e1f42e Adds IPv6 test cases 2017-06-23 16:43:16 -07:00
Kubernetes Submit Queue 0fe8006455 Merge pull request #47803 from gtirloni/kubeadm-phase-preflight
Automatic merge from submit-queue (batch tested with PRs 47694, 47772, 47783, 47803, 47673)

Add "alpha phase preflight" command

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

Adds "alpha phase preflight" command to kubeadm in order to run pre-flight checks independently of init phase.

**Which issue this PR fixes:** fixes kubernetes/kubeadm#314

/cc @luxas
2017-06-23 08:29:30 -07:00
Kubernetes Submit Queue d95a8bf66b Merge pull request #47783 from NickrenREN/containerruntime
Automatic merge from submit-queue (batch tested with PRs 47694, 47772, 47783, 47803, 47673)

Make different container runtimes constant

Make different container runtimes constant to avoid hardcode

**Release note**:

```release-note
NONE
```
2017-06-23 08:29:28 -07:00
Kubernetes Submit Queue fcfbfecdfd Merge pull request #47856 from mikedanese/bootstrap-resume
Automatic merge from submit-queue (batch tested with PRs 47915, 47856, 44086, 47575, 47475)

kubelet should resume csr bootstrap

Right now the kubelet creates a new csr object with the same key every
time it restarts during the bootstrap process. It should resume with the
old csr object if it exists. To do this the name of the csr object must
be stable.

Issue https://github.com/kubernetes/kubernetes/issues/47855
2017-06-23 04:06:20 -07:00
Kubernetes Submit Queue 467705be00 Merge pull request #47195 from dims/bind-cadvisor-on-kubelet-interface
Automatic merge from submit-queue (batch tested with PRs 47922, 47195, 47241, 47095, 47401)

Run cAdvisor on the same interface as kubelet

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

cAdvisor currently binds to all interfaces. Currently the only
solution is to use iptables to block access to the port. We
are better off making cAdvisor to bind to the interface that
kubelet uses for better security.

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

Fixes #11710

**Special notes for your reviewer**:

**Release note**:

```release-note
cAdvisor binds only to the interface that kubelet is running on instead of all interfaces.
```
2017-06-22 21:33:27 -07:00
wlan0 38b060c4fd enable docs and man page autogeneration for cloud-controller-manager 2017-06-22 17:04:26 -07:00
Mike Danese 627c414c1b kubelet should resume csr bootstrap
Right now the kubelet creates a new csr object with the same key every
time it restarts during the bootstrap process. It should resume with the
old csr object if it exists. To do this the name of the csr object must
be stable. Also using a list watch here eliminates a race condition
where a watch event is missed and the kubelet stalls.
2017-06-22 23:45:15 +02:00
p0lyn0mial 074544b3b0 incluster config will be used when creating external shared informers.
previously the loopback configuration was used to talk to the server.
As a consequence a custom API server was unable to talk to the root API server.
2017-06-22 21:48:50 +02:00
Chao Xu 60604f8818 run hack/update-all 2017-06-22 11:31:03 -07:00
Chao Xu f2d3220a11 run root-rewrite-import-client-go-api-types 2017-06-22 11:30:59 -07:00
Chao Xu 7d5dbdaa09 manually fix protogen 2017-06-22 11:30:58 -07:00
Chao Xu e74c17a0ed vendorless path for informer-gen 2017-06-22 11:30:57 -07:00
Chao Xu cde4772928 run ./root-rewrite-all-other-apis.sh, then run make all, pkg/... compiles 2017-06-22 11:30:52 -07:00
Chao Xu e364f5e8ee let conversion-gen to choose localSchemeBuiler 2017-06-22 10:27:42 -07:00
Chao Xu f4989a45a5 run root-rewrite-v1-..., compile 2017-06-22 10:25:57 -07:00
Kubernetes Submit Queue de4c381219 Merge pull request #47877 from ixdy/update-1.7-images
Automatic merge from submit-queue

Update addons with upstream CVE fixes

**What this PR does / why we need it**: refreshes the kube-dns, metadata-proxy, and fluentd-gcp, event-exporter, prometheus-to-sd, and ip-masq-agent addons with new base images containing fixes for the following vulnerabilities:
* CVE-2016-4448
* CVE-2016-9841
* CVE-2016-9843
* CVE-2017-1000366
* CVE-2017-2616
* CVE-2017-9526

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

**Special notes for your reviewer**:

**Release note**:

```release-note
Update kube-dns, metadata-proxy, and fluentd-gcp, event-exporter, prometheus-to-sd, and ip-masq-agent addons with new base images containing fixes for CVE-2016-4448, CVE-2016-9841, CVE-2016-9843,  CVE-2017-1000366, CVE-2017-2616, and CVE-2017-9526.
```
/assign @bowei @MrHohn @Q-Lee @crassirostris @dnardo 
/cc @dchen1107 @timstclair
2017-06-22 09:31:51 -07:00
Kubernetes Submit Queue 96716d3eb4 Merge pull request #47857 from deads2k/agg-35-routing
Automatic merge from submit-queue (batch tested with PRs 47878, 47503, 47857)

restore working aggregator and avoid duplicate informers

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

This runs the informer all the way through and makes sure its started.

@lavalamp ptal
@kubernetes/sig-api-machinery-bugs
2017-06-21 21:12:18 -07:00
Kubernetes Submit Queue aa1c8daf19 Merge pull request #47858 from mikedanese/fix
Automatic merge from submit-queue (batch tested with PRs 47851, 47824, 47858, 46099)

bump the gke-cert-controller wokers to match it's qps

This increases Issuance per second from 2.5 csrs to 5 csrs which is the theoretical limit with the current client side rate limiting.

Issue https://github.com/kubernetes/kubernetes/issues/47855
2017-06-21 15:21:17 -07:00
Jeff Grafton 405f38c43f Update kube-dns images to 1.14.3 2017-06-21 15:13:48 -07:00
deads2k f525c0815e restore working aggregator and avoid duplicate informers 2017-06-21 15:14:59 -04:00
Mike Danese a92eba7be9 bump the gke-cert-controller wokers to match it's qps 2017-06-21 19:08:14 +02:00
Kubernetes Submit Queue 3ea93b2753 Merge pull request #47822 from liggitt/secret-storage-config
Automatic merge from submit-queue

Separate serviceaccount and secret storage config

Fixes #47815, and is required in order to enable the secret encryption feature with a recommended configuration

This passes distinct storage options for serviceaccounts and secrets, since secrets can now have an encrypting transformer associated with them
2017-06-21 08:01:37 -07:00
Kubernetes Submit Queue 9139666704 Merge pull request #47440 from luxas/kubeadm_stable_v17_version
Automatic merge from submit-queue

kubeadm: Use the v1.7 branch by default

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

Makes kubeadm use the v1.7 branch instead of v1.6

**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**:
This should be merged right before the rc.0 is cut I guess

**Release note**:

```release-note
NONE
```
@kubernetes/sig-cluster-lifecycle-pr-reviews
2017-06-21 00:27:47 -07:00
Jordan Liggitt 3de8e52c8a
Separate serviceaccount and secret storage config 2017-06-20 23:49:10 -04:00
Giovanni Tirloni 37c14cdcb6 Add "alpha phase preflight" command
Ref kubernetes/kubeadm#314
2017-06-20 16:14:06 -03:00
NickrenREN 6de7e3f3dc Make different container runtimes constant 2017-06-20 19:58:39 +08:00
xilabao e7f6376b1a add extra args validate 2017-06-20 10:11:43 +08:00
Kubernetes Submit Queue 6bab8dc493 Merge pull request #46812 from lavalamp/whitlockjc-plumbing
Automatic merge from submit-queue (batch tested with PRs 47726, 47693, 46909, 46812)

Plumb service resolver into webhook AC

This is the last piece of plumbing needed for https://github.com/kubernetes/features/issues/209
2017-06-19 18:34:06 -07:00
Kubernetes Submit Queue 6b52d8f138 Merge pull request #47701 from smarterclayton/stable_serialization
Automatic merge from submit-queue (batch tested with PRs 47669, 40284, 47356, 47458, 47701)

Serialized protobuf should have stable map order

Leverage `stable_marshaller_all` tag in gogo-protobuf to ensure all of our maps have stable ordering when serialized to protobuf. This preserves the behavior from JSON that we rely on to avoid writing to etcd except when the content has changed.

Will slightly increase allocations (1 slice per non-empty map in an object) during Encode, which has a minor impact on CPU. However, avoiding writes when a client issues a blind put results in significantly less CPU across the whole cluster (avoiding a new etcd version for an Endpoints object might save ~1 core/sec on large clusters).

Fixes #47678 

```release-note
The protobuf serialization of API objects has been updated to store maps in a predictable order to ensure that the representation of that object does not change when saved into etcd. This prevents the same object from being seen as being modified, even when no values have changed.
```
2017-06-19 15:25:06 -07:00
Kubernetes Submit Queue 1e76d9e1d5 Merge pull request #47356 from dashpole/master_critical_pods
Automatic merge from submit-queue (batch tested with PRs 47669, 40284, 47356, 47458, 47701)

Mark Static pods on the Master as critical

fixes #47277.

A known issue with static pods is that they do not interact well with evictions.  If a static pod is evicted or oom killed, then it will never be recreated.  To mitigate this, we do not evict static pods that are critical.  In addition, non-critical pods are candidates for preemption if a critical pod is scheduled to the node.  If there are not enough allocatable resources on the node, this causes the static pod to be preempted.

This PR marks all static pods in the kube-system namspace as critical.

cc @vishh @dchen1107
2017-06-19 15:25:01 -07:00
Kubernetes Submit Queue 227f52e0cb Merge pull request #47166 from k82cn/type_fix
Automatic merge from submit-queue (batch tested with PRs 46327, 47166)

Fixed typo in comments.

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

```release-note
NONE
```
2017-06-19 11:23:58 -07:00
Kubernetes Submit Queue cc645a8c6f Merge pull request #46327 from supereagle/mark-network-plugin-dir-deprecated
Automatic merge from submit-queue (batch tested with PRs 46327, 47166)

mark --network-plugin-dir deprecated for kubelet

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

**Which issue this PR fixes** : fixes #43967

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-06-19 11:23:54 -07:00
Clayton Coleman cdfbeff1ba
Generate protobuf with stable ordered maps
The default marshalers from gogo-protobuf do not order keys, which means
successive serializations of the same data would result in same bytes.
Kubernetes leverages stable serialization to avoid excessive writes to
etcd when body content has not changed, which reduces the amount of
watch traffic generated by successive callers.

This will have a small memory impact on objects which have maps -
allocating a new string array for each map key. All maps must be keys
because we serialize those to JSON, so non-string types are not
relevant.
2017-06-17 14:32:50 -04:00
Kubernetes Submit Queue 5262a3731c Merge pull request #47688 from caesarxuchao/fix-discovery-admissionregistration
Automatic merge from submit-queue (batch tested with PRs 47626, 47674, 47683, 47290, 47688)

add admissionregistration to the list

Fix https://github.com/kubernetes/kubernetes/issues/47686

The bug is introduced by https://github.com/kubernetes/kubernetes/pull/46800

Any suggestion on how to write a unit test? Or don't bother because the hardcoded list will be gone soon after 1.7?
2017-06-16 19:57:03 -07:00
Kubernetes Submit Queue edc61f528e Merge pull request #47603 from jcbsmpsn/add-files-as-cert-key-source
Automatic merge from submit-queue (batch tested with PRs 38751, 44282, 46382, 47603, 47606)

Add files specified in the kube config as a potential source of cert/…

Fixes #47208

Add files specified in the kube config as a potential source of cert/key data.

Without this change, the kubelet won't use certificates that are specified using file paths in the kubeconfig file. This specifically affects GCE clusters started with kube-up.sh with the RotateKubelet*Certificate feature gate flags enabled, but may affect other configurations.

This change only affects feature gated alpha code.
2017-06-16 18:05:53 -07:00
Chao Xu 743732f9cf add admissionregistration to the list 2017-06-16 17:20:24 -07:00
Daniel Smith 6ff1a9829d generated files 2017-06-16 16:45:14 -07:00
Daniel Smith cadaaa349a Plumb service resolver to webhook AC 2017-06-16 16:45:14 -07:00
Jan Safranek b28790a63b Speed up attach/detach controller integration tests
Internal attach/detach controller timers should be configurable and tests
should use much shorter values.

reconcilerSyncDuration is deliberately left out of TimerConfig because it's
the only one that's not a constant one, it's configurable by user.
2017-06-16 12:15:04 +02:00
Kubernetes Submit Queue 7ad835d74b Merge pull request #47598 from luxas/kubeadm_fix_proxy
Automatic merge from submit-queue (batch tested with PRs 47451, 47410, 47598, 47616, 47473)

kubeadm: Fix kube-proxy regression caused by #46372

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

Fixes: https://github.com/kubernetes/kubeadm/issues/306

**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**:

Required for kubeadm v1.7 to work

**Release note**:

```release-note
NONE
```
@kubernetes/sig-cluster-lifecycle-pr-reviews @cmluciano
2017-06-15 19:52:09 -07:00
Kubernetes Submit Queue e3e8b3f855 Merge pull request #47438 from luxas/kubeadm_fix_v18alpha0_version
Automatic merge from submit-queue (batch tested with PRs 47523, 47438, 47550, 47450, 47612)

kubeadm: Fix subtle versioning ordering issue with v1.8.0-alpha.0

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

`--kubernetes-version latest` is broken since it evals to `v1.8.0-alpha.0` which actually is `v1.7.0-beta.0`, so kubeadm enables features that don't exist

**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-cluster-lifecycle-pr-reviews
2017-06-15 18:54:01 -07:00
Matt Liggett 7bf06583ec update-bazel 2017-06-15 11:38:11 -07:00
Matt Liggett f6bcac3fec Add version and flag info to apiserver and CM logs.
Should help debugging.
Specifically for #45706
2017-06-15 11:38:11 -07:00
Jacob Simpson 694fc52214 Add files specified in the kube config as a potential source of cert/key data. 2017-06-15 10:35:37 -07:00
Lucas Käldström 8628856c86
kubeadm: Fix kube-proxy regression caused by #46372 2017-06-15 19:04:51 +03:00
Kubernetes Submit Queue 08c705e875 Merge pull request #46800 from deads2k/agg-33-priority
Automatic merge from submit-queue (batch tested with PRs 47492, 47542, 46800, 47545, 45764)

separate group and version priority

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


This just modifies the API and does the minimal plumbing.  I can extend this pull or do another to fix the priority problem.
2017-06-14 21:43:44 -07:00
Lucas Käldström 473bb9c1c9
kubeadm: Fix subtle versioning ordering issue 2017-06-14 22:35:50 +03:00
deads2k 963c85e1c8 sort current API versions and fallback for others 2017-06-14 09:29:44 -04:00
deads2k d13ad28420 add group priority to apiservice 2017-06-14 09:29:44 -04:00
Ma Shimiao ec3bbf733d remove unneeded variable
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
2017-06-14 11:54:23 +08:00
Kubernetes Submit Queue 0a1b7d94b4 Merge pull request #46372 from cmluciano/cml/updateproxykubeadm
Automatic merge from submit-queue (batch tested with PRs 47084, 46016, 46372)

Enable iptables -w in kubeadm selfhosted

Currently containerized kube-proxy cannot support iptables -w
unless the xtables.lock is mounted.

Related: #46103

Signed-off-by: Christopher M. Luciano <cmluciano@us.ibm.com>

**Special notes for your reviewer**:
- I need to figure out how to do some pre-setup to touch the file if it does not exist.
**Release note**:
```
support iptables -w in kubeadm containerized kube-proxy
```
2017-06-13 16:53:43 -07:00
Christopher M. Luciano 289c37ae21
Enable iptables -w in kubeadm selfhosted
Currently containerized kube-proxy cannot support iptables -w
unless the xtables.lock is mounted.

Signed-off-by: Christopher M. Luciano <cmluciano@us.ibm.com>
2017-06-13 11:54:40 -04:00
Timothy St. Clair da1bea3427 Add timothysc to kubeadm reviewers 2017-06-13 09:07:39 -05:00
Lucas Käldström 8de41f43e5
kubeadm: Use the v1.7 branch by default 2017-06-13 16:18:33 +03:00
Lucas Käldström 97ea818cc8
kubeadm: Fix subtle versioning ordering issue with v1.8.0-alpha.0 2017-06-13 16:17:13 +03: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 117b6248ef Merge pull request #46678 from tacy/fix46039
Automatic merge from submit-queue

fix#46039: iptables proxier need use '--bind-address' if set

**What this PR does / why we need it**: 
iptables proxier need use '--bind-address' if set

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

**Special notes for your reviewer**:

**Release note**:

```release-note
```
2017-06-12 20:11:22 -07:00
Mike Danese 76493fcb7d set max concurrent namespace syncs to 10 2017-06-12 18:50:00 -07:00
David Ashpole e223eb93b5 make all static system pods critical 2017-06-12 15:22:04 -07:00
Kubernetes Submit Queue df1e289888 Merge pull request #47004 from ixdy/bazel-stamp-multiple-packages
Automatic merge from submit-queue

bazel: stamp multiple packages by using x_defs instead of linkstamp in go_binary rules

**What this PR does / why we need it**: Fixes regression introduced sometime in the last few months that prevented bazel-built clusters from identifying version properly. 

It does so by updating the bazelbuild/rules_go and kubernetes/repo-infra dependencies to support using stamp values in `go_binary` `x_defs`, and then changing our `go_binary` rules to use `x_defs` instead of `linkstamp`.

This whole charade is necessary because we need to stamp version information in multiple packages.

This pretty much only affects the bazel build, so it should be low risk.

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

**Special notes for your reviewer**: depends on https://github.com/kubernetes/repo-infra/pull/18; should not be merged before it.

**Release note**:

```release-note
NONE
```

/assign @spxtr @mikedanese
2017-06-11 00:33:13 -07:00
Kubernetes Submit Queue 9df40c3661 Merge pull request #42156 from croomes/storageos
Automatic merge from submit-queue

StorageOS Volume Plugin

**What this PR does / why we need it**:
This PR adds a new volume plugin for StorageOS volumes.  StorageOS runs as a container on Kubelet nodes, aggregating local or attached storage and making its capacity available to all nodes within the cluster. More information at http://storageos.com.

The StorageOS plugin supports:

1. Dynamic Provisioning using Storage Classes
2. Persistent Volumes and Persistent Volume Claims.

**Which issue this PR fixes**
A feature request has been created:
https://github.com/kubernetes/features/issues/190

This isn't on the schedule for 1.6 as I wasn't sure when it would be ready.  We intend to make the StorageOS container openly available within the 1.6 lifetime.

**Special notes for your reviewer**:

Separate commits for feature and godep changes.

**Release note**:
```release-note
StorageOS Volume Driver
[StorageOS](http://www.storageos.com) can be used as a storage provider for Kubernetes.  With StorageOS, capacity from local or attached storage is pooled across the cluster, providing converged infrastructure for cloud-native applications. 
```
2017-06-09 18:25:04 -07:00
Kubernetes Submit Queue e1efc5465d Merge pull request #45057 from caesarxuchao/fix-conversion-for-pr
Automatic merge from submit-queue (batch tested with PRs 45057, 47259)

Allow conversion-gen to take types that are not in the output path

Part of fixing https://github.com/kubernetes/kubernetes/issues/44065.

Partially address https://github.com/kubernetes/features/issues/282.

The first commit is the changes to the conversion-gen (and vendor).

The second commit moves the api/v1 types to staging, and the third commit shows the resulted changes in the generated conversions.
2017-06-09 15:16:41 -07:00
Simon Croome 5e2503e71f Add StorageOS volume plugin 2017-06-09 13:19:27 +01:00
Jeff Grafton 64bd79fad7 Convert go_binary linkstamp to x_defs 2017-06-08 14:59:55 -07:00
Davanum Srinivas 7e5c43a042 Run cAdvisor on the same interface as kubelet
cAdvisor currently binds to all interfaces. Currently the only
solution is to use iptables to block access to the port. We
are better off making cAdvisor to bind to the interface that
kubelet uses for better security.

Fixes #11710
2017-06-08 16:43:38 -04:00
Dr. Stefan Schimanski 342a8fc657 kube-apiserver: cleanup node proxy setup code 2017-06-08 18:20:16 +02:00
Kubernetes Submit Queue 2bcd3d1a01 Merge pull request #46879 from luxas/kubeadm_enable_node_authorizer
Automatic merge from submit-queue

kubeadm: Enable the Node Authorizer/Admission plugin in v1.7

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

This is similar to https://github.com/kubernetes/kubernetes/pull/46796, but for kubeadm.
Basically it was a part of https://github.com/kubernetes/kubernetes/pull/46796, but there were some other upgradability and compability concerns for kubeadm I took care of while working today.

Example:

```console
$ kubeadm init --kubernetes-version v1.7.0-beta.0
[kubeadm] WARNING: kubeadm is in beta, please do not use it for production clusters.
[init] Using Kubernetes version: v1.7.0-beta.0
[init] Using Authorization mode: [RBAC Node]
...
$ sudo kubectl --kubeconfig=/etc/kubernetes/kubelet.conf get secret foo
Error from server (Forbidden): User "system:node:thegopher" cannot get secrets in the namespace "default".: "no path found to object" (get secrets foo)

$ echo '{"apiVersion":"v1","kind":"Node","metadata":{"name":"foo"}}' | sudo kubectl create -f - --kubeconfig=/etc/kubernetes/kubelet.conf
Error from server (Forbidden): error when creating "STDIN": nodes "foo" is forbidden: node thegopher cannot modify node foo
```

**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**:

Depends on https://github.com/kubernetes/kubernetes/pull/46864 (uses that PR as a base, will rebase once it's merged)

Please only review the second commit. Will also fix tests in a minute.

**Release note**:

```release-note
kubeadm: Enable the Node Authorizer/Admission plugin in v1.7 
```
@mikedanese @liggitt @pipejakob @roberthbailey @jbeda @timothysc
2017-06-08 05:26:58 -07:00
Klaus Ma 74bfe8fcdd Fixed typo in comments. 2017-06-08 16:30:42 +08:00
Kubernetes Submit Queue 7e0c9e7919 Merge pull request #47081 from luxas/kubeadm_postinst_idempotency
Automatic merge from submit-queue (batch tested with PRs 47024, 47050, 47086, 47081, 47013)

kubeadm: Make the creation of the RBAC rules phase idempotent

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

Bugfix: Currently kubeadm fails with a non-zero code if resources it's trying to create already exist. This PR fixes that by making kubeadm try to Update resources that already exist.

After this PR, https://github.com/kubernetes/kubernetes/pull/46879 and a beta.1 release, kubeadm will be fully upgradeable from v1.6 to v1.7 using only kubeadm init.

Last piece of https://github.com/kubernetes/kubeadm/issues/288

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

Fixes: https://github.com/kubernetes/kubeadm/issues/288

**Special notes for your reviewer**:

**Release note**:

```release-note
kubeadm: Modifications to cluster-internal resources installed by kubeadm will be overwritten when upgrading from v1.6 to v1.7.
```
@pipejakob @mikedanese @timothysc
2017-06-07 16:53:45 -07:00
Chao Xu ab71a6ec60 fix conversion-gen 2017-06-07 16:23:25 -07:00
Kubernetes Submit Queue 69342bd1df Merge pull request #43005 from cmluciano/cml/consolidatesysctl
Automatic merge from submit-queue (batch tested with PRs 43005, 46660, 46385, 46991, 47103)

Consolidate sysctl commands for kubelet

**What this PR does / why we need it**:
These commands are important enough to be in the Kubelet itself.
By default, Ubuntu 14.04 and Debian Jessie have these set to 200 and
20000. Without this setting, nodes are limited in the number of
containers that they can start.

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

**Special notes for your reviewer**:
I had a difficult time writing tests for this. It is trivial to create a fake sysctl for testing, but the Kubelet does not have any tests for the prior settings.
**Release note**:

```release-note
```
2017-06-07 13:30:54 -07:00
Lucas Käldström b7700ef4dd
kubeadm: Enable the Node Authorizer in v1.7 and fix some small bugs related to the enablement 2017-06-07 21:07:49 +03:00
Lucas Käldström 1b93a6a10e
kubeadm: Make the creation of the RBAC rules phase idempotent 2017-06-07 17:39:26 +03:00
Kubernetes Submit Queue f89d2493f1 Merge pull request #47121 from sttts/sttts-kube-apiserver-owner
Automatic merge from submit-queue

kube-apiserver: add myself to OWNERS
2017-06-07 04:48:08 -07:00
Dr. Stefan Schimanski d2a257a077 kube-apiserver: add myself to OWNERS 2017-06-07 12:43:38 +02:00
Cao Shufeng cf8e3ccf19 Add Validate() function for audit options 2017-06-07 16:53:02 +08:00
Kubernetes Submit Queue 0613ae5077 Merge pull request #46669 from kow3ns/statefulset-update
Automatic merge from submit-queue (batch tested with PRs 46235, 44786, 46833, 46756, 46669)

implements StatefulSet update

**What this PR does / why we need it**:
1. Implements rolling update for StatefulSets
2. Implements controller history for StatefulSets.
3. Makes StatefulSet status reporting consistent with DaemonSet and ReplicaSet.

https://github.com/kubernetes/features/issues/188

**Special notes for your reviewer**:

**Release note**:
```release-note
Implements rolling update for StatefulSets. Updates can be performed using the RollingUpdate, Paritioned, or OnDelete strategies. OnDelete implements the manual behavior from 1.6. status now tracks 
replicas, readyReplicas, currentReplicas, and updatedReplicas. The semantics of replicas is now consistent with DaemonSet and ReplicaSet, and readyReplicas has the semantics that replicas did prior to this release.
```
2017-06-07 00:27:53 -07:00
Kubernetes Submit Queue f33a5f8bff Merge pull request #44125 from amacneil/kubeadm-instructions
Automatic merge from submit-queue

kubeadm: improve quickstart instructions

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

Improves instructional output following setup of a kubernetes master with kubeadm.

This helps prevent unnecessary support overhead such as: https://github.com/kubernetes/kubeadm/issues/212#issuecomment-292015402

**Example current output**:

```
To start using your cluster, you need to run (as a regular user):

  sudo cp /etc/kubernetes/admin.conf $HOME/
  sudo chown $(id -u):$(id -g) $HOME/admin.conf
  export KUBECONFIG=$HOME/admin.conf
```

**Example new output**:

```
To start using your cluster, you need to run (as a regular user):

  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config
```

**Release note**:

```release-note
NONE
```
2017-06-06 15:01:23 -07:00
Kenneth Owens 1a784ef86f Auto generated code for StatefulSet update 2017-06-06 13:47:19 -07:00
Kubernetes Submit Queue 4a01f44b73 Merge pull request #46988 from p0lyn0mial/rename_some_admission_pkg
Automatic merge from submit-queue (batch tested with PRs 46718, 46828, 46988)

Simply changed the names of packages of some admission plugins.

**What this PR does / why we need it**:
This PR simply changes the names of packages of some admission plugins so that they are not in conflict with admission pkg.

**Release note**:

```release-note
NONE
```
2017-06-06 11:43:20 -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
Adrian Macneil 4a2cd62080 kubeadm: improve quickstart instructions 2017-06-06 07:56:32 -07:00