Commit Graph

5972 Commits

Author SHA1 Message Date
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
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
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
Kubernetes Submit Queue
a5f2655d64 Merge pull request #62183 from mtaufen/gce-kc-metadata
Automatic merge from submit-queue (batch tested with PRs 62486, 62471, 62183). 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>.

provision kubelet config file for GCE instead of deprecated flags

Many Kubelet flags are now deprecated in favor of the versioned config file format. This PR adopts the versioned config file format in our cluster turn-up scripts.

```release-note
cluster/kube-up.sh now provisions a Kubelet config file for GCE via the metadata server. This file is installed by the corresponding GCE init scripts.
```
2018-04-13 16:01:13 -07:00
Kubernetes Submit Queue
0f3de97db9 Merge pull request #60270 from stewart-yu/splitFlag
Automatic merge from submit-queue (batch tested with PRs 61306, 60270, 62496, 62181, 62234). 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>.

split up the huge set of flags into smaller option structs

**What this PR does / why we need it**:
To make generic, we do following work:

1.  Spliting `KubeControllerManagerConfiguration` in kube-controller-manager and cloud-controller-manager into fewer smaller struct options order by controller, and modify relative flag. Also part of #59483.
2. Spliting `componentconfig` in controller-manager into fewer smaller config order by controller too.

All works follow #59582, using `option+config` logic.

