Commit Graph

10264 Commits

Author SHA1 Message Date
Lubomir I. Ivanov
5777e8740e kubeadm: deprecate "kubeadm alpha kubelet config enable-dynamic"
Deprecate the command and recommend users to follow the
official guide at the k8s.io website instead.
2020-07-07 22:15:43 +03:00
cici37
cff8562c18 Import cloud provider from k8s.io/legacy-cloud-provider 2020-07-07 11:43:27 -07:00
Kubernetes Prow Robot
7e75a5ef43 Merge pull request #87273 from SaranBalaji90/kubelet-log-file
Add support for disabling /logs endpoint in kubelet
2020-07-07 04:09:58 -07:00
Sergey Kanzhelev
933a2ca634 SIG node owner files clean up 2020-07-07 00:22:05 +00:00
Rob Scott
e701cb0205 Enabling the EndpointSliceMirroring controller, adding related config 2020-07-06 12:43:34 -07:00
Sri Saran Balaji Vellore Rajakumar
05240c9218 Add support for disabling /logs endpoint in kubelet 2020-07-06 07:52:30 -07:00
chenjun.cj
db71941775 make Kubelet bootstrap certificate signal aware 2020-07-06 22:30:27 +08:00
Kubernetes Prow Robot
6eca9f653b Merge pull request #92435 from rosti/kubeadm-cc-test-refactor
kubeadm: refactor and cleanup component config tests
2020-07-03 20:30:48 -07:00
Kubernetes Prow Robot
8ec5747fe5 Merge pull request #91501 from tahsinrahman/add-apiserver-logging-flag
Add `--logging-format` flag for kube-apiserver
2020-07-03 12:24:47 -07:00
Rostislav M. Georgiev
d023f3d25d kubeadm: Cleanup and refactor the LoadJoinConfigurationFromFile test
Back in the v1alpha2 days the fuzzer test needed to be disabled. To ensure that
there were no config breaks and everything worked correctly extensive replacement
tests were put in place that functioned as unit tests for the kubeadm config utils
as well.

The fuzzer test has been reenabled for a long time now and there's no need for
these replacements. Hence, over time most of these were disabled, deleted and
refactored. The last remnants are part of the LoadJoinConfigurationFromFile test.

The test data for those old tests remains largely unused today, but it still receives
updates as it contains kubelet's and kube-proxy's component configs. Updates to these
configs are usually done because the maintainers of those need to add a new field.

Hence, to cleanup old code and reduce maintenance burden, the last test that depends
on this test data is finally refactored and cleaned up to represent a simple unit test
of `LoadJoinConfigurationFromFile`.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2020-07-03 20:00:49 +03:00
Rostislav M. Georgiev
930ca6ceb2 kubeadm: Refactor component config tests
Over the course of recent development of the `componentconfigs` package,
it became evident that most of the tests in this package cannot be implemented without
using a component config. As all of the currently supported component configs are
external to the kubeadm project (kubelet and kube-proxy), practically all of the tests
in this package are now dependent on external code.
This is not desirable, because other component's configs may change frequently and
without much of a notice. In particular many configs add new fields without bumping their
versions. In addition to that, some components may be deprecated in the future and many
tests may use their configs as a place holder of a component config just to test some
common functionality.
To top that, there are many tests that test the same common functionality several times
(for each different component config).

Thus a kubeadm managed replacement and a fake test environment are introduced.
The new test environment uses kubeadm's very own `ClusterConfiguration`.
ClusterConfiguration is normally not managed by the `componentconfigs` package.
It's only used, because of the following:
- It's a versioned API that is under the control of kubeadm maintainers. This enables us to test
  the componentconfigs package more thoroughly without having to have full and always up to date
  knowledge about the config of another component.
- Other components often introduce new fields in their configs without bumping up the config version.
  This, often times, requires that the PR that introduces such new fields to touch kubeadm test code.
  Doing so, requires more work on the part of developers and reviewers. When kubeadm moves out of k/k
  this would allow for more sporadic breaks in kubeadm tests as PRs that merge in k/k and introduce
  new fields won't be able to fix the tests in kubeadm.
