Commit Graph

10667 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
bf7b9119f0 Merge pull request #108278 from kerthcet/feature/graduate-defaultPodTopologySpread-to-ga
graduate default pod topology spread to ga
2022-02-28 08:02:57 -08:00
Kubernetes Prow Robot
06e107081e Merge pull request #104732 from mengjiao-liu/remove-flag-experimental-check-node-capabilities-before-mount
kubelet: Remove the deprecated flag `--experimental-check-node-capabilities-before-mount`
2022-02-24 07:56:30 -08:00
David Eads
a59b92e8c0 reduce API surface area of whether a resource is enabled 2022-02-23 13:36:33 -05:00
kerthcet
4439fc3590 feat: graduate DefaultPodTopologySpread to GA
Co-authored-by: drfish <drfish.me@gmail.com>
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-02-23 19:45:27 +08:00
Kubernetes Prow Robot
0cfb5ccd6a Merge pull request #107725 from neolit123/1.24-kubeadm-improve-strict-validation
kubeadm: improve the strict unmarshaling of component config
2022-02-17 15:01:02 -08:00
Lubomir I. Ivanov
ee5c927f06 kubeadm: improve strict validation for configuration
- Modify VerifyUnmarshalStrict to use serializer/json instead
of sigs.k8s.io/yaml. In strict mode, the serializers
in serializer/json use the new sigs.k8s.io/json library
that also catches case sensitive errors for field names -
e.g. foo vs Foo. Include test case for that in strict/testdata.
- Move the hardcoded schemes to check to the side of the
caller - i.e. accept a slice of runtime.Scheme.
- Move the klog warnings outside of VerifyUnmarshalStrict
and make them the responsibility of the caller.
- Call VerifyUnmarshalStrict when downloading the configuration
from kubeadm-config or the kube-proxy or kubelet-config CMs.
This validation is useful if the user has manually patched the CMs.
2022-02-17 19:37:41 +02:00
Kubernetes Prow Robot
f538b0b105 Merge pull request #108017 from denkensk/add-flush-flag
Add a deprecated cmd flag for the time interval between flushing pods from unschedualbeQ to activeQ or backoffQ.
2022-02-16 07:56:38 -08:00
Kubernetes Prow Robot
1fa888529e Merge pull request #107533 from neolit123/1.24-update-master-label-taint
kubeadm: apply "master" label/taint migration for 1.24
2022-02-15 21:44:36 -08:00
Alex Wang
87549203e9 add deprecated flag for flush pods to activeq interval 2022-02-16 11:05:52 +08:00
Kubernetes Prow Robot
1ae7da0b68 Merge pull request #108109 from eddiezane/ez/update-sig-cli-owners
Update sig-cli OWNERS
2022-02-14 12:06:30 -08:00
Kubernetes Prow Robot
d374c954de Merge pull request #108027 from neolit123/1.24-update-unversioned-kubelet-cm-fg
kubeadm: switch UnversionedKubeletConfigMap to true
2022-02-14 10:59:52 -08:00
Eddie Zaneski
040d575e9f Update sig-cli OWNERS
Signed-off-by: Eddie Zaneski <eddiezane@gmail.com>
2022-02-14 10:55:35 -07:00
Matthias Bertschy
9500ee9d9c container_manager: use oomScoreAdj instead of default when set 2022-02-12 15:23:13 +01:00
Kubernetes Prow Robot
8580bbf7d7 Merge pull request #107594 from hakman/remove_container-runtime_logic
Clean up logic for deprecated flag --container-runtime in kubelet
2022-02-11 12:57:47 -08:00
Kubernetes Prow Robot
a1ac74224e Merge pull request #108062 from aojea/lease_reconciler
apiserver: use endpoint lease reconciler as default
2022-02-11 07:37:45 -08:00
Antonio Ojea
5a20c425f2 apiserver: use endpoint lease reconciler as default
The apiserver owns and manages the kubernetes.default service.

It has 3 different options to reconcile the endpoints that belong to
that service:

- None: endpoints are handled by an external party.
- MasterCount: legacy, it reconciles based on the endpoints generated
and a flag specifying the number of master on the cluster.
- Lease: default since 1.11, each apiserver writes a lease in etcd
and renews periodically, the endpoints are generated based on the
existing leases.

It seems that when the default was set for the lease reconciler, the
controlplane code wasn't updated and kept using the master count
reconciler.