**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-13 15:03:07 -07:00
Joseph Wright
f558359315 Add ability to specify port for kubeadm API.ControlPlaneEndpoint
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`.
2018-04-13 16:46:12 -04:00
Michael Taufen
420edc7b50 provision Kubelet config file for GCE
This PR extends the client-side startup scripts to provision a Kubelet
config file instead of legacy flags. This PR also extends the
master/node init scripts to install this config file from the GCE
metadata server, and provide the --config argument to the Kubelet.
2018-04-13 13:08:38 -07:00
Kubernetes Submit Queue
ac57bbea3a Merge pull request #60476 from xiangpengzhao/remove-todos
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>.

Remove invalid TODOs in kubeadm constants.

**What this PR does / why we need it**:
These TODOs are invalid now.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
ref https://github.com/kubernetes/kubeadm/issues/571#issuecomment-347408384

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-04-13 11:01:00 -07:00
Kubernetes Submit Queue
9139d01c8f Merge pull request #62374 from hzxuzhonghu/kubeapiserver-owners
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 myself to kube-apiserver/apiserver reviewers

**Release note**:

```release-note
NONE
```
2018-04-13 07:50:07 -07:00
Kubernetes Submit Queue
eaf4238e2c Merge pull request #62289 from chuckha/align-plan-output
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>.

Fixes kubeadm upgrade plan output

Closes kubernetes/kubeadm#713

Aligns `kubeadm upgrade plan` output when kubelets have different versions.

Signed-off-by: Chuck Ha <ha.chuck@gmail.com>

**What this PR does / why we need it**:
This PR fixes the output of `kubeadm upgrade plan` when kubelets have different versions.

**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 kubernetes/kubeadm#713

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-04-13 07:49:48 -07:00
stewart-yu
ea376c9c6f auto generated file 2018-04-13 08:57:40 +08:00
stewart-yu
ec6399be53 split up the component config into smaller config 2018-04-13 08:40:54 +08:00
stewart-yu
75e39073a3 split KubeControllerManagerConfiguration into fewer options struct 2018-04-13 08:40:54 +08:00
Kubernetes Submit Queue
38da981ab7 Merge pull request #60852 from karan/kubeadm-cluster-name
Automatic merge from submit-queue (batch tested with PRs 58178, 62491, 60852). 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 support for clusterName in config file.

**What this PR does / why we need it**: Adds a `--cluster-name` arg to kubeadm init.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
See https://github.com/kubernetes/kube-deploy/issues/636
Code inspired by #52470

**Special notes for your reviewer**:

**Release note**:

```release-note
Adds --cluster-name to kubeadm init for specifying the cluster name in kubeconfig.
```
2018-04-12 15:40:10 -07:00
Kubernetes Submit Queue
9816b43188 Merge pull request #61198 from jpbetz/etcd-3.2-upgrade-reattempt
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>.

Update default etcd server to 3.2 for kubernetes 1.11

Repply #59836 but with latest etcd 3.2 patch version (3.2.18 which includes mvcc fix and leader election timeout fix) and default `--snapshot-count` to 10k to resolve performance regression in previous etcd 3.2 server upgrade attempt (https://github.com/kubernetes/kubernetes/issues/60589#issuecomment-372458578).

See https://github.com/kubernetes/kubernetes/issues/60589#issuecomment-372458578 for details on the root cause of the performance regression and scalability test results of setting `--snapshot-count` to 10k.

```release-note
Upgrade the default etcd server version to 3.2.18
```
@gyuho @shyamjvs @jdumars @timothysc
2018-04-12 10:46:42 -07:00
Karan Goel
2ca8d9553d Remove clusterName flag, just use config file 2018-04-12 10:25:55 -07:00
Kubernetes Submit Queue
c07caaa7fa Merge pull request #62455 from fabriziopandini/kubeadm-731
Automatic merge from submit-queue (batch tested with PRs 62455, 62465, 62427, 62416, 62411). 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 kubeadm upgrade ignores HighAvailability feature gate

**What this PR does / why we need it**:
This PR fixes https://github.com/kubernetes/kubeadm/issues/731

**Which issue(s) this PR fixes**:
Fixes https://github.com/kubernetes/kubeadm/issues/731

**Special notes for your reviewer**:
The problem is a regression introduced by [#55952](https://github.com/kubernetes/kubernetes/pull/55952) which added a --feature-gates 
flag to `kubeadm upgrade`, to be used for updating feature gates during the upgrade process (so it is update + upgrade). 

The original implementation always override the actual feature gates with the flag value, even when the flag is not set; this PR fixes this behaviour making `kubeadm upgrade` considers the flag value only if set, otherwise actual feature gates will be preserved.

/cc @kubernetes/sig-cluster-lifecycle-pr-reviews @kubernetes/sig-cluster-lifecycle-bugs 

**Release note**:
```release-note
Fixed #731 kubeadm upgrade ignores HighAvailability feature gate
```
2018-04-12 08:54:08 -07:00
Kubernetes Submit Queue
a71393a382 Merge pull request #62239 from mahuihuang/fix_grammar_mistake
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 grammar mistake

Fix grammar mistake!
2018-04-12 07:16:03 -07:00
fabriziopandini
22409e8fa9 fix kubeadm-731 2018-04-12 11:21:23 +02:00
Joe Betz
a795cb61bc Bump etcd default server version to 3.2.18 2018-04-11 21:12:44 -07:00
Kubernetes Submit Queue
8d1a4cae79 Merge pull request #60585 from alexbrand/kubeadm-external-etcd-preflight
Automatic merge from submit-queue (batch tested with PRs 60585, 62398, 62258, 62042). 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: surface external etcd preflight validation errors

**What this PR does / why we need it**: 
This PR fixes a bug where errors that could occur while running preflight against an external etcd cluster were not being surfaced to the user.

**Which issue(s) this PR fixes** :
Fixes https://github.com/kubernetes/kubeadm/issues/719

**Release note**:

```release-note
kubeadm: surface external etcd preflight validation errors
```
2018-04-11 17:31:19 -07:00
Joe Betz
1d2a090260 Explicitly set etcd --snapshot-count to 10000 to match etcd 3.2 default 2018-04-11 16:49:54 -07:00
Kubernetes Submit Queue
0dcc9abc0d Merge pull request #62212 from yujuhong/mv-network-pkg
Automatic merge from submit-queue (batch tested with PRs 62425, 62212, 60824, 62383, 62384). 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>.

Clean up the network plugin code

Moves the `pkg/kubelet/network` package down to `dockershim` since network
setup is done by the runtime. Also remove various interfaces/code added only for
backward compatibility with non-CRI runtimes, which are now removed from the
codebase.

**Release note**:

```release-note
NONE
```
2018-04-11 16:36:15 -07:00
Kubernetes Submit Queue
c8cded58d7 Merge pull request #56956 from Lion-Wei/kubeadm-1
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>.

validate AdvertiseAddress in kubeadm init and other case

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

When using `kubeadm init --apiserver-advertise-address=****, `apiserver-advertise-address` can only be ipv4 or ipv6 address, if people use domain name in this field, will not use it and silently get hostIP.