- If we implement tests for all common functionality using the config of another component and it gets
  deprecated and/or we stop supporting it in production, we'll have to focus on a massive test refactoring
  or just continue importing this config just for test use.

Thus, to reduce maintenance costs without sacrificing test coverage, we introduce this mini-framework
and set of tests here which replace the normal component configs with a single one (`ClusterConfiguration`)
and test the component config independent logic of this package.

As a result of this, many of the older test cases are refactored and greatly simplified to reflect
on the new change as well. The old tests that are strictly tied to specific component configs
(like the defaulting tests) are left unchanged.

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2020-07-03 20:00:45 +03:00
Kubernetes Prow Robot
d5f76a9c6f Merge pull request #92764 from sjenning/add-new-kubelet-approvers-to-cmd
add dashpole and sjenning to cmd/kubelet OWNERS
2020-07-03 05:04:21 -07:00
Kubernetes Prow Robot
af29f81af6 Merge pull request #92740 from SataQiu/deprecate-config-view-20200702
Mark 'kubeadm config view' command as deprecated
2020-07-03 05:04:02 -07:00
Kubernetes Prow Robot
046ac5100e Merge pull request #92720 from neolit123/1.19-add-kcm-port
kubeadm: add --port=0 for kube-controller-manager and kube-scheduler
2020-07-03 05:03:25 -07:00
Kubernetes Prow Robot
a2aaae2dd5 Merge pull request #88124 from rosti/kubeadm-cc-upgrade-plan
kubeadm upgrade plan: print a component config state table
2020-07-03 05:02:47 -07:00
QianChenglong
883f318df4 Fix duplicate altnames in cert 2020-07-03 12:14:36 +08:00
Kubernetes Prow Robot
36083e4292 Merge pull request #91522 from SataQiu/add-logging-format-flag-20200528
Add '--logging-format' flag to kube-scheduler
2020-07-02 19:04:47 -07:00
SataQiu
2b7af10276 mark 'kubeadm config view' command as deprecated 2020-07-03 09:40:23 +08:00
Seth Jennings
b1f91d33e7 add dashpole and sjenning to cmd/kubelet OWNERS 2020-07-02 14:20:41 -05:00
Kubernetes Prow Robot
13a4a71e99 Merge pull request #91532 from afrouzMashaykhi/log-flag-kubelet
add --logging-format flag to kubelet
2020-07-02 06:40:46 -07:00
Kubernetes Prow Robot
1094c03e15 Merge pull request #92722 from munnerz/bump-md2man
Bump github.com/cpuguy83/go-md2man dependency to v2.0.0
2020-07-02 04:18:16 -07:00
Kubernetes Prow Robot
d71a09271c Merge pull request #92017 from neolit123/1.19-patches
kubeadm: introduce --experimental-patches and deprecate --experimental-kustomize
2020-07-02 04:17:01 -07:00
Kubernetes Prow Robot
1b871091b9 Merge pull request #91645 from chelseychen/event-api
Promote new Event API to v1
2020-07-02 04:16:46 -07:00
Kubernetes Prow Robot
94e1c54735 Merge pull request #92655 from BenTheElder/cleanup-some-owners
Cleanup some owners
2020-07-01 23:14:08 -07:00
Kubernetes Prow Robot
8623c26150 Merge pull request #90909 from kumarvin123/feature/WindowsEpSlices
EndPointSlices implementation for Windows
2020-07-01 23:12:01 -07:00
Kubernetes Prow Robot
e7a949f966 Merge pull request #91521 from SataQiu/add-log-flags-20200528
Add '--logging-format' flag to kube-controller-manager
2020-07-01 20:28:01 -07:00
James Munnelly
6b75e9efe4 Bump github.com/cpuguy83/go-md2man dependency
Signed-off-by: James Munnelly <james.munnelly@jetstack.io>
2020-07-01 21:22:14 +01:00
Lubomir I. Ivanov
f66513d98a kubeadm: add --port=0 for kube-controller-manager and kube-scheduler
Kubeadm setup of kube-controller-manager and kube-scheduler is
lacking the --port=0 option which caused the component to enable
the insecure port by default and serve insecurely on the default
node interface.

Add --port=0 by default to both components. Users are still allowed
the explicitly set the flag (via extraArgs), which allows them
to override this default kubeadm behavior and enable the insecure port.

