Commit Graph

64464 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
b2f19b0d0d
Merge pull request #62057 from cofyc/fixlocalupscript
Automatic merge from submit-queue (batch tested with PRs 58784, 62057, 62621, 62652, 62656). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Update docker run flags for containized kubelet in hack/local-up-cluster.sh

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

I'm working on https://github.com/kubernetes/kubernetes/issues/61741, and found `docker run` flags in `hack/local-up-cluster.sh` for kubelet container is too old.

- /var/lib/docker should be mount read-write, because kubelet needs to
  update /etc/resolv.conf file in container, see #29378
- /var/lib/kubelet should be mount shared, because mountpoints under
  this directory must be propagated to other containers
- `--pid=host` is needed to run `nsenter --mount=/rootfs/proc/1/ns/mnt -- /usr/bin/systemd-run --scope` correctly (don't know exact reason, but with `--pid=host`, it works)
- configure cluster dns for kubelet running in a container
- should propagate sub-mounts of / to kubelet for local volume

With this fix, we can start a local cluster with containerized kubelet.

```
# pull or build a hyperkube image first
docker tag k8s.gcr.io/hyperkube-amd64:<tag> k8s.gcr.io/kubelet:latest
export DOCKERIZE_KUBELET=y
./hack/local-up-cluster.sh
```

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

**Special notes for your reviewer**:

refer to: https://github.com/kubernetes/kubernetes-anywhere/blob/master/phase2/ignition/vanilla/kubelet.service.

**Release note**:

```release-note
NONE
```
2018-04-16 12:58:14 -07:00
Kubernetes Submit Queue
229ab73ada
Merge pull request #58784 from wackxu/reminit
Automatic merge from submit-queue (batch tested with PRs 58784, 62057, 62621, 62652, 62656). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

remove deprecated initresource admission plugin

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

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

xref https://github.com/kubernetes/kubernetes/pull/55375#issuecomment-360329586

**Special notes for your reviewer**:
/assign @piosz @deads2k 

**Release note**:

```release-note
remove deprecated initresource admission plugin
```
2018-04-16 12:58:11 -07:00
mkimuram
0ee71f0cc2 Add binding error message for volumeMode:Block unsupported case
This commit adds a binding error message for volumeMode:Block
unsupported case.
With this message, users can understand why PV is not bound to
PVC on both dynamic provisioning and manually creating volume.

This patch works as follows:

- In syncVolume, before adding the claim to claimQueue, check if
  there is a volumeMode mismatch, and if there is, record the
  event for both pv and pvc and skip adding to the queue.

fixes: #59942
2018-04-16 15:22:35 -04:00
wojtekt
1bcdfdbe00 Increase max requests inflight limits in gce for very large clusters 2018-04-16 20:46:41 +02:00
immutablet
bfcb3cd91f Instrument transformer.go with latency metrics. 2018-04-16 11:33:10 -07:00
Zihong Zheng
0949e036c8 Update kube-dns to Version 1.14.10. Major changes:
- Fix a bug in DNS resolution for externalName services
and PTR records that need to query from upstream nameserver.
2018-04-16 11:00:15 -07:00
Ashley Gau
aad92ba816 remove parallel 2018-04-16 09:29:28 -07:00
Mike Danese
54f5f6752a kubelet: add configuration to optionally enable server tls bootstrap
right now if the RotateKubeletServerCertificate feature is enabled,
kubelet will bootstrap server tls. this is undesirable if the deployment
is not or cannot run an approver to handle these certificate signing
requests.
2018-04-16 09:20:00 -07:00
Kubernetes Submit Queue
2bdca2b75f
Merge pull request #62647 from shyamjvs/capture-api-logs-in-kubemark-master
Automatic merge from submit-queue (batch tested with PRs 62407, 62602, 62539, 62639, 62647). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Capture API call logs from kubemark apiserver

Ref https://github.com/kubernetes/kubernetes/issues/62468

/cc @wojtek-t 

```release-note
NONE
```
2018-04-16 08:55:21 -07:00
Kubernetes Submit Queue
347b13d5bb
Merge pull request #62639 from shyamjvs/autocalculate-allowed-num-nodes-unready
Automatic merge from submit-queue (batch tested with PRs 62407, 62602, 62539, 62639, 62647). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Autocalculate ALLOWED_NOTREADY_NODES based on NUM_NODES

As an alternative for https://github.com/kubernetes/test-infra/pull/7698

/cc @wojtek-t

```release-note
NONE
```
2018-04-16 08:55:18 -07:00
Kubernetes Submit Queue
c47b147f47
Merge pull request #62539 from krzysied/kubemark_img_repo_fix
Automatic merge from submit-queue (batch tested with PRs 62407, 62602, 62539, 62639, 62647). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fix kubemark image-registry name assignment

Allows to create kubemark instance without explicitly specifying the project name.
start-kubemark.sh used to not run properly when using project name acquired from the cloud provider.

```release-note
NONE
```
2018-04-16 08:55:15 -07:00
Kubernetes Submit Queue
c68f05521c
Merge pull request #62602 from shyamjvs/retryable-api-error-change
Automatic merge from submit-queue (batch tested with PRs 62407, 62602, 62539, 62639, 62647). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add ConnectionReset, InternalError, etc also as retryable API errors

Ref https://github.com/kubernetes/kubernetes/issues/55860

We're seeing transient InternalError causing failures for e.g in our GKE large-scale tests:
- https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/logs/ci-kubernetes-e2e-gke-large-performance/34
- https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/logs/ci-kubernetes-e2e-gke-large-performance/35

I'm making the change from what we're doing for webhooks - https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apiserver/pkg/util/webhook/webhook.go#L107-L114

```release-note
NONE
```

/cc @wojtek-t
2018-04-16 08:55:10 -07:00
Kubernetes Submit Queue
5899ee63ff
Merge pull request #62407 from php-coder/do_not_build_attachlease
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

hack/test-update-storage-objects.sh: don't build a binary that the script doesn't use

**What this PR does / why we need it**:
This PR removes unused code that was building a binary that script doesn't use.

**Special notes for your reviewer**:
`hack/test-update-storage-objects.sh` used `attachlease` and `migrate-if-needed.sh` for performing etcd2 -> etcd3 migration. In the commit 39e5a56691 we stopped migrating data, but still built unused `attachlease` binary.

Later, in the dc4d92e154 commit, `migrate-if-needed.sh` was reimplemented in go and unused `attachlease` was replaced by `migrate` that also wasn't needed.
2018-04-16 08:31:42 -07:00
Slava Semushin
ff636f25c0 Move podsecuritypolicy registry to policy package. 2018-04-16 17:21:52 +02:00
Shyam Jeedigunta
94f28cf814 Set kubemark default verbosity to 4 2018-04-16 16:16:43 +02:00
Kubernetes Submit Queue
8535ef60ed
Merge pull request #62620 from andyzhangx/andyzhangx-reviewer
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

add andyzhangx as windows related code Reviewer of pkg/util/mount

**What this PR does / why we need it**:
I just found recently there is some feature not working on windows storage, e.g. local, hostpath volume etc. So I woul like to be a reviewer for windows related code of volume storage. The windows code under https://github.com/kubernetes/kubernetes/tree/master/pkg/util/mount are mostly implemented by me,  I am quite familiar with this component.  Just let me know if it's ok, thanks.

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

**Special notes for your reviewer**:

**Release note**:

```
none
```
2018-04-16 06:48:27 -07:00
Kubernetes Submit Queue
a2ccd3ac22
Merge pull request #57519 from neolit123/cleanup
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

kubeadm/phases: small grammar improvements

**What this PR does / why we need it**:
small grammar fixes and cleanup in `kubeadm/phases`.

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

**Special notes for your reviewer**:
none

**Release note**:

```release-note
NONE
```
Lubomir (VMware)
2018-04-16 06:48:06 -07:00
hzxuzhonghu
8f98af9459 Show deprecated kube-apiserver flags 2018-04-16 21:20:06 +08:00
Shyam Jeedigunta
9f3f998add Capture API call logs from kubemark apiserver 2018-04-16 15:07:32 +02:00
Kubernetes Submit Queue
5e50a0fb7a
Merge pull request #62611 from feiskyer/vmss-standard
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fix machineID getting for vmss nodes when using instance metadata

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

When instancemetadata is for Kubelet on master nodes , kubelet is not able to register itself with errors:

```sh
Unable to construct v1.Node object for kubelet: failed to get external ID from cloud provider: not a vmss instance
```

This PR fixes this issue by composing standard instance ID for such nodes.

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

**Special notes for your reviewer**:

Need cherry pick to 1.10.

**Release note**:

```release-note
Fix machineID getting for vmss nodes when using instance metadata
```

/assign @andyzhangx
2018-04-16 05:56:03 -07:00
Shyam Jeedigunta
2767dd3d79 Autocalculate ALLOWED_NOTREADY_NODES based on NUM_NODES 2018-04-16 13:59:23 +02:00
Shyam Jeedigunta
7ab5bea961 Add ConnectionReset, InternalError, etc also as retryable API errors 2018-04-16 13:50:56 +02:00
xiangpengzhao
213e8f52f9 Support groups (organizations) to be specified in client cert. 2018-04-16 17:08:34 +08:00
Kubernetes Submit Queue
e36fa85ec2
Merge pull request #62556 from msau42/fix-node-selector-term
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fix volume node affinity to OR node selector terms

**What this PR does / why we need it**:
Fixes node selector terms to be ORed, to be consistent with documentation and Pod.NodeAffinity.  Also handles the "node selector term nil or empty matches nothing" behavior.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
Fixes issue where PersistentVolume.NodeAffinity.NodeSelectorTerms were ANDed instead of ORed.
```
2018-04-16 01:57:04 -07:00
xiangpengzhao
b0bdaa3a4c Fix garbled code in kubeadm output 2018-04-16 16:56:20 +08:00
Kubernetes Submit Queue
0eb364a313
Merge pull request #62572 from joelsmith/master
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Prevent virtual infinite loop in volume controller

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

In WatchPod(), if one of the two channels being watched (pod updates and events) is closed, the for/select loop turns into a tight infinite loop because the select immediately falls through due to the channel being closed.

This PR changes WatchPod() to Watch the two channels independently instead.

**Which issue(s) this PR fixes**:
Fixes #62571

**Release note**:
```release-note
Fix potential infinite loop that can occur when NFS PVs are recycled.

```
2018-04-16 00:58:23 -07:00
andyzhangx
1e00396fc8 add andyzhangx as Reviewer 2018-04-16 07:13:15 +00:00
andyzhangx
3a0fb103c2 fix devicePath update issue in Azure WaitForAttach func
add WaitForAttach logging
2018-04-16 05:52:16 +00:00
Pengfei Ni
8a287d2114 Fix machineID getting for vmss nodes when using instance metadata 2018-04-16 13:36:12 +08:00
vikaschoudhary16
cedbd93255 Make 'pod' package to use unified checkpointManager
Signed-off-by: vikaschoudhary16 <choudharyvikas16@gmail.com>
2018-04-16 01:30:20 -04:00
vikaschoudhary16
d62bd9ef65 Node-level Checkpointing manager 2018-04-16 00:19:42 -04:00
Pengfei Ni
f12b8eb497 Fix use visible files creation for windows 2018-04-16 11:12:17 +08:00
Kubernetes Submit Queue
2ef566d0c3
Merge pull request #62007 from m1093782566/kube-forward
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fix Forward chain default reject policy for IPVS proxier

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

Testing with the IPVS mode proxier on a host with iptables FORWARD policy = DROP, as configured by docker in recent versions, I found that traffic to NodePorts failed when the NodePort forwarded the traffic to another node.

Saw the iptables FORWARD=DROP counter increasing with each packet.

IPVS mode should whitelist such traffic in a similar way to the iptables mode:

PR implementing the fix for iptables mode: #52569

**Which issue(s) this PR fixes**:
Fixes #59656

**Special notes for your reviewer**:

**Release note**:

```release-note
Fix Forward chain default reject policy for IPVS proxier
```
2018-04-15 20:01:42 -07:00
Kubernetes Submit Queue
860403dada
Merge pull request #62275 from CaoShuFeng/resourcequota_code
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

not return 500 status code for insufficient quota

This is not an unexpected error, so it should not return a 500 code, I think.
@derekwaynecarr 

**Release note**:
```release-note
NONE
```
2018-04-15 15:49:53 -07:00
WanLinghao
c1e5b1bf2c Clean unused error type variable
The function which invoked this variable
	was removed by
	https://github.com/kubernetes/kubernetes/pull/58725/
2018-04-15 14:05:55 +08:00
Bobby (Babak) Salamat
c590ec7ae9 Fix an issue in inter-pod affinity predicate that cause affinity to self being processed incorrectly 2018-04-14 19:46:38 -07:00
Bobby (Babak) Salamat
4d7fff1257 Add test to ensure anti-affinity matches against all terms 2018-04-14 19:32:58 -07:00
Kubernetes Submit Queue
ee4d90aaa6
Merge pull request #62505 from mtaufen/show-deprecated-help
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Show help for deprecated Kubelet flags

We recently deprecated a bunch of Kubelet flags, which caused them to disappear from `--help` output. This PR unhides these flags, so that the deprecation notice is clearly visible in `--help`.

Fixes: #62009

```release-note
NONE
```

/cc @eparis
2018-04-14 12:21:01 -07:00
Trevor Wood
8e8489d5a9
kubeadm preflight: check socket path if defined otherwise check docker 2018-04-14 12:47:15 -05:00
Kubernetes Submit Queue
041a3c7dce
Merge pull request #60539 from Pingan2017/infovolumnhost
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

use glog.Infof instead of glog.Info in volumn_host

**What this PR does / why we need it**:
use glog.Infof instead of glog.Info
**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-04-14 09:09:42 -07:00
Jordan Liggitt
e43f1f65e5
Make x-kubernetes-print-column print handling opt-in 2018-04-14 11:56:08 -04:00
Kubernetes Submit Queue
e3cbaf0638
Merge pull request #62565 from agau4779/gce-lb-tests
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

[GCE] Loadbalancer Tests

**What this PR does / why we need it**:
* Refactors existing Loadbalancer tests
    - Create a new v1.Service per test, instead of a global one
    - Encapsulate checking resource creation/deletion for internal and external loadbalancers in functions
* Adds tests for `gce_loadbalancer.go` - brings coverage from 10.3% -> 65.4%

**Release note**:
```release-note
NONE
```
2018-04-13 22:35:57 -07:00
Joel Smith
917356f8e0 Prevent virtual infinite loop in volume controller
In WatchPod(), if one of the two channels being watched (pod updates and
events) is closed, the for/select loop turns into a tight infinite loop because
the select immediately falls through due to the channel being closed. Watch
them independently instead.
2018-04-13 21:19:45 -06:00
Yecheng Fu
0f9b0beee7 Fix docker run flags and kubelet flags for containized kubelet:
- /var/lib/docker should be mount read-write, because kubelet needs to
  update /etc/resolv.conf file in container, see #29378
- /var/lib/kubelet should be mount rslave, because mountpoints under
  this directory must be propagated to other containers
- `--pid=host` is needed to run `nsenter --mount=/rootfs/proc/1/ns/mnt -- /usr/bin/systemd-run --scope` correctly
- configure cluster dns for kubelet running in a container
- should propagate sub-mounts of / to kubelet for local volume
- Use rslave to mount /var/lib/docker/ so we can see what the host
  mounts under this path.
- Keep containerized kubelet flags same as non-containerized and check
  kubelet is running or not.
- Use `all_kubelet_flags` to share kubelet flags.
2018-04-14 11:15:24 +08:00
Da K. Ma
d8e6dbf505 Removed no-empty validation of nodeSelectorTerm.matchExpressions.
Signed-off-by: Da K. Ma <klaus1982.cn@gmail.com>
2018-04-14 09:22:19 +08:00
Kubernetes Submit Queue
a62a157c48
Merge pull request #60663 from neolit123/test-version
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

kubeadm: add better test coverage to version.go

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

This PR adds unit tests for the file `kubeadm/app/cmd/version.go` via `version_test.go`. Test coverage is increased to 90% for this file. only a couple of functions are tested.

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

None

**Special notes for your reviewer**:

related PRs:
https://github.com/kubernetes/kubernetes/pull/59220
https://github.com/kubernetes/kubernetes/pull/58540

**Release note**:

```release-note
NONE
```
2018-04-13 17:50:15 -07:00
Michael Taufen
a9ccded269 unhide deprecated Kubelet flags 2018-04-13 17:08:48 -07:00
Michael Taufen
b02f116172 update godeps to use latest pflag 2018-04-13 17:08:48 -07:00
Kubernetes Submit Queue
c048cbcf93
Merge pull request #62314 from rjosephwright/endpoint-port
Automatic merge from submit-queue (batch tested with PRs 58540, 62314). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add ability to specify port for kubeadm `API.ControlPlaneEndpoint`

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

When `API.ControlPlaneEndpoint` is used, the `BindPort` of the
apiserver is currently assumed, which means a load balancer cannot
listen on a different port than the apiserver. This extends the
`ControlPlaneEndpoint` to take an optional port which may differ
from the apiserver's `BindPort`.

**Release note**:

```release-note
The kubeadm config option `API.ControlPlaneEndpoint` has been extended to take an optional port which may differ from the apiserver's bind port.
```
2018-04-13 17:00:04 -07:00
Kubernetes Submit Queue
160d8f9bc0
Merge pull request #58540 from neolit123/test-reset
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

kubeadm: add better test coverage to reset.go

**What this PR does / why we need it**:
a PR for adding some more tests in `kubeadm/cmd` for `reset.go`.
increasing coverage from ~11% to ~92%

the remaining 8% are kind of hard to test or not worth the complexity.

original idea to add more tests in kubeadm was suggested to me by @luxas at slack.
in time, i might add better coverage to all cmd `.go` files.

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

please, link issue # if you know of such.

**Special notes for your reviewer**:
none

**Release note**:

```release-note
NONE
```
2018-04-13 16:57:40 -07:00