Add a warning in this case.

**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 kubernetes/kubeadm#590

**Special notes for your reviewer**:

**Release note**:
```release-note
NONE
```
2018-04-11 14:33:31 -07:00
Karan Goel
73bb511a44 optional field removed in test 2018-04-11 11:12:16 -07:00
Karan Goel
169792b3fb Remove the default clustername, and make it optional in api 2018-04-11 09:55:49 -07:00
Karan Goel
24d6483558 Add --cluster-name to kubeadm 2018-04-11 09:42:31 -07:00
Yu-Ju Hong
4f9d4e1af6 Update bazel BUILD files
Also update the golint_failure file to reflect the new location.
2018-04-11 09:26:02 -07:00
Yu-Ju Hong
42398825ed Move the kubelet network package down to dockershim
With CRI, kubelet no longer sets up networking for the pods. The
dockershim package is the rightful owner and the only user of the
newtork package. This change moves the package into dockershim to make
the distinction obvious, and untangles the codebase.

The`network/dns`is kept in the original package since it is only used by
kubelet.
2018-04-11 09:25:56 -07:00
Yu-Ju Hong
9a76f73978 Move hairpin mode logic to dockershim
Also moves the CNI binary directory parsing logic into dockerhsim.
2018-04-11 09:21:17 -07:00
Yu-Ju Hong
37d30a0815 Remove outdated network plugin code
The code was added to support rktnetes and non-CRI docker integrations.
These legacy integrations have already been removed from the codebase.
This change removes the compatibility code existing soley for the
legacy integrations.
2018-04-11 09:21:17 -07:00
Alexander Brand
b7ef952d8d kubeadm: surface external etcd preflight validation errors
Signed-off-by: Alexander Brand <alexbrand09@gmail.com>
2018-04-11 09:55:16 -04:00
hzxuzhonghu
bcb4169a59 add myself to apiserver owners 2018-04-11 16:25:26 +08:00
Kubernetes Submit Queue
0023c4112b Merge pull request #57661 from vbmade2000/KUBE-ISSUE-340
Automatic merge from submit-queue (batch tested with PRs 59027, 62333, 57661, 62086, 61584). 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>.

Implement verbosity feature for kubeadm

[WIP] Adds verbosity feature to init command hierarchy of kubeadm utility.



**What this PR does / why we need it**:
Implements verbosity feature to kubeadm

**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 kubernetes/kubeadm#340

**Special notes for your reviewer**:
I will be splitting this work into a smaller PR to keep it separate and clean.

**Release note**:

```release-note
Implements verbosity logging feature for kubeadm commands
```
2018-04-10 22:53:19 -07:00
Kubernetes Submit Queue
60c6d0e0ba Merge pull request #60197 from hzxuzhonghu/controller-manager-handler-chain
Automatic merge from submit-queue (batch tested with PRs 60197, 61614, 62074, 62071, 62301). 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>.

Refactor controller-manager: turn Serve func into handlerchain builder

**What this PR does / why we need it**:
follow up #59582 fix
> turn Serve func into a handler chain builder https://github.com/kubernetes/kubernetes/pull/59582#discussion_r167258465

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-04-10 08:56:15 -07:00
Kubernetes Submit Queue
3fa28cb0e0 Merge pull request #62236 from zhangxiaoyu-zidif/fix-caps-on-schedulerName
Automatic merge from submit-queue (batch tested with PRs 61147, 62236, 62018). 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>.

spec.SchedulerName should be spec.schedulerName in kube-scheduler help

**What this PR does / why we need it**:
spec.SchedulerName should be spec.schedulerName in kube-scheduler help
```shell
--scheduler-name string                  Name of the scheduler, used to select which pods will be processed by this scheduler, based on pod's "spec.SchedulerName". (default "default-scheduler")
```


**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-10 05:31:17 -07:00
Kubernetes Submit Queue
a5c3c8d16c Merge pull request #61973 from hzxuzhonghu/ccm-cleanup
Automatic merge from submit-queue (batch tested with PRs 62209, 62281, 61792, 62285, 61973). 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>.

cloud-controller-manager: remove useless arguments of startControllers

remove useless arguments of `startControllers`

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-04-09 16:00:21 -07:00
Chuck Ha
67df3709ed Fixes kubeadm upgrade plan output
Closes kubernetes/kubeadm#713

Aligns `kubeadm upgrade plan` output when kubelets have different versions.

Signed-off-by: Chuck Ha <ha.chuck@gmail.com>
2018-04-09 14:33:16 -04:00
Lei Gong
4d155cf7a7 Fix some shadow declaration in cmd package
Signed-off-by: Lei Gong <lgong@alauda.io>
2018-04-09 16:58:25 +08:00
mahuihuang
413062028a fix grammar mistake 2018-04-08 16:45:19 +08:00
zhangxiaoyu-zidif
a7771ef58b spec.SchedulerName should be spec.schedulerName in kube-scheduler help 2018-04-07 18:06:17 +08:00
Kubernetes Submit Queue
489178d270 Merge pull request #59056 from mkumatag/pause_manifest
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 pause manifest image

**What this PR does / why we need it**:
As pause manifest code is merged part of https://github.com/kubernetes/kubernetes/pull/57723, now its time to remove all architecture-dependent pause imagename.
**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-06 13:14:13 -07:00
Kubernetes Submit Queue
3bba2d6d3f Merge pull request #61918 from MrHohn/kube-dns-1.14.9-kubeadm
Automatic merge from submit-queue (batch tested with PRs 61918, 62180, 62198). 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] Bump kube-dns to 1.14.9

**What this PR does / why we need it**:
Bump kube-dns to 1.14.9 for kubeadm. Ref #61908.

cc @rramkumar1

**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 #NONE 

**Special notes for your reviewer**:

**Release note**:

```release-note
Update kube-dns to Version 1.14.9 in kubeadm.
```
2018-04-06 11:56:04 -07:00
Manjunath A Kumatagi
1bb810e749 Use pause manifest image 2018-04-06 11:00:50 +05:30
Timothy St. Clair
3d0efc2e5a Update OWNERS labels for cluster-lifecycle and scheduling 2018-04-05 16:25:04 -05:00
Dr. Stefan Schimanski
9f906618f0 apiserver: enforce shared RequestContextMapper in delegation chain 2018-04-05 14:41:56 +02:00
Kubernetes Submit Queue
fca2bd221d Merge pull request #61705 from jstangroome/jstangroome-kubeadm-nodecidrmasksize
Automatic merge from submit-queue (batch tested with PRs 61705, 61609, 62103, 62113, 62115). 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>.

Support overriding the --node-cidr-mask-size arg passed to kube-controller-manager

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

**Release note**:
```release-note
kubeadm config can now override the Node CIDR Mask Size passed to kube-controller-manager.
```
2018-04-04 10:27:09 -07:00
hzxuzhonghu
8cce8bdc85 make kube-apiserver ServerRunOptions setdefault and Validate before use 2018-04-04 11:19:55 +08:00