This also starts the deprecation of the master count reconciler in
favor of the lease reconciler.
2022-02-11 09:00:54 +01:00
Kubernetes Prow Robot
542a979c03 Merge pull request #108029 from deads2k/just-runtimeconfig
update the --runtime-config handling to ensure that user preferences always take priority over hardcoded preferences
2022-02-10 10:15:57 -08:00
Lubomir I. Ivanov
f6fbf6c6e6 kubeadm: remove mentions of the x.yy versioned kubelet config CM
The legacy naming "kubelet-config-x.yy" is no longer the
default behavior. Rename instances in documentation and comments
of "kubelet-config-x.yy" to "kubelet-config".
2022-02-10 18:14:50 +02:00
David Eads
41b2662bac update resourceconfig to have per-resource preferences take priority 2022-02-10 10:53:16 -05:00
Ciprian Hacman
0819451ea6 Clean up logic for deprecated flag --container-runtime in kubelet
Signed-off-by: Ciprian Hacman <ciprian@hakman.dev>
2022-02-10 13:26:59 +02:00
Lubomir I. Ivanov
66a18df14c kubeadm: switch UnversionedKubeletConfigMap to true
- Graduate the feature gate to Beta and enable it by default.
- Pre-set the default value for UnversionedKubeletConfigMap
to "true" in test/e2e_kubeadm.
- Fix a couple of typos in "tolerate" introduced in the PR that
added the FG in 1.23.
2022-02-09 18:33:27 +02:00
SataQiu
2c5aef9036 kubeadm: fix the bug that 'kubeadm init --dry-run --upload-certs' command failed with 'secret not found' error 2022-02-09 12:58:02 +08:00
Kubernetes Prow Robot
8d01b02c60 Merge pull request #107096 from hakman/remove_non-masquerade-cidr
Remove deprecated flag --non-masquerade-cidr in kubelet
2022-02-08 12:42:50 -08:00
Kubernetes Prow Robot
eda02deda2 Merge pull request #107785 from chendave/warn
kubeadm: warn only when config value is different with default value
2022-02-08 08:18:55 -08:00
SataQiu
dcf959c782 kubeadm: fix the bug that 'kubeadm certs generate-csr' command does not remove duplicated SANs 2022-02-07 17:12:38 +08:00
ravisantoshgudimetla
65ff81757d Wire contexts to Disruption controllers 2022-02-04 10:32:04 -05:00
Kubernetes Prow Robot
8f80ae88f2 Merge pull request #107532 from marseel/add_bootstrap_to_kubemark
Add option to bootstrap kubeconfig for hollow-node
2022-02-02 06:44:21 -08:00
Kubernetes Prow Robot
f11dbaea2f Merge pull request #106883 from calvin0327/move-well-know-systemConstant
kubeadm: move well-known system constants to constants.go
2022-02-01 17:28:21 -08:00
Marcel Zięba
27336259ba Add option to bootstrap kubeconfig for hollow-node 2022-02-01 11:56:02 +00:00
ahrtr
972dc46a1f replace deprecated io/ioutil with os and io for cmd 2022-02-01 13:59:41 +08:00
Dave Chen
29a870da2e kubeadm: warn only when config value is different with default value
Compare with two pointers will always show that they are different value,
so it will always print the warning message.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-01-28 13:04:40 +08:00
calvin
fcfcdef8fd move well-known system constants to constants.go 2022-01-27 10:39:14 +08:00
Sergey Kanzhelev
7e7bc6d53b remove DynamicKubeletConfig logic from kubelet 2022-01-19 22:38:04 +00:00
Ciprian Hacman
21809043b5 Remove deprecated flag --non-masquerade-cidr in kubelet
Signed-off-by: Ciprian Hacman <ciprian@hakman.dev>
2022-01-19 09:17:26 +02:00
Kubernetes Prow Robot
feb758027c Merge pull request #106907 from cyclinder/remove_dockershim_flags
Clean up dockershim flags in the kubelet
2022-01-18 09:09:09 -08:00
Kubernetes Prow Robot
8a25964153 Merge pull request #107317 from neolit123/1.24-change-kubeadm-cr-auto-detection
kubeadm: adapt CRI detection and defaults after the dockershim removal
2022-01-17 11:00:50 -08:00
Kubernetes Prow Robot
b6c06a95d7 Merge pull request #107584 from SataQiu/clean-kubeadm-20220115
kubeadm: make the phase prefix and capitalization consistent
2022-01-17 04:35:30 -08:00
Kubernetes Prow Robot
07c1b4556d Merge pull request #105586 from jonyhy96/fix-help-misleading
kube-proxy: fix misleading in help info
2022-01-15 19:23:26 -08:00
SataQiu
aed6f56257 kubeadm: make the phase prefix and capitalization consistent 2022-01-16 00:01:35 +08:00
cyclinder
07999dac70 Clean up dockershim flags in the kubelet
Signed-off-by: cyclinder <qifeng.guo@daocloud.io>
Co-authored-by: Ciprian Hacman <ciprian@hakman.dev>
Signed-off-by: Ciprian Hacman <ciprian@hakman.dev>
2022-01-14 16:02:50 +02:00
Kubernetes Prow Robot
19a37027dc Merge pull request #107512 from SataQiu/support-reset-dryrun-20220113
kubeadm reset: add support for dry-run
2022-01-14 06:01:49 -08:00
SataQiu
e91c829836 kubeadm reset: add support for dry-run 2022-01-14 11:07:09 +08:00
Kubernetes Prow Robot
3bd422dc76 Merge pull request #107293 from dims/jan-1-owners-cleanup
Cleanup OWNERS files - Jan 2021 Week 1
2022-01-13 10:30:30 -08:00
Lubomir I. Ivanov
db6061f5a6 kubeadm: apply the new "control-plane" taint during upgrade
- During "upgrade apply" call a new function AddNewControlPlaneTaint()
that finds all nodes with the new "control-plane" node-role label
and adds the new "control-plane" taint to them.
- The function is called in "apply" and is separate from
the step to remove the old "master" label for better debugging
if errors occur.
2022-01-13 17:46:11 +02:00
Lubomir I. Ivanov
370031cada kubeadm: apply the new "control-plane" taint on CP nodes
- Apply "control-plane" taint during init/join by adding the
taint in SetNodeRegistrationDynamicDefaults(). The old
taint "master" is still applied.
- Clarify API docs (v1beta2 and v1beta3) for nodeRegistration.Taint
to not mention "master" taint and be more generic. Remove
example for taints that includes the word "master".
- Update unit tests.
2022-01-13 17:46:05 +02:00
Lubomir I. Ivanov
a3d5e55982 kubeadm: only apply the new "control-plane" label during init/join
- Update the markcontrolplane phase used by init and join to
only label the nodes with the new control plane label.
- Cleanup TODOs about the old label.
- Remove outdated comment about selfhosting in staticpod/utils.go.
Selfhosting has not been supported in kubeadm for a while
and the comment also mentions the "master" label.
- Update unit tests.
2022-01-13 17:45:54 +02:00
Lubomir I. Ivanov
c0871b4433 kubeadm: delete the old "master" label during upgrade
- Rename the function in postupgrade.go to better reflect
what is being done.
- During "upgrade apply" find all nodes with the old label
and remove it by calling PatchNode.
- Update health check for CP nodes to not track "master"
labeled nodes. At this point all CP nodes should have
"control-plane" and we can use that selector only.
2022-01-13 17:45:32 +02:00
Lubomir I. Ivanov
f3f1332223 kubeadm: update the CRI socket detection logic
- Throw an error if there is more than one known socket on the host.
- Remove the special handling for docker+containerd.
- Remove the local instances of constants for endpoints for
Windows / Unix and use the defaultKnownCRISockets variable
which is populated from OS specific constants.
- Update error message in detectCRISocketImpl to have more
details.
- Make detectCRISocketImpl accept a list of "known" sockets
- Update unit tests for detectCRISocketImpl and make them
use generic paths such as "unix:///foo/bar.sock".
2022-01-12 17:15:45 +02:00
Lubomir I. Ivanov
ea2c948799 kubeadm: change the default CRI socket to containerd
Change the default container runtime CRI socket endpoint to the
one of containerd. Previously it was the one for Docker

- Rename constants.DefaultDockerCRISocket to DefaultCRISocket
- Make the constants files include the endpoints for all supported
container runtimes for Unix/Windows.
- Update unit tests related to docker runtime testing.
- In kubelet/flags.go hardcode the legacy docker socket as a check
to allow kubeadm 1.24 to run against kubelet 1.23 if the user
explicitly sets the criSocket field to "npipe:////./pipe/dockershim"
on Windows or "unix:///var/run/dockershim.sock" on Linux.
2022-01-12 17:15:45 +02:00
Patrick Ohly
9eaa2dc554 avoid klog Info calls without verbosity
In the following code pattern, the log message will get logged with v=0 in JSON
output although conceptually it has a higher verbosity:

   if klog.V(5).Enabled() {
       klog.Info("hello world")
   }

Having the actual verbosity in the JSON output is relevant, for example for
filtering out only the important info messages. The solution is to use
klog.V(5).Info or something similar.

Whether the outer if is necessary at all depends on how complex the parameters
are. The return value of klog.V can be captured in a variable and be used
multiple times to avoid the overhead for that function call and to avoid
repeating the verbosity level.
2022-01-12 07:48:36 +01:00