NOTE: the flag is deprecated and should be removed from kubeadm manifests
once it's removed from core.
2020-07-01 22:23:21 +03:00
Sandeep Rajan
4dc635d542 remove kube-dns translation for federation 2020-07-01 14:34:23 -04:00
amash
b92b04e7cd add default for loggingconfiguration struct 2020-07-01 22:28:27 +04:30
amash
3ab25f1876 add LoggingConfiguration struct to component-base/config 2020-07-01 20:07:01 +04:30
amash
ac8d2e8978 add loggingConfig struct to kubelet config 2020-07-01 20:07:01 +04:30
amash
ba8189a4f2 add --logging-format flag to kubelet 2020-07-01 20:07:01 +04:30
SataQiu
770706ce61 add '--logging-format' flag to kube-scheduler 2020-07-01 23:23:24 +08:00
Chelsey Chen
75612c1746 Promote new Event API to v1 2020-07-01 10:50:28 -04:00
Kubernetes Prow Robot
6b65bc7395 Merge pull request #91048 from pjbgf/fix-error-validation
linkcheck: Fix incorrect error validation for Retry-After
2020-07-01 02:54:16 -07:00
Kubernetes Prow Robot
4c523b1981 Merge pull request #92131 from SataQiu/fix-etcd-opt-20200615
kubeadm: increase robustness for kubeadm etcd operations
2020-07-01 00:06:21 -07:00
Benjamin Elder
d8f2b131b5 remove david-mcmahon from reviewers 2020-06-30 14:06:58 -07:00
Benjamin Elder
2abc8afece eparis to emeritus 2020-06-30 09:50:44 -07:00
Kubernetes Prow Robot
c5941e283f Merge pull request #92531 from damemi/deprecated-opts
kube-scheduler: allow deprecated options to be set with configfile
2020-06-30 07:58:09 -07:00
Kubernetes Prow Robot
88c1386e0c Merge pull request #92610 from rosti/kubeadm-nuke-uploadconfig-cmd
kubeadm: Remove `kubeadm config upload`
2020-06-29 18:35:46 -07:00
Vinod K L Swamy
bbd4a07dec Changes to WinKernel to support EndpointSlices 2020-06-29 14:31:15 -07:00
Mike Dame
2b95900b02 kube-scheduler: allow deprecated options to be set with configfile 2020-06-29 15:59:06 -04:00
Rostislav M. Georgiev
b51f2c1d1c kubeadm: Remove kubeadm config upload
`kubeadm config upload` is a GA command that has been deprecated and scheduled
for removal since Kubernetes 1.15 (released 06/19/2019). This change will
finally removed it in Kubernetes 1.19 (planned for August 2020).

The original command has long since been replaced by a GA init phase:
`kubeadm init phase upload-config`

Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
2020-06-29 18:27:48 +03:00
RAKESH REDDY BANDI
d44a20f9ca Rename DefaultPodTopologySpread plugin #91994 2020-06-27 13:46:31 -04:00
Kubernetes Prow Robot
b3033da9a1 Merge pull request #92200 from adtac/adtac/reserve
scheduler: merge Reserve and Unreserve plugins
2020-06-25 19:57:31 -07:00
Lubomir I. Ivanov
ceb768ccbd kubeadm: apply patches to static Pods
Add PatchStaticPod() in staticpod/utils.go

Apply patches to static Pods in:
- phases/controlplane/CreateStaticPodFiles()
- phases/etcd/CreateLocalEtcdStaticPodManifestFile() and
CreateStackedEtcdStaticPodManifestFile()

Add unit tests and update Bazel.
2020-06-26 02:14:47 +03:00
Lubomir I. Ivanov
144778db83 kubeadm: plumb the patches option trough init/join/upgrade
This changes adds the "patches" option in all places where
the "kustomize" option is already present.
2020-06-26 02:14:47 +03:00
Lubomir I. Ivanov
5506049b87 kubeadm: add logic for patching components in util/patches 2020-06-26 02:14:47 +03:00
Lubomir I. Ivanov
a8b31556c8 kubeadm: add the --experimental-patches flag in cmd/options 2020-06-26 02:14:46 +03:00