Commit Graph

65845 Commits (6f76247eb6f834d9fb8915741721069a845dc5ab)

Author SHA1 Message Date
Kubernetes Submit Queue 9eb0c35668
Merge pull request #63701 from scf0920/branch-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>.

fix typo: peirodically->periodically

**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)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-05-21 18:42:59 -07:00
Kubernetes Submit Queue 8cccc022b0
Merge pull request #64118 from deads2k/cli-65-podspec
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>.

move updatepodspecforobject out of factory

Updating a podspec is a polymorphic helper, but it isn't a factory method.

@kubernetes/sig-cli-maintainers 
/assign @juanvallejo 

```release-note
NONE
```
2018-05-21 18:42:37 -07:00
Kubernetes Submit Queue 2a989c60ff
Merge pull request #63221 from mtaufen/dkcfg-live-configmap
Automatic merge from submit-queue (batch tested with PRs 63881, 64046, 63409, 63402, 63221). 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>.

Kubelet responds to ConfigMap mutations for dynamic Kubelet config

This PR makes dynamic Kubelet config easier to reason about by leaving less room for silent skew scenarios. The new behavior is as follows:
- ConfigMap does not exist: Kubelet reports error status due to missing source
- ConfigMap is created: Kubelet starts using it
- ConfigMap is updated: Kubelet respects the update (but we discourage this pattern, in favor of incrementally migrating to a new ConfigMap)
- ConfigMap is deleted: Kubelet keeps using the config (non-disruptive), but reports error status due to missing source
- ConfigMap is recreated: Kubelet respects any updates (but, again, we discourage this pattern)

This PR also makes a small change to the config checkpoint file tree structure, because ResourceVersion is now taken into account when saving checkpoints. The new structure is as follows:
```
- dir named by --dynamic-config-dir (root for managing dynamic config)
| - meta
  | - assigned (encoded kubeletconfig/v1beta1.SerializedNodeConfigSource object, indicating the assigned config)
  | - last-known-good (encoded kubeletconfig/v1beta1.SerializedNodeConfigSource object, indicating the last-known-good config)
| - checkpoints
  | - uid1 (dir for versions of object identified by uid1)
    | - resourceVersion1 (dir for unpacked files from resourceVersion1)
    | - ...
  | - ...
```


fixes: #61643

```release-note
The dynamic Kubelet config feature will now update config in the event of a ConfigMap mutation, which reduces the chance for silent config skew. Only name, namespace, and kubeletConfigKey may now be set in Node.Spec.ConfigSource.ConfigMap. The least disruptive pattern for config management is still to create a new ConfigMap and incrementally roll out a new Node.Spec.ConfigSource.
```
2018-05-21 17:05:42 -07:00
Kubernetes Submit Queue fe509498c4
Merge pull request #63402 from juanvallejo/jvallejo/move-printer-flags-to-genericclihelpers
Automatic merge from submit-queue (batch tested with PRs 63881, 64046, 63409, 63402, 63221). 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>.

move printer flags to genericclihelpers

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

Moves all pkg/kubectl/cmd#PrintFlags to pkg/kubectl/genericclioptions
~~Depends on https://github.com/kubernetes/kubernetes/pull/63340~~
~~Depends on https://github.com/kubernetes/kubernetes/pull/63808~~
~~Depends on https://github.com/kubernetes/kubernetes/pull/63928~~
Depends on https://github.com/kubernetes/kubernetes/pull/64107

~Opening now to catch CI failures~

cc @deads2k @soltysh
2018-05-21 17:05:38 -07:00
Kubernetes Submit Queue 6d510f52f2
Merge pull request #63409 from mtaufen/kc-validation-feature-gates
Automatic merge from submit-queue (batch tested with PRs 63881, 64046, 63409, 63402, 63221). 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>.

Kubelet config: Validate new config against future feature gates

This fixes an issue with KubeletConfiguration validation, where the             
feature gates set by the new config were not taken into account.                
                                                                                
Also fixes a validation issue with dynamic Kubelet config, where flag           
precedence was not enforced prior to dynamic config validation in the           
controller; this prevented rejection of dynamic configs that don't merge        
well with values set via legacy flags. 

Fixes #63305 

```release-note
NONE
```
2018-05-21 17:05:34 -07:00
Kubernetes Submit Queue 19388204ee
Merge pull request #64046 from yujuhong/log-rotate-beta
Automatic merge from submit-queue (batch tested with PRs 63881, 64046, 63409, 63402, 63221). 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>.

Graduate CRIContainerLogRotation to beta

**Release note**:

```release-note
Graduate CRI container log rotation to beta, and enable it by default.
```
2018-05-21 17:05:30 -07:00
Kubernetes Submit Queue 99e9db5815
Merge pull request #63881 from luxas/disable_cadvisor_default
Automatic merge from submit-queue (batch tested with PRs 63881, 64046, 63409, 63402, 63221). 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>.

Disable the public cadvisor port by default

**What this PR does / why we need it**:
Quoting @tallclair in #56523:
> We should add the deprecation warning in 1.10 along with a release note, but not change the default. The notes should warn that the default will change in 1.11. We disable the flag by default in 1.11, and remove it entirely in 1.12 or 1.13.
> If you currently depend on the UI or the API, speak up! Going forward, the recommended way of taking advantage of those features will be to run cAdvisor as a DaemonSet.

Disabling the publicly-available cAdvisor port is beneficial for security, as you might not want to expose the UI with lots of information about what your system is doing. We already did this for all kubeadm deployments in v1.7, and haven't recieved any issues for that. This should be okay to do at this stage, as this flag was deprecated in v1.10. Given we need to support this flag for one more release (v1.11), it makes perfect sense to instead switch it off in preparation for v1.12 when we can delete it (see the [deprecation policy](https://kubernetes.io/docs/reference/deprecation-policy/#deprecating-a-flag-or-cli))

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

**Special notes for your reviewer**:

I removed the e2e test that expects cAdvisor to be running, as we don't expect it to be anymore.

**Release note**:

```release-note
[action required] The formerly publicly-available cAdvisor web UI that the kubelet ran on port 4194 by default is now turned off by default. The flag configuring what port to run this UI on `--cadvisor-port` was deprecated in v1.10. Now the default is `--cadvisor-port=0`, in other words, to not run the web server. The recommended way to run cAdvisor if you still need it, is via a DaemonSet. The `--cadvisor-port` will be removed in v1.12
```
cc @kubernetes/sig-cluster-lifecycle-pr-reviews @kubernetes/sig-auth-pr-reviews @kubernetes/sig-node-pr-reviews
2018-05-21 17:05:27 -07:00
David Eads 087140aee9 move updatepodspecforobject out of factory 2018-05-21 17:56:33 -04:00
Lubomir I. Ivanov f93d064e93 kubeadm-upgrade: add unit tests for the diff command
Add the file diff_test.go, which has a single test:
  TestRunDiff

The test covers most error cases for the runDiff() function,
and also performs a valid diff.

A couple of test files are added in:
cmd/kubeadm/app/cmd/upgrade/testdata/
2018-05-22 00:25:16 +03:00
Ryan Phillips 6469c8e333 kubelet: fix checkpoint manager logic bug on restore 2018-05-21 16:17:48 -05:00
Lubomir I. Ivanov 5adee74000 kubeadm-upgrade: small improvements to diff
1) Store the io.Writer and pass it to sub-commands in upgrade.go
2) Check if the manifest path is an empty string in diff.go:runDiff()
3) Use the io.Writer that upgrade.go defines instead of writing to
os.Stdout directly.
2018-05-21 23:49:06 +03:00
juanvallejo 8fc0bfd287 remove LabelsForObject and ResolveImage from factory 2018-05-21 16:30:46 -04:00
Anago GCB af69af2d33 Update CHANGELOG-1.9.md for v1.9.8. 2018-05-21 19:58:50 +00:00
Kubernetes Submit Queue bf790f4467
Merge pull request #63894 from dims/bump-grpc-max-message-size-for-docker-service
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>.

Bump grpc max message size for docker service

**What this PR does / why we need it**:
When we have a lot of containers, we run into the limit in grpc ( https://github.com/grpc/grpc-go/blob/master/clientconn.go#L118 )

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

**Special notes for your reviewer**:
In https://github.com/kubernetes/kubernetes/pull/63977 we fixed the send and receive sizes on the client side. we should fix the docker service too 

**Release note**:

```release-note
NONE
```
2018-05-21 12:47:14 -07:00
Kubernetes Submit Queue 813021c1b1
Merge pull request #64096 from luxas/kubeadm_remove_imagepullpolicy
Automatic merge from submit-queue (batch tested with PRs 59414, 64096). 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: Remove `.ImagePullPolicy` from the v1alpha2 API

**What this PR does / why we need it**:
So with `kubeadm config images list/pull` I don't think we need this anymore. Also I don't like this being in our API, as I think the purpose of why it's there can be achieved in other ways.
Instead, I propose to set this explicitely to `IfNotPresent`, and tell the user to prepull the images with `kubeadm config images pull` in case of an airgapped env (or `docker load` ofc) or he/she wants to achieve what `imagePullPolicy: Always` would do. If the images are already cached locally, `IfNotPresent` translates to the same as `Never`, i.e. don't pull (for ppl with no internet connection).


**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Part of cleaning up the API https://github.com/kubernetes/community/pull/2131

**Special notes for your reviewer**:
This basically reverts: https://github.com/kubernetes/kubernetes/pull/58960

**Release note**:

```release-note
[action required] kubeadm: The `.ImagePullPolicy` field has been removed in the v1alpha2 API version. Instead it's set statically to `IfNotPresent` for all required images. If you want to always pull the latest images before cluster init (like what `Always` would do), run `kubeadm config images pull` before each `kubeadm init`. If you don't want the kubelet to pull any images at `kubeadm init` time, as you for instance don't have an internet connection, you can also run `kubeadm config images pull` before `kubeadm init` or side-load the images some other way (e.g. `docker load -i image.tar`). Having the images locally cached will result in no pull at runtime, which makes it possible to run without any internet connection.
```
@kubernetes/sig-cluster-lifecycle-pr-reviews @rosti @liztio @chuckha
2018-05-21 12:14:10 -07:00
Kubernetes Submit Queue f5fb740f06
Merge pull request #59414 from mbohlool/test_cycle
Automatic merge from submit-queue (batch tested with PRs 59414, 64096). 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 cyclic dependency of apiserver test for OpenAPI test

Fixes #41748

```release-note
NONE
```
2018-05-21 12:14:07 -07:00
Benjamin Elder e911418242 correct test logging package stackdrvier -> stackdriver 2018-05-21 12:03:52 -07:00
juanvallejo d1603c9560 move PrintOptions to genericclioptions 2018-05-21 14:59:41 -04:00
Kubernetes Submit Queue 1f0d950579
Merge pull request #64087 from hzxuzhonghu/gc-cleanup
Automatic merge from submit-queue (batch tested with PRs 64069, 64087). 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>.

garbage collector `NewMetadataCodecFactory` cleanup

`NewMetadataCodecFactory` was introduce by #28480, but not used now.

/assign @deads2k 

**Release note**:

```release-note
NONE
```
2018-05-21 10:48:17 -07:00
Kubernetes Submit Queue 5c7add3c75
Merge pull request #64069 from ibrasho-forks/fix-error-message
Automatic merge from submit-queue (batch tested with PRs 64069, 64087). 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 error message

**What this PR does / why we need it**:
This PR fixes a minor mistake in an error message in `Equalities.DeepEqual`. I've tried to trace this mistake but could not find out where it originated.

**Release note**:
```release-note
NONE
```
2018-05-21 10:48:14 -07:00
David Eads 3693ed095f remove API dependency on printers 2018-05-21 13:46:53 -04:00
Alexander Staubo 1b3dee951c When creating ext3/ext4 volume, pass -m0 to mkfs in order to disable the
super-user-reserved blocks, which otherwise defaults to 5% of the
entire disk.

Rationale: Reserving a percentage of the volume is generally a neither
useful nor desirable feature for volumes that aren't used as root file
systems for Linux distributions, since the reserved portion becomes
unavailable for non-root users. For containers, the general case is to
use the entire volume for data, without running as root. The case where
one might want reserved blocks enabled is much rarer.
2018-05-21 12:43:57 -04:00
Michael Taufen b5648c3f61 dynamic Kubelet config reconciles ConfigMap updates 2018-05-21 09:03:58 -07:00
Jacob Gillespie 31bf75c116
Fix running e2e tests with completed kube-system pods 2018-05-21 09:16:36 -05:00
xuzhonghu 4be6328126 remove unused gc code 2018-05-21 20:22:37 +08:00
Anago GCB 080739a12a Update CHANGELOG-1.10.md for v1.10.3. 2018-05-21 10:36:05 +00:00
Yonatan Kiron 0b7b2de8c8 Add optional flag of node port range 2018-05-21 12:22:49 +03:00
andyzhangx 8259dcbaa7 add block device support for azure disk
add plugin field for azure dataDisk struct

add azure_dd_block_test

fix comments

fix comments
2018-05-21 09:03:59 +00:00
Lucas Käldström ddca1be88c
kubeadm: Remove .ImagePullPolicy 2018-05-21 09:20:11 +03:00
Lucas Käldström 687fe22a6b
autogenerated 2018-05-21 08:49:58 +03:00
Lucas Käldström 5687f652db
kubeadm: Remove .AuthorizationModes in the v1alpha2 API 2018-05-21 08:49:12 +03:00
Lucas Käldström 4f0020d1b4
Don't support marshalling using the v1alpha1 version in kubeadm v1.11 2018-05-21 08:47:27 +03:00
mbohlool 9e94cf72a8 Update bazel 2018-05-20 22:19:06 -07:00
mbohlool e979b16987 Fix cyclic dependency of apiserver test for OpenAPI test 2018-05-20 22:19:06 -07:00
Kubernetes Submit Queue b87105aebd
Merge pull request #64004 from mbohlool/apiservice_order
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>.

Sort API Services by Kube-Version order

Sort API services based on kube-version format. If the version does not have kube-version format.

kube-version format: `v[MajorVersion]((alpha|beta)[minorVersion])?`
e.g. v1alpha1, v4, v21beta12

Sort base on:
Version type first: GA>Beta>Alpha
Major version then Minor version (if exists).

```release-note
APIServices with kube-like versions (e.g. v1, v2beta1, etc.) will be sorted appropriately within each group. 
```
2018-05-20 20:43:24 -07:00
Cao Shufeng 188b2bfabd remove one duplicated unit test 2018-05-21 10:33:49 +08:00
Michael Taufen 647e90341c Kubelet config: Validate new config against future feature gates
This fixes an issue with KubeletConfiguration validation, where the
feature gates set by the new config were not taken into account.

Also fixes a validation issue with dynamic Kubelet config, where flag
precedence was not enforced prior to dynamic config validation in the
controller; this prevented rejection of dynamic configs that don't merge
well with values set via legacy flags.
2018-05-20 13:15:59 -07:00
Kubernetes Submit Queue 8ea1d92d73
Merge pull request #63879 from lalyos/kubeadm-authz-extra-args-override
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: Fix how kubeadm handles `.AuthorizationModes` and `.APIServerExtraArgs`

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

If _authorization-mode_ is configured as `--apiserver-extra-args` for kubeadm, than 
_authorization-mode_ argument gets duplicated in the static pod manifest file.

```
$ kubeadm alpha phase controlplane apiserver --apiserver-extra-args authorization-mode=AlwaysAllow
$ grep authorization-mode /etc/kubernetes/manifests/kube-apiserver.yaml
     - --authorization-mode=AlwaysAllow
    - --authorization-mode=Node,RBAC
```

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

/sig cluster-lifecycle
/assign @fabriziopandini
2018-05-20 13:05:10 -07:00
Mehdy Bohlool cc87ba3a12 Generated files 2018-05-20 01:40:05 -07:00
Mehdy Bohlool 97ada15fbe Sort API Services by Kube-Version order 2018-05-20 01:40:04 -07:00
Kubernetes Submit Queue 2f1d0e15be
Merge pull request #63917 from luxas/kubeadm_add_api_unit_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>.

Add roundtrip, defaulting, upgrading and validation unit tests for the kubeadm API types

**What this PR does / why we need it**:
Follows up from https://github.com/kubernetes/kubernetes/pull/63799, as well as net-new unit testing for our serialization/deserialization package. This tests our API machinery pretty much end to end.

This is more important now given we now support two external types: https://github.com/kubernetes/kubernetes/pull/63788

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
@kubernetes/sig-cluster-lifecycle-pr-reviews @liztio
2018-05-19 21:52:07 -07:00
Ibrahim AshShohail 73f4cd89af
Fix error message in Equalities.DeepEqual
Signed-off-by: Ibrahim AshShohail <me@ibrasho.com>
2018-05-20 02:22:09 +03:00
lalyos d95c7779de kubeadm: APIServerExtraArgs should override defaultArguments 2018-05-19 23:56:27 +02:00
Davanum Srinivas eb6bd67446
Bump grpc max message size for docker service 2018-05-19 16:52:00 -04:00
Kubernetes Submit Queue e04ccf5526
Merge pull request #63962 from hzxuzhonghu/fix-scheduler-options
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 little bug in kube-scheduler options

fix some little bugs in kube-scheduler options. 

**Release note**:

```release-note
NONE
```
2018-05-19 07:59:06 -07:00
Lucas Käldström 21bb44b2e0
autogenerated bazel 2018-05-19 15:04:15 +01:00
Lucas Käldström 8778937510
Add testdata that supports the unit tests testing the kubeadm API types 2018-05-19 15:03:40 +01:00
Lucas Käldström 2798d12717
Add roundtrip, defaulting, upgrading and validation unit tests for the kubeadm API types 2018-05-19 15:02:47 +01:00
Kubernetes Submit Queue 7909712ca5
Merge pull request #60464 from roycaihw/loadconfig
Automatic merge from submit-queue (batch tested with PRs 63598, 63913, 63459, 63963, 60464). 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>.

Client-go raises error on duplicated name in kubeconfig

(for NamedCluster, NamedContext, NamedUser, NamedExtension)



**What this PR does / why we need it**:
Client should detect duplicated name when loading `name-value` based lists in kubeconfig: `users`, `clusters`, `contexts`. Currently if there are multiple value with same name, `client-python` will pick the first one, while `client-go` will pick the last.

**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: kubernetes-client/python#445, kubernetes-client/python-base#47

**Special notes for your reviewer**:

**Release note**:

```release-note
kubectl and client-go now detects duplicated name for user, cluster and context when loading kubeconfig and reports error 
```

/sig api-machinery

cc @brendandburns @mbohlool
2018-05-19 06:49:27 -07:00
Kubernetes Submit Queue b9c07d272c
Merge pull request #63963 from wojtek-t/collapse_configmap_manager
Automatic merge from submit-queue (batch tested with PRs 63598, 63913, 63459, 63963, 60464). 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 ConfigMapManager

This is a follow up from https://github.com/kubernetes/kubernetes/pull/63857 to unify SecretManager with ConfigMap manager.

This is more-or-less a copy of that PR for ConfigMapManager, with super minor changes in secretManager code.
2018-05-19 06:49:23 -07:00