Commit Graph

12062 Commits

Author SHA1 Message Date
Dan Winship
f994ae2521 Move GetHostname() from k/k/pkg/util/node to k/component-helpers/node/util
In fact, this actually uses pkg/util/node's GetHostname() but takes
the unit tests from cmd/kubeadm/app/util's private fork of that
function since they were more extensive. (Of course the fact that
kubeadm had a private fork of this function is a strong argument for
moving it to component-helpers.)
2023-01-27 18:24:38 -05:00
Mohamed Zaian
90570b7595 etcd: Update to version 3.5.7 2023-01-27 17:24:00 +01:00
Lucas Severo Alves
6a06b63554 comment change from t.Fatal to panic 2023-01-25 11:44:12 +01:00
Lucas Severo Alves
096d2e5895 remove unwanted newlines 2023-01-24 21:45:32 +01:00
Lucas Severo Alves
636f8e1a3e chore: changes needed before #111155 2023-01-24 17:55:32 +01:00
Patrick Ohly
bc6c7fa912 logging: fix names of keys
The stricter checking with the upcoming logcheck v0.4.1 pointed out these names
which don't comply with our recommendations in
https://github.com/kubernetes/community/blob/master/contributors/devel/sig-instrumentation/migration-to-structured-logging.md#name-arguments.
2023-01-23 14:24:29 +01:00
Patrick Ohly
66dfac3b18 kube-proxy: support the logging feature gates
When trying to bring up a cluster via kubeadm with these feature gates enabled,
kube-proxy fails because it didn't know about them:

    kind: Cluster
    apiVersion: kind.x-k8s.io/v1alpha4
    nodes:
    - role: control-plane
    - role: worker
    - role: worker
    featureGates: {"DynamicResourceAllocation":true,"ContextualLogging":true}
    runtimeConfig: {"resource.k8s.io/v1alpha1":"true"}

    =>

    2023-01-20T07:07:54.474966617Z stderr F E0120 07:07:54.474846       1 run.go:74] "command failed" err="failed complete: unrecognized feature gate: ContextualLogging"

The effect of the logging feature gates is minor for kube-proxy, supporting
them is mostly useful for the sake of consistency and to support kubeadm.
2023-01-20 19:31:57 +01:00
Clayton Coleman
95051a63b3
wait: Use a context implementation for ContextForChannel
ContextForChannel uses a goroutine to transform a channel close to
a context cancel. However, this exposes a synchronization issue if
we want to unify the underlying implementation between contextless
and with context - a ConditionFunc that closes the channel today
expects the behavior that no subsequent conditions will be invoked
(we have a test in wait_test.go TestUntilReturnsImmediately that
verifies this expectation). We can't unify the implementation
without ensuring this property holds.

To do that this commit changes from the goroutine propagation to
implementing context.Context and using stopCh as the Done(). We
then implement Err() by returning context.Canceled and stub the
other methods. Since our context cannot be explicitly cancelled
by users, we cease to return the cancelFn and callers that need
that behavior must wrap the context as normal.

This should be invisible to clients - they would already observe
the same behavior from the context, and the existing error
behavior of Poll* is preserved (which ignores ctx.Err()).

As a side effect, one less goroutine is created making it more
efficient.
2023-01-18 10:00:47 -05:00
Hao Ruan
2adb95c376 Add linter to check if api docs match field tag names 2023-01-18 10:49:12 +08:00
Tobias Giese
ea46c91868 kubeadm: promote member after the static pod manifest was written
Signed-off-by: Tobias Giese <tobias.giese@mercedes-benz.com>
Co-authored-by: Christian Schlotter <christi.schlotter@gmail.com>
2023-01-16 11:11:58 +01:00
Kubernetes Prow Robot
fd885b751d
Merge pull request #115068 from neolit123/revert-115000-feature/UpdateOrCreateTokenAddErrProcessing
Revert "UpdateOrCreateToken get secrets err handling optimization"
2023-01-15 07:30:31 -08:00
Kubernetes Prow Robot
3a8e2e399b
Merge pull request #114393 from danielvegamyhre/myfeature
Option to ignore existing pods' preferred inter-pod affinities if the incoming pod has no preferred inter-pod affinities
2023-01-13 17:28:15 -08:00
Daniel Vega-Myhre
41817b1888 optionally ignore preferred terms of existing pods unless incoming pod
has inter-pod affinities
2023-01-13 23:15:53 +00:00
Lubomir I. Ivanov
7938631e22
Revert "UpdateOrCreateToken get secrets err handling optimization" 2023-01-14 00:11:49 +02:00
Kubernetes Prow Robot
a66aad2d80
Merge pull request #115000 from helen-frank/feature/UpdateOrCreateTokenAddErrProcessing
UpdateOrCreateToken get secrets err handling optimization
2023-01-12 19:57:12 -08:00
Kubernetes Prow Robot
2b69bec35d
Merge pull request #114901 from SataQiu/fix-lint-error-20230108
Fix gocritic lint errors for cmd/kubeadm/*
2023-01-12 09:05:06 -08:00
helen
e6591d24ce when UpdateOrCreateTokens get secrets, if the error is not a NotFound, the error is thrown in time
Signed-off-by: helen <haitao.zhang@daocloud.io>
2023-01-12 20:50:02 +08:00
SataQiu
3df577ea28 kubeadm: remove unused variable DefaultAuditPolicyLogMaxAge 2023-01-12 12:30:30 +08:00
Dave Chen
765ef1783b kubeadm: stop using of CRI endpoints without URL scheme
run the testcase with `-v` flag will reveal the warning,
e.g.
`W1103 ... Usage of CRI endpoints without URL scheme is deprecated...`

Signed-off-by: Dave Chen <dave.chen@arm.com>
2023-01-12 10:59:34 +08:00
Dave Chen
a7b610c3bb kubeadm: use the right methods for logging if no args are passing
Signed-off-by: Dave Chen <dave.chen@arm.com>
2023-01-12 10:59:34 +08:00
Dave Chen
aae1f2a85f kubeadm: cri-socket is not allowed for mixed configuration
Set the `cri-socket` both in flags and config file will hit errors,
this should not be a valid case to validate in current testcases.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2023-01-12 10:59:34 +08:00
Kubernetes Prow Robot
280473ebc4
Merge pull request #114773 from yangjunmyfm192085/fixsmallerrorlog
fix a small log error about proxy
2023-01-11 07:51:43 -08:00
Kubernetes Prow Robot
6699db9f59
Merge pull request #114957 from claudiubelu/kubeadm-preflight-checks-admin
unit tests: Fixes kubeadm enforce requirements test
2023-01-11 03:33:43 -08:00
Claudiu Belu
3af2c257e8 unit tests: Fixes kubeadm enforce requirements test
enforceRequirements will run preflight checks, including whether the user
is privileged is not. Because of this, the test will make different assertions
based on the user's UID. However, we don't have UIDs on Windows, so we're asserting
the wrong thing.

This fix addresses the issue.
2023-01-10 16:56:14 +00:00
Jordan Liggitt
3b64cb5f11
Include head and tail of clipped test messages 2023-01-10 11:26:34 -05:00
SataQiu
e0f11d9c5b kubeadm: fix gocritic lint errors 2023-01-08 11:23:26 +08:00
SataQiu
5d99ad1182 kubeadm: update .import-restrictions 2023-01-07 23:46:02 +08:00
Ian K. Coolidge
f3829c4be3 cpuset: Rename 'NewCPUSet' to 'New' 2023-01-06 23:32:51 +00:00
TommyStarK
527b905aaa cmd/kubeapiserver: Clean code, avoid unnecessary condition, avoid non-nil but zero-length slice
Signed-off-by: TommyStarK <thomasmilox@gmail.com>
2023-01-06 18:03:41 +01:00
Kubernetes Prow Robot
4a98fa2536
Merge pull request #114540 from pacoxu/kubeadm-v1beta2
remove deprecated Kubeadm v1beta2 API
2023-01-05 21:29:58 -08:00
Kubernetes Prow Robot
fcaa32bd99
Merge pull request #114725 from danwinship/kube-proxy-startup-cleanup
(minor) kube-proxy startup cleanup
2023-01-05 13:57:59 -08:00
Kubernetes Prow Robot
2d534e4bea
Merge pull request #114842 from chendave/nil_pointer
kubeadm: fix the nil pointer dereference in testcase
2023-01-05 05:32:22 -08:00
Paco Xu
cca7a205ad remove kubeadm v1beta2 support 2023-01-05 21:30:26 +08:00
Dave Chen
23f75bf40e kubeadm: fix the nil pointer dereference in testcase
`genCSRConfig.kubeadmConfig` is possible to be nil if there any error
from the config loading, so access the field should only be done if
there is no error in the previous step.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2023-01-05 16:21:15 +08:00
Dave Chen
49732716de kubeadm: unittest might run as non-root
Signed-off-by: Dave Chen <dave.chen@arm.com>
2023-01-05 12:13:19 +08:00
Paco Xu
b3056ea9bd remove the deprecated kubeadm v1beta2 API 2023-01-04 12:19:15 +08:00
Kubernetes Prow Robot
b532f2b3e7
Merge pull request #112136 from pacoxu/migrate-runtime-endpoint-flags
kubelet: migrate container runtime endpoint flag to config
2023-01-03 09:29:31 -08:00
Dan Winship
169604d906 Validate single-stack --nodeport-addresses sooner
In the dual-stack case, iptables.NewDualStackProxier and
ipvs.NewDualStackProxier filtered the nodeport addresses values by IP
family before creating the single-stack proxiers. But in the
single-stack case, the kube-proxy startup code just passed the value
to the single-stack proxiers without validation, so they had to
re-check it themselves. Fix that.
2023-01-03 09:01:45 -05:00
Dan Winship
e7ed7220eb Explicitly pass IP family to proxier
Rather than re-determining it from the iptables object in both proxies.
2023-01-03 09:01:45 -05:00
Dan Winship
fb84c4f0f0 Fix kube-proxy dual-stack-iptables-binary-presence check
Kube-proxy was checking that iptables supports both IPv4 and IPv6 and
falling back to single-stack if not. But it always fell back to the
primary IP family, regardless of which family iptables supported...
Fix it so that if the primary IP family isn't supported then it bails
out entirely.
2023-01-03 09:01:35 -05:00
JunYang
281a2bdd2f fix a small log error about proxy 2023-01-03 20:07:20 +08:00
Kubernetes Prow Robot
1edbb8cf1a
Merge pull request #114719 from chendave/cleanup_copy
kubeadm: return the output from stdout and stderr
2023-01-02 19:49:31 -08:00
Dave Chen
fd60b9c492 kubeadm: return the output from stdout and stderr
It was just saying the copy of file failed with `exit status 1`,
no much details for what's going wrong.

Combine the stderr and stdout and show those info will be easier
for us to fix the problem.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2023-01-03 10:45:12 +08:00
Claudiu Belu
87f094c5e8 Replaces path.Operation with filepath.Operation (part 2)
The path module has a few different functions:
Clean, Split, Join, Ext, Dir, Base, IsAbs. These functions do not
take into account the OS-specific path separator, meaning that they
won't behave as intended on Windows.

For example, Dir is supposed to return all but the last element of the
path. For the path "C:\some\dir\somewhere", it is supposed to return
"C:\some\dir\", however, it returns ".".

Instead of these functions, the ones in filepath should be used instead.
2023-01-01 00:15:30 +00:00
JunYang
cc4126a010 use klog.InfoS instead of klog.V(0).Info-proxy part 2022-12-29 11:16:51 +08:00
Kubernetes Prow Robot
68b96575a2
Merge pull request #114669 from Nordix/ipvs-remove-module-check
Ipvs: remove module check
2022-12-26 10:09:27 -08:00
Kubernetes Prow Robot
8a71485643
Merge pull request #114658 from neolit123/1.27-fix-dry-run-server-version
kubeadm: return stored FakedServerVersion when dry-running
2022-12-22 19:05:26 -08:00
Lars Ekman
cd15ca0548 proxy/ipvs: Check that a dummy virtual server can be added
This tests both ipvs and the configured scheduler
2022-12-22 20:36:53 +01:00
Lubomir I. Ivanov
f8da9ab287 kubeadm: return stored FakedServerVersion when dry-running
If we are dry-running, do not attempt to fetch the /version
resource and just return the stored FakeServerVersion,
which is done when constructing the dry-run client in
upgrade/common.go#getClient().

The problem here is that during upgrade
dry-run client reactors are backed by a dynamic client
via NewClientBackedDryRunGetterFromKubeconfig() and
for GetActions there seems to be no analog to
Discovery().Serverversion() resource for a dynamic client(?).
2022-12-22 19:53:35 +02:00
Kubernetes Prow Robot
30e0e8edb9
Merge pull request #114597 from songxiao-wang87/runwxs-test10
Add test for cmd/kubeadm/app/images/images.go
2022-12-22 00:13:25 -08:00
Kubernetes Prow Robot
6e65c98681
Merge pull request #114596 from andrewsykim/cloud-node-ipam
Don't run cloud IPAM controller when cloud provider is not enabled
2022-12-21 16:33:25 -08:00
Kubernetes Prow Robot
a6d66d15f6
Merge pull request #114632 from neolit123/1.27-fix-dry-run-server-version
kubeadm: handle dry run GET actions from fake discovery
2022-12-21 04:11:26 -08:00
Lubomir I. Ivanov
54b73deaca kubeadm: handle dry run GET actions from fake discovery
The kubeadm dry run client reactor code is flawed as it assumes
all invoked "get" verb actions can be casted to GetAction.
Apparently that is not the case when Discovery().ServerVersion()
and other discovery calls are made. In such cases the action
type is the bare ActionImpl.

Catch if an action can be casted to ActionImpl and construct a
GetAction from it. GetActionImpl only suppersets ActionImpl with
a Name field (empty string in this case).

Add unit test for Discovery().ServerVersion().
2022-12-21 11:49:59 +02:00
songxiao-wang87
e09c1327b0 Making a run test.
Signed-off-by: songxiao-wang87 <wang.xiaosong23@zte.com.cn>
2022-12-21 07:00:35 +00:00
Andrew Sy Kim
0a4f582c8b cloud-controller-manager: don't run cloud IPAM controller when cloud provider is not enabled
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-12-20 10:29:02 -05:00
Andrew Sy Kim
99d83fac37 kube-controller-manager: don't run cloud IPAM controller when cloud provider is not enabled
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-12-20 10:29:02 -05:00
Lubomir I. Ivanov
b0f38b223e kubeadm: revert feature to backup kubelet config for "upgrade node"
There seems to be a bug where it's not possible to write to
/etc/kubernetes/tmp... at the time of backing up the old kubelet
config.yaml

Also this kubelet config backup only targets "upgrade node"
and it should also target "upgrade apply".

Revert the related changes until a fully working feature
is implemented.
2022-12-20 16:28:28 +02:00
Kubernetes Prow Robot
03bfbdd8aa
Merge pull request #114455 from SataQiu/fix-kubeadm-2022121302
kubeadm: fix the bug that kubeadm always do CRI detection even if it is not required by phase subcommand
2022-12-19 00:51:44 -08:00
Jordan Liggitt
78cb3862f1
Fix indentation/spacing in comments to render correctly in godoc 2022-12-17 23:27:38 -05:00
Kubernetes Prow Robot
fdafd50085
Merge pull request #113318 from pacoxu/learner-mode
kubeadm: enable etcd's learner mode when joining etcd members
2022-12-16 21:55:41 -08:00
Paco Xu
37f5da904b kubeadm: remove nested loops for member promotion 2022-12-17 12:40:15 +08:00
Shihang Zhang
4fd09a06d6 lock LegacyServiceAccountTokenNoAutoGeneration 2022-12-16 10:45:35 -08:00
Paco Xu
b3deecfb17 add etcd as learner mode and promote when fg EtcdLearnerMode is enabled
- use etcd backoff to wait; still has many warning messages
Signed-off-by: Paco Xu <paco.xu@daocloud.io>
2022-12-16 21:09:59 +08:00
Paco Xu
0d2952202e kubeadm upgrade: fix dry run of backing up kubelet config file
Signed-off-by: Paco Xu <paco.xu@daocloud.io>
2022-12-16 17:02:28 +08:00
Kubernetes Prow Robot
c1c0e4fe0b
Merge pull request #114489 from aimuz/replace2tag
kubeadm: replace Runtime.GOOS with go:build tag
2022-12-15 07:27:47 -08:00
Kubernetes Prow Robot
930271fbd8
Merge pull request #114330 from chendave/backup_kubelet
kubeadm: backup the kubelet config file before writting the new one
2022-12-15 07:27:36 -08:00
aimuz
4860b67b48
kubeadm: replace Runtime.GOOS with go:build tag
Signed-off-by: aimuz <mr.imuz@gmail.com>
2022-12-15 17:57:45 +08:00
Dave Chen
cd1f082179 kubeadm: backup the kubelet config file before writting the new one
This addresses the TODO item so that the old kubelet config file could
be recovered if something goes wrong.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-12-15 10:16:36 +08:00
Kubernetes Prow Robot
69fe066adc
Merge pull request #114477 from chendave/kubeadm_reviewer
kubeadm: add chendave as kubeadm reviewer
2022-12-14 13:01:36 -08:00
Kubernetes Prow Robot
bf49c7c0b5
Merge pull request #114080 from chendave/fix_testcases
kubeadm: fix invalid testcase for `enforceRequirements`
2022-12-14 11:55:56 -08:00
Kubernetes Prow Robot
08160f7975
Merge pull request #113465 from chendave/golang_generic
kubeadm: bump to use golang generic
2022-12-14 11:55:34 -08:00
Madhav Jivrajani
f236ab24df *: Make docs more accurate for the contention-profiling flag
The --contention-profiling flag enables block profiling by calling
SetBlockProfileRate(). It, however does not call SetMutexProfileFraction
which enables mutex profiling.

Mutex profiling gives us information about lock contention whereas
block profiling on the other hand gives us information on gorotuines
being blocked on sync primitives.

Updating the docs to "block profiling" in order to make it more accurate.
Eventhough a block profile may reflect contention points on locks to some
extent, it also talks about other sources where goroutines may be blocked.

Signed-off-by: Madhav Jivrajani <madhav.jiv@gmail.com>
2022-12-14 17:34:47 +05:30
SataQiu
2501a46b80 kubeadm: avoid CRI detection for phase subcommand when it's --cri-socket flag is not set 2022-12-14 12:00:49 +08:00
Paco Xu
861db2348e kubeadm: add feature gate EtcdLearnerMode alpha 2022-12-14 11:07:46 +08:00
Dave Chen
8995346259 kubeadm: add chendave as kubeadm reviewer
Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-12-14 10:54:03 +08:00
Dave Chen
8c7609fbe2 kubeadm: bump to use golang generic
Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-12-14 10:31:18 +08:00
Andy Goldstein
0bdcb93b06 Create new conversion Factory interface
Create a new conversion Factory interface for CRDs, and split out
NewDelegatingConverter as a standalone package-level function, instead
of being part of CRConverterFactory.

Signed-off-by: Andy Goldstein <andy.goldstein@redhat.com>
2022-12-13 14:38:21 -05:00
Kubernetes Prow Robot
6b9035513b
Merge pull request #113981 from TommyStarK/unit-tests/cmd-kube-controller-manager-app-options
cmd/kube-controller-manager/app/options: Improving test coverage
2022-12-13 06:25:34 -08:00
TommyStarK
454290c583 cmd/kube-controller-manager/app/options: Improving test coverage
Add a snippet of the expected error string related to the aspect being tested

Signed-off-by: TommyStarK <thomasmilox@gmail.com>
2022-12-13 14:05:48 +01:00
SataQiu
c51ce945a5 kubeadm: add missing --cri-socket flag for upload-certs phase 2022-12-13 16:59:17 +08:00
Paco Xu
f28f40e521 remove a flag check that was introduced in #112542; address several comments
Signed-off-by: Paco Xu <paco.xu@daocloud.io>
2022-12-13 14:00:29 +08:00
Aditi Sharma
214a0ee7b8 Migrate container runtime endpoint flag to config
Signed-off-by: Aditi Sharma <adi.sky17@gmail.com>
Signed-off-by: Paco Xu <paco.xu@daocloud.io>
2022-12-13 14:00:29 +08:00
Kubernetes Prow Robot
014e3be258
Merge pull request #114409 from SataQiu/kubeadm-20221211
kubeadm: cleanup the temporary workaround about kubelet --container-runtime flag
2022-12-11 03:11:14 -08:00
SataQiu
76bb3364d2 kubeadm: cleanup the temporary workaround about kubelet --container-runtime flag 2022-12-11 15:52:12 +08:00
Kubernetes Prow Robot
d2ed6d355e
Merge pull request #114279 from pacoxu/coredns-v1.10.0
update coredns to v1.10.0
2022-12-10 12:21:52 -08:00
Kubernetes Prow Robot
b7684889be
Merge pull request #114379 from SergeyKanzhelev/RotateCertificateIsGA
rotate-certificates is a GA feature now
2022-12-10 09:06:24 -08:00
Kubernetes Prow Robot
f380944261
Merge pull request #114338 from champtar/kubeadm-priority
kubeadm: set priority for "system-node-critical" Pods
2022-12-10 09:05:48 -08:00
Kubernetes Prow Robot
9e3e47f56a
Merge pull request #114176 from QuantumEnergyE/kubeadm_retry_patch_node
Retry patch when then service is unavailable or timeout.
2022-12-10 06:05:26 -08:00
Kubernetes Prow Robot
7754f007d6
Merge pull request #114169 from jpbetz/improve-kubelet-flag-errors
Improve error messages of flags that parse quantities and percentages
2022-12-10 06:05:11 -08:00
TommyStarK
270141aa0b cmd/kube-controller-manager/app/options: Improving test coverage
Signed-off-by: TommyStarK <thomasmilox@gmail.com>
2022-12-10 13:36:12 +01:00
Kubernetes Prow Robot
2e6d3393f7
Merge pull request #113998 from SataQiu/fix-kubeadm-20221117
kubeadm: respect user provided kubeconfig during discovery process
2022-12-10 03:17:39 -08:00
Kubernetes Prow Robot
da588a31d4
Merge pull request #112627 from hj-johannes-lee/fix-typo-3
Kubemark: fix typos to be HollowKubeletOptions
2022-12-09 15:43:14 -08:00
Kubernetes Prow Robot
ee8e76c6ea
Merge pull request #113943 from Octopusjust/k8s-pr10
Add test for cmd/kubeadm/app/constants/constants.go
2022-12-09 14:35:31 -08:00
Kubernetes Prow Robot
15f47da1c9
Merge pull request #113874 from SataQiu/clean-20221113
kubeadm: remove unused command flag constants
2022-12-09 14:34:48 -08:00
Kubernetes Prow Robot
6d823a3815
Merge pull request #113823 from TommyStarK/unit-tests/cmd-kube-apiserver-app-options
cmd/kube-apiserver/app/options: Improving test coverage
2022-12-09 14:34:33 -08:00
Kubernetes Prow Robot
6c0f680be9
Merge pull request #113672 from falser101/fix/kubelet_cleanup
fix: Remove dependency on github.com/pkg/errors
2022-12-09 14:34:19 -08:00
Sergey Kanzhelev
3067259782 rotate-certificates is a GA feature now 2022-12-09 09:02:51 +00:00
Mengjiao Liu
c28b287253 clusterroleaggregation: use contextual logging 2022-12-09 11:02:47 +08:00
Etienne Champetier
64eef3e9fa kubeadm: set priority for "system-node-critical" Pods
Priority is normally set by the admission controller when missing.
For static pods there seems to be some corner cases, as, if priority
is not explicitly set, Graceful Node Shutdown will shutdown
static pods with the other pods that have priority 0 or unset.

Signed-off-by: Etienne Champetier <e.champetier@ateme.com>
2022-12-07 14:19:28 -05:00
Paco Xu
34d845502f kubeadm: use coredns v1.10.0 2022-12-05 11:42:43 +08:00
Paco Xu
f0d1a39e8f add etcd 3.5.6-0 to kuebadm supported etcd version 2022-12-01 18:41:32 +08:00
QuantumEnergyE
847a39afc0 Retry patch when then service is unavailable or timeout. 2022-11-29 23:09:31 +08:00
Joe Betz
ab3c353227 Improve error messages for parse errors of --kube-reserved, --system-reserved and --qos-reserved 2022-11-28 16:35:26 -05:00
Dave Chen
2121ce17da kubeadm: fix invalid testcase for enforceRequirements
These testcases are too vague, they are not test against the scenario
they want, but instead all of them are failed due to client cannot
be created.

`kubeconfig` file is created and mocked the function of `loadConfig` in
order to make those testcases valid.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-11-24 16:52:44 +08:00
SataQiu
21cd660a1f kubeadm: respect user provided kubeconfig during discovery process 2022-11-24 12:29:10 +08:00
Paco Xu
75f89875f8 use etcd 3.5.6-0 after promotion 2022-11-24 09:45:56 +08:00
songxiao-wang87
9ae5af4b6a StorageVersionGC logger
Signed-off-by: songxiao-wang87 <wang.xiaosong23@zte.com.cn>
2022-11-23 03:20:12 +00:00
songxiao-wang87
23fa8032ff word misspelling
Signed-off-by: songxiao-wang87 <wang.xiaosong23@zte.com.cn>
2022-11-23 00:29:36 +00:00
ZhangYu
ad2d23eb9f Add test for cmd/kubeadm/app/phases/upgrade/compute.go 2022-11-21 10:25:30 +08:00
TommyStarK
44c94f98b6 fix typo in cmd/kube-apiserver/app/options/validation_test.go
Put back test case that was dropped by mistake.

Signed-off-by: TommyStarK <thomasmilox@gmail.com>
2022-11-16 19:25:31 +01:00
ZhangYu
44285a16ec Add test for cmd/kubeadm/app/constants/constants.go
Add test for cmd/kubeadm/app/constants/constants.go
2022-11-16 14:50:32 +08:00
Mark Rossetti
534f052a8d
Updating pause image refernces to 3.9
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2022-11-14 10:24:54 -08:00
SataQiu
69547267ef kubeadm: remove unused command flag constants 2022-11-13 17:56:58 +08:00
Kubernetes Prow Robot
d1c0171aed
Merge pull request #111023 from pohly/dynamic-resource-allocation
dynamic resource allocation
2022-11-11 16:21:56 -08:00
Ed Bartosh
ae0f38437c kubelet: add support for dynamic resource allocation
Dependencies need to be updated to use
github.com/container-orchestrated-devices/container-device-interface.

It's not decided yet whether we will implement Topology support
for DRA or not. Not having any toppology-related code
will help to avoid wrong impression that DRA is used as a hint
provider for the Topology Manager.
2022-11-11 21:58:03 +01:00
Alexander Zielenski
3c68fe6596 fix aggregated discovery version sorting
add test for level based priorities
2022-11-10 17:16:14 -08:00
Patrick Ohly
0133df3929 kube-controller-manager: add ResourceClaim controller
The controller uses the exact same logic as the generic ephemeral inline volume
controller, just for inline ResourceClaimTemplate -> ResourceClaim.

In addition, it supports removal of pods from the ReservedFor field when those
pods are known to not need the claim anymore. At the moment, only this special
case is supported. Removal of arbitrary objects would imply granting full read
access to all types to determine whether a) an object is gone and b) if the
current incarnation is the one which is listed in ReservedFor. This may get
added later.
2022-11-10 20:23:50 +01:00
Patrick Ohly
5cca60f0b8 api: dynamic resource allocation API
This adds a new resource.k8s.io API group with v1alpha1 as version. It contains
four new types: resource.ResourceClaim, resource.ResourceClass, resource.ResourceClaimTemplate, and
resource.PodScheduling.
2022-11-10 20:08:24 +01:00
TommyStarK
47fdbd97d3 cmd/kube-apiserver/app/options: Improving test coverage
Signed-off-by: TommyStarK <thomasmilox@gmail.com>
2022-11-10 16:20:20 +01:00
Kubernetes Prow Robot
8058e8eff8
Merge pull request #113171 from Jefftree/aggregated-discovery-generic
Aggregated discovery server changes
2022-11-09 00:08:12 -08:00
jianfei.zhang
01a6668ece fix: Remove dependency on github.com/pkg/errors
Signed-off-by: jianfei.zhang <jianfei.zhang@daocloud.io>
2022-11-09 09:54:34 +08:00
Kubernetes Prow Robot
e62cfabf93
Merge pull request #112050 from nilekhc/kms-hot-reload
Implements hot reload of the KMS `EncryptionConfiguration`
2022-11-08 17:24:12 -08:00
Alexander Zielenski
b64df605b4 add aggregated-apiservices to aggregated discovery
Co-authored-by: Jeffrey Ying <jeffrey.ying86@live.com>
2022-11-08 14:44:50 -08:00
Alexander Zielenski
6e83f67505 add new aggregated resourcemanager to genericapiserver
Co-authored-by: Jeffrey Ying <jeffrey.ying86@live.com>
2022-11-08 14:44:49 -08:00
Nilekh Chaudhari
761b7822fc
feat: implements kms encryption config hot reload
This change enables hot reload of encryption config file when api server
flag --encryption-provider-config-automatic-reload is set to true. This
allows the user to change the encryption config file without restarting
kube-apiserver. The change is detected by polling the file and is done
by using fsnotify watcher. When file is updated it's process to generate
new set of transformers and close the old ones.

Signed-off-by: Nilekh Chaudhari <1626598+nilekhc@users.noreply.github.com>
2022-11-08 21:47:59 +00:00
Kubernetes Prow Robot
2f22404003
Merge pull request #113747 from thockin/safer-controller-init-map
Make static controller registration slightly safer
2022-11-08 12:43:25 -08:00
Kubernetes Prow Robot
3a99a5954d
Merge pull request #113629 from andrewsykim/apiserver-identity-beta
Promote APIServerIdentity to Beta
2022-11-08 12:43:10 -08:00
Tim Hockin
d577e2bfb1
Make static controller registration slightly safer
As we have more and more of these, the risk of a dup name seems
non-zero.
2022-11-08 09:44:19 -08:00
Kubernetes Prow Robot
e2b9fd760d
Merge pull request #113710 from kerthcet/deprecate/enable-taint-manager
Deprecate CLI flag pod-eviction-timeout in KCM
2022-11-08 09:34:22 -08:00
Kubernetes Prow Robot
95bd687a28
Merge pull request #113275 from Huang-Wei/kep-3521-B
[KEP-3521] Part 2: Core scheduling implementation
2022-11-07 23:18:19 -08:00
Kubernetes Prow Robot
595ea32411
Merge pull request #113314 from cici37/celIntegration
CEL validation in Admission chain
2022-11-07 17:08:33 -08:00
Andrew Sy Kim
02020b20e7 kube-apiserver: remove flags --identity-lease-duration-seconds and --identity-lease-renew-interval-seconds
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-11-07 19:36:22 -05:00
Kubernetes Prow Robot
243ba086e7
Merge pull request #112914 from PiotrProkop/topology-manager-policies-flag
node: topologymanager:  Improved multi-numa alignment in Topology Manager
2022-11-07 16:00:51 -08:00
Wei Huang
0b27f25252
PreEnqueue implementation
- Add PreEnqueuePlugin to Scheduler Framework
- Implement PreEnqueuePlugin in scheduler queue
- Implementation of SchedulingGates plugin
- Metrics
2022-11-07 14:02:58 -08:00
Cici Huang
0486e06261 Adding new api version of admissionregistration.k8s.io v1alpha1 for CEL in Admission Control 2022-11-07 20:51:51 +00:00
Kubernetes Prow Robot
b1dd1cd2f1
Merge pull request #113529 from enj/enj/i/kms_single_healthz
kms: add wiring to support automatic encryption config reload
2022-11-07 11:20:42 -08:00
Monis Khan
22e540bc48
kms: add wiring to support automatic encryption config reload
This change adds a flag --encryption-provider-config-automatic-reload
which will be used to drive automatic reloading of the encryption
config at runtime.  While this flag is set to true, or when KMS v2
plugins are used without KMS v1 plugins, the /healthz endpoints
associated with said plugins are collapsed into a single endpoint at
/healthz/kms-providers - in this state, it is not possible to
configure exclusions for specific KMS providers while including the
remaining ones - ex: using /readyz?exclude=kms-provider-1 to exclude
a particular KMS is not possible.  This single healthz check handles
checking  all configured KMS providers.  When reloading is enabled
but no KMS providers are configured, it is a no-op.

k8s.io/apiserver does not support dynamic addition and removal of
healthz checks at runtime.  Reloading will instead have a single
static healthz check and swap the underlying implementation at
runtime when a config change occurs.

Signed-off-by: Monis Khan <mok@microsoft.com>
2022-11-07 12:03:18 -05:00
kerthcet
b6d021b7e3 Deprecate CLI flag pod-eviction-timeout in KCM
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-11-08 00:21:56 +08:00
Kubernetes Prow Robot
108523d037
Merge pull request #113352 from ping035627/k8s-221027
Correct some incorrect comments
2022-11-05 08:22:24 -07:00
Jordan Liggitt
318b089918
Stop creating three copies of admission plugins 2022-11-04 13:35:15 -04:00
Kubernetes Prow Robot
1bf4af4584
Merge pull request #111930 from azylinski/new-histogram-pod_start_sli_duration_seconds
New histogram: Pod start SLI duration
2022-11-04 07:28:14 -07:00
Kubernetes Prow Robot
d86c013b0d
Merge pull request #108250 from cyclinder/add_flag_in_proxy
kube-proxy:  add a flag  to  disable nodePortOnLocalhost
2022-11-03 17:10:13 -07:00
Kubernetes Prow Robot
d802bd56ac
Merge pull request #113559 from wojtek-t/clean_shutdown_5
Clean shutdown of few more integration tests
2022-11-03 09:01:45 -07:00
PiotrProkop
d5dd42dfac Improved multi-numa alignment in Topology Manager: introduce TopologyManagerOptions
Signed-off-by: PiotrProkop <pprokop@nvidia.com>
2022-11-03 10:45:21 +01:00
PiotrProkop
daee219210 Improved multi-numa alignment in Topology Manager: add topology-manager-policy-options flag in Kubelet
This patch adds new Kubelet option topologyManagerPolicyOptions.
To introduce new TopologyManager options, first we need to introduce new
flag called `topology-manager-policy-options` to allow users to modify
behaviour of best-effort and restricted policies.

Signed-off-by: PiotrProkop <pprokop@nvidia.com>
2022-11-03 09:45:33 +01:00
Kubernetes Prow Robot
a091b01878
Merge pull request #112053 from helen-frank/fix/patchKubeletLongDescription
sync website change
2022-11-02 21:39:46 -07:00
Kubernetes Prow Robot
433787d25b
Merge pull request #113018 from fromanirh/cpumanager-ga-features
node: kubelet: cpumgr: CPU Manager to GA
2022-11-02 14:41:01 -07:00
Kubernetes Prow Robot
25dc4c4f32
Merge pull request #112980 from swatisehgal/devicemanager-ga-graduation
node: devicemgr: Graduate Kubelet DeviceManager to GA
2022-11-02 13:17:01 -07:00
Wojciech Tyczyński
3786cfdf85 Clean shutdown of serving integration test 2022-11-02 21:08:43 +01:00
Francesco Romani
a6b928d90c kubelet: cpumgr: internal variable trivial rename
CPUManager is going GA, thus it makes little sense
to keep the names of the internal configuration
variables `Experimental*`.

Trivial rename only.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2022-11-02 18:41:42 +01:00
Francesco Romani
ff44dc1932 cpumanager: the FG is locked to default (ON)
hence we can remove the if() guards, the feature
is always available.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2022-11-02 18:41:41 +01:00
Kubernetes Prow Robot
c4a8d3e9e4
Merge pull request #113462 from chendave/reset_test
kubeadm: add testcases for `kubeadm reset`
2022-11-02 06:47:15 -07:00
Swati Sehgal
8b29eded52 node: devicemgr: Remove devicePluginEnabled field from container mgr
With graduation of device plugins to GA in 1.26, the feature gate is
enabled by default so `devicePluginEnabled` field no longer needs to
be passed at the time of Container Manager creation.

In addition to that, we remove the `ManagerStub` as it is no longer
needed.

Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2022-11-02 11:05:20 +00:00
cyclinder
bef2070031
kube-proxy: add a flag to disables the allowing NodePort services to be accessed via localhost 2022-11-02 16:17:52 +08:00
Kubernetes Prow Robot
22f3e64039
Merge pull request #113320 from chendave/test
kubeadm: simply struct of `joinOptions` by removing `joinControlPlane`
2022-11-01 02:48:45 -07:00
Dave Chen
3ddedf00e5 kubeadm: add testcases for kubeadm reset
For parity with `init` and `join`, the test file only
covers some basic scenarios and is expected to be expanded
when the config file for `kubeadm reset` is ready.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-11-01 11:34:53 +08:00
Kubernetes Prow Robot
f9bfa378ef
Merge pull request #113424 from liggitt/simplify-go.mod
Simplify go.mod
2022-10-31 14:20:57 -07:00
Kubernetes Prow Robot
ac59b03214
Merge pull request #113448 from pacoxu/remove-UnversionedKubeletConfigMap
remove  UnversionedKubeletConfigMap feature gate: GAed in v1.25
2022-10-31 01:18:43 -07:00
Paco Xu
e57985a3f4 remove UnversionedKubeletConfigMap feature gate: GAed in v1.25 2022-10-30 11:17:24 +08:00
Jordan Liggitt
f488c67eb5
Fix unwanted dependencies scanner 2022-10-28 15:15:20 -04:00
Kubernetes Prow Robot
021e2d394c
Merge pull request #113361 from SataQiu/fix-20221026
kube-apiserver: keep the types of LeaseEndpointReconcilerType and NoneEndpointReconcilerType the same as MasterCountReconcilerType
2022-10-27 11:24:33 -07:00
Rita Zhang
c3df726c7b
Enable encryption for custom resources
Signed-off-by: Rita Zhang <rita.z.zhang@gmail.com>
2022-10-26 13:37:11 -07:00
Kubernetes Prow Robot
f3e6e05979
Merge pull request #113355 from chendave/preflightErrors
kubeadm: Don't reuse the `ignorePreflightErrors` from initCfg for `reset`
2022-10-26 08:40:36 -07:00
SataQiu
ecfae2bebe kube-apiserver: keep the types of LeaseEndpointReconcilerType and NoneEndpointReconcilerType the same as MasterCountReconcilerType 2022-10-26 21:49:31 +08:00
Artur Żyliński
9f31669a53 New histogram: Pod start SLI duration 2022-10-26 11:28:17 +02:00
Dave Chen
5854b92450 kubeadm: Don't reuse the ignorePreflightErrors from initCfg for reset
The init config file fetched from cluster won't have `ignorePreflightErrors`
set, and shouldn't try to reuse it even it's set with any value.

Instead, it should be defined in reset config file and fetch from it when the
reset config is ready.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-10-26 16:14:11 +08:00
Kubernetes Prow Robot
5539a5b80f
Merge pull request #113353 from chendave/validation
kubeadm: print the invalid field when validating bootstrap token discovery
2022-10-26 00:44:36 -07:00
Dave Chen
1607babd35 kubeadm: print the invalid field when validating bootstrap token discovery
It was saying `discovery.bootstrapToken` is invalid with empty value, while
it is actually `discovery.bootstrapToken.caCertHashes` invalid.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-10-26 13:45:00 +08:00
PingWang
015ca0c6a5 Correct some incorrect comments
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2022-10-26 10:06:24 +08:00
Kubernetes Prow Robot
244c035b87
Merge pull request #110263 from claudiubelu/unittests
unittests: Fixes unit tests for Windows
2022-10-25 14:50:34 -07:00
Claudiu Belu
6f2eeed2e8 unittests: Fixes unit tests for Windows
Currently, there are some unit tests that are failing on Windows due to
various reasons:

- config options not supported on Windows.
- files not closed, which means that they cannot be removed / renamed.
- paths not properly joined (filepath.Join should be used).
- time.Now() is not as precise on Windows, which means that 2
  consecutive calls may return the same timestamp.
- different error messages on Windows.
- files have \r\n line endings on Windows.
- /tmp directory being used, which might not exist on Windows. Instead,
  the OS-specific Temp directory should be used.
- the default value for Kubelet's EvictionHard field was containing
  OS-specific fields. This is now moved, the field is now set during
  Kubelet's initialization, after the config file is read.
2022-10-25 23:46:56 +03:00
Dave Chen
d4fd5b77aa kubeadm: simply struct of joinOptions by removing joinControlPlane
Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-10-25 19:03:47 +08:00
Kubernetes Prow Robot
38c659eb9f
Merge pull request #111534 from claudiubelu/unittests-7
unittests: Fixes unit tests for Windows
2022-10-24 06:30:25 -07:00
SataQiu
93ece333e6 kubeadm: print the detailed manifest info when decoding it into runtime.Object fails 2022-10-21 16:50:17 +08:00
Wei Huang
761d06d91a
cleanup scheduler server_test.go 2022-10-20 18:09:05 -07:00
Antonio Ojea
75913e9949 kube-proxy wait for cluster cidr skip delete events 2022-10-18 19:29:09 +00:00
Antonio Ojea
a38b9363ec kube-proxy handle node PodCIDR changs
Kube/proxy, in NodeCIDR local detector mode, uses the node.Spec.PodCIDRs
field to build the Services iptables rules.

The Node object depends on the kubelet, but if kube-proxy runs as a
static pods or as a standalone binary, it is not possible to guarantee
that the values obtained at bootsrap are valid, causing traffic outages.

Kube-proxy has to react on node changes to avoid this problems, it
simply restarts if detect that the node PodCIDRs have changed.

In case that the Node has been deleted, kube-proxy will only log an
error and keep working, since it may break graceful shutdowns of the
node.
2022-10-18 19:25:40 +00:00
helen
008dc87aa9 Remove HTTP Server support for pushing pods onto the kubelet #3015
Signed-off-by: helen <helenfrank@protonmail.com>
Signed-off-by: helen <haitao.zhang@daocloud.io>
2022-10-18 22:02:09 +08:00
Claudiu Belu
af77381e01 unit tests: Skip Windows-unrelated tests on Windows
Some of the unit tests cannot pass on Windows due to various reasons:

- fsnotify does not have a Windows implementation.
- Proxy Mode IPVS not supported on Windows.
- Seccomp not supported on Windows.
- VolumeMode=Block is not supported on Windows.
- iSCSI volumes are mounted differently on Windows, and iscsiadm is a
  Linux utility.
2022-10-18 12:43:07 +03:00
Kubernetes Prow Robot
85643c0f93
Merge pull request #108501 from zroubalik/hpa
add `--concurrent-horizontal-pod-autoscaler-syncs` flag to kube-controller-manager
2022-10-17 14:13:18 -07:00
Kubernetes Prow Robot
28ced69b76
Merge pull request #113054 from logicalhan/proxy-metric
remove rate limiter metric as it is not in use
2022-10-17 11:09:18 -07:00
Kubernetes Prow Robot
521fbd7e6a
Merge pull request #112521 from yuanchen8911/profile-config
Add a scheduler profile level parameter percentageOfNodesToScore
2022-10-17 11:09:06 -07:00
Zbynek Roubalik
1cefcdea2d add --concurrent-horizontal-pod-autoscaler-syncs flag to kube-controller-manager
Signed-off-by: Zbynek Roubalik <zroubalik@gmail.com>
2022-10-17 17:39:31 +02:00
Kubernetes Prow Robot
3b8cfefaee
Merge pull request #113005 from chendave/dry-run-prepare
kubeadm: Enable `dry-run` mode for phase of `control-plane-prepare certs`
2022-10-17 06:59:07 -07:00
Dave Chen
b3f91f0c02 kubeadm: Enable dry-run mode for phase of control-plane-prepare certs
- All certs will be created under the folder of `/etc/kubernetes/tmp/kubeadm-join-dryrunxxx`
if the `dry-run` mode is enabled.

- Try to make each phase idempotent by resetting the cert dir with `dry-run` mode

Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-10-17 18:29:53 +08:00
Dave Chen
6694b6bf9a kubeadm: fix the err msg if the token format is not match
Previously, the err msg will repeat the token ID of the form "[a-z0-9]{6}"
if the token doesn't match with the desired format.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-10-17 15:59:18 +08:00
Kubernetes Prow Robot
b6e8dfec61
Merge pull request #113057 from Richabanker/kube-proxy-metrics-slis
add metrics/slis to kube-proxy health checks
2022-10-15 06:49:05 -07:00
Kubernetes Prow Robot
6705015101
Merge pull request #112133 from knabben/remove-kproxy-userspace
Remove kube-proxy userspace modes
2022-10-14 17:31:06 -07:00
Yuan Chen
7297f48f12 Add profile level percentageOfNodesToScore
Fix conversion errors

Changed the order

update

update

fix manaul coversions

keep the global parameter for backward compatibility

Address Wei's comments

Fix an error

Fix issues

Add unit tests for validation

Fix a comment

Address comments

Update comments

fix verifiation errors

Add tests for scheme_test.go

Convert percentageOfNodesToScore to pointer

Fix errors

Resolve conflicts

Fix testing errors

Address Wei's comments

Revert IntPtr to Int changes

Address comments

Not overrite percentageOfNodesToScore

Fix a bug

Fix a bug

change errs to err

Fix a nit

Remove duplication

Address comments

Fix lint warning

Fix an issue

Update comments

Clean up

Address comments

Revert changes to defaults

fix unit test error

Update

Fix tests

Use default PluginConfigs
2022-10-14 13:01:06 -07:00
Kubernetes Prow Robot
52b47dac4f
Merge pull request #113026 from Richabanker/scheduler-metrics-slis
add metrics/slis to kube-scheduler health checks
2022-10-14 08:48:57 -07:00
Kubernetes Prow Robot
baaf22a37c
Merge pull request #113039 from chendave/fix_help_msg
kubeadm: fix the help msg for `kubeadm init phase upload-certs`
2022-10-14 03:38:46 -07:00
Kubernetes Prow Robot
2f7fae3451
Merge pull request #112941 from chendave/certs_msg
kubeadm: print out the solution if CA files do not exist
2022-10-14 01:40:45 -07:00
Dave Chen
bd1ac95974 kubeadm: fix the help msg for kubeadm init phase upload-certs
The phase `kubeadm init phase upload-certs` intends to be used if
secret "kubeadm-certs" is expired and deleted.

But the help msg was saying this command cannot run on its own.

It's fine to run this command on its own to upload local certs to secret.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-10-14 15:39:30 +08:00
Kubernetes Prow Robot
542ec97705
Merge pull request #113037 from pacoxu/fsnotify-v1.6.0
update fsnotify to v1.6.0
2022-10-13 23:00:57 -07:00
Kubernetes Prow Robot
a31e88ad6e
Merge pull request #113048 from SataQiu/clean-20221013
kubeadm: optimize and make the usage consistent about apierrors.IsNotFound
2022-10-13 13:43:04 -07:00
Han Kang
2bbd445f50 remove rate limiter metric as it is not in use
Change-Id: I91157653e3860eeecc3f572aee88da6ffc65faed
2022-10-13 13:07:11 -07:00
Richa Banker
10903cb796 add metrics/slis to kube-proxy health checks 2022-10-13 12:57:28 -07:00
Kubernetes Prow Robot
01019770cf
Merge pull request #112789 from enj/enj/r/kms_load_once_v2
Load encryption config once (second approach)
2022-10-13 11:25:02 -07:00
SataQiu
d4cafe4738 kubeadm: optimize and make the usage consistent about apierrors.IsNotFound 2022-10-13 23:23:53 +08:00
Monis Khan
f507bc2553
Load encryption config once
This change updates the API server code to load the encryption
config once at start up instead of multiple times.  Previously the
code would set up the storage transformers and the etcd healthz
checks in separate parse steps.  This is problematic for KMS v2 key
ID based staleness checks which need to be able to assert that the
API server has a single view into the KMS plugin's current key ID.

Signed-off-by: Monis Khan <mok@microsoft.com>
2022-10-13 10:52:29 -04:00
Paco Xu
2ce7a81169 fsnotify: use event.Has instead of "event.Op&h == h" 2022-10-13 13:42:26 +08:00
Richa Banker
0dae5510b2 add metrics/slis to kube-scheduler health checks 2022-10-12 13:05:47 -07:00
Kubernetes Prow Robot
525280d285
Merge pull request #112643 from SergeyKanzhelev/removeDynamicKubeletConfig
remove DynamicKubeletConfig feature gate from the code
2022-10-12 01:33:00 -07:00
Kubernetes Prow Robot
335fd41484
Merge pull request #112978 from logicalhan/kcm-fg
add 'metrics/slis' to kcm health checks
2022-10-11 23:39:00 -07:00
Han Kang
bd2417b435 add 'metrics/slis' to kcm health checks
Change-Id: I8c2114e538bb417deff8c3f9f107758c089227dc
2022-10-11 09:18:42 -07:00
Kubernetes Prow Robot
5301d92150
Merge pull request #112945 from chendave/dry-run
kubeadm: Inherit `dry-run` flags for each sub-phases
2022-10-11 03:03:02 -07:00
Dave Chen
183a26f853 kubeadm: Inherit dry-run flags for each sub-phases
- The sub-phases like `kubeadm reset phase cleanup-node` which
could be run independently would be able to support the `dry-run`
mode as well.

- Consistent with the sub-phases which support the `dry-run` mode
already, such as `kubeadm init phase control-plane apiserver`.

- Prepare for the day when each of those sub-phases could be run
independently.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-10-11 16:02:50 +08:00
Jordan Liggitt
dd0910691f
Move root approvers to subdirs 2022-10-10 13:43:03 -04:00
Jordan Liggitt
b8b86bb2e1
Sort subdir OWNERS files 2022-10-10 08:31:43 -04:00
Jordan Liggitt
04b178b49b
Make root approval non-recursive 2022-10-10 08:26:53 -04:00
Dave Chen
3fa6662875 kubeadm: print out the solution if CA files do not exist
phase `kubeadm init phase kubeconfig/*` must run after the phase
`kubeadm init phase certs/ca` to get the client cert and key singed
by the CA.

print out the way to generate the CA file is more useful than just say
the file cannot be loaded.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-10-10 15:24:42 +08:00
Kubernetes Prow Robot
99360e5dbc
Merge pull request #112946 from chendave/typo
kubeadm: fix typo for cmd reset's runner binding
2022-10-09 23:55:20 -07:00
Dave Chen
b375109225 kubeadm: fix typo for cmd reset's runner binding
Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-10-10 11:51:15 +08:00
Shiming Zhang
3a54e3e56a Cleanup CopyFile 2022-10-09 19:59:39 +08:00
Amim Knabben
7df6c02288 Remove Linux and Windows Kube-proxy Userspace mode 2022-10-05 16:59:02 -03:00
pintuiitbhi
970d19b4ee update apiserver to APIServer 2022-10-06 00:20:03 +05:30
pintuiitbhi
cec1c71fbc apiserver: grammar correction of comment 2022-10-06 00:17:42 +05:30
Kubernetes Prow Robot
98233be715
Merge pull request #112709 from swagatbora90/kubelet-tracing
Support otel tracing in cri remote image service
2022-10-04 14:12:00 -07:00
Kubernetes Prow Robot
9720af2ba3
Merge pull request #112306 from tkashem/v1beta3
add v1beta3 for Priority And Fairness
2022-10-03 10:06:14 -07:00
Kubernetes Prow Robot
02109414e8
Merge pull request #112542 from astraw99/fix-runtime-validate
Add validation for runtime endpoint flag
2022-09-30 18:04:24 -07:00
Swagat Bora
caa83c25ae Support otel tracing in cri remote image service
Signed-off-by: Swagat Bora <sbora@amazon.com>
2022-09-29 22:15:07 +00:00
Kubernetes Prow Robot
3af1e5fdf6
Merge pull request #112707 from enj/enj/i/https_links
Use https links for k8s KEPs, issues, PRs, etc
2022-09-29 12:34:40 -07:00
Kubernetes Prow Robot
c012d901d8
Merge pull request #112598 from wangguoyan/fix-deprecated-method
replace deprecated ioutil functions
2022-09-28 20:38:29 -07:00
wangguoyan
447ad7eacb replace deprecated ioutil functions
Signed-off-by: wangguoyan <717338097@qq.com>
2022-09-29 09:00:10 +08:00
SataQiu
61cd585ad2 kubeadm: remove redundant import alias and unused apiclient util funcs 2022-09-28 12:36:54 +08:00
astraw99
805be30745 Add validation for runtime endpoint 2022-09-28 10:33:35 +08:00
Kubernetes Prow Robot
8cbe9e91c8
Merge pull request #112742 from ping035627/k8s-220926
Kubeadm: Cleanup runPreflight in init/preflight
2022-09-27 13:00:00 -07:00
PingWang
da88db6321 Kubeadm: Cleanup runPreflight in join/preflight
Signed-off-by: PingWang <wang.ping5@zte.com.cn>

update runPreflight in init/preflight.go

Signed-off-by: PingWang <wang.ping5@zte.com.cn>

cleanup runPreflight in init/preflight.go

Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2022-09-27 19:36:45 +08:00
SataQiu
605f3dd89a kubeadm: fix the field path of ClusterConfiguration networking validation 2022-09-27 18:51:19 +08:00
Kubernetes Prow Robot
edd6776943
Merge pull request #112732 from SataQiu/fix-kubeadm-20220926
kubeadm: support image repository format validation
2022-09-27 03:23:50 -07:00
Kubernetes Prow Robot
27b7d3cd41
Merge pull request #112620 from pacoxu/windows-kubeadm-ut
add go:build no windows for some control-plane related UT for kubeadm
2022-09-26 22:29:50 -07:00
Han Kang
e95179ffb6 Wire up feature_gate.go with metrics via AddMetrics method
wire up feature_gate.go with metrics via AddMetrics method

Change-Id: I9b4f6b04c0f4eb9bcb198b16284393d21c774ad8

wire in metrics to kubernetes components

Change-Id: I6d4ef8b26f149f62b03f32d1658f04f3056fe4dc

rename metric since we're using the value to determine if enabled is true or false

Change-Id: I13a6b6df90a5ffb4b9c5b34fa187562413bea029

Update staging/src/k8s.io/component-base/featuregate/feature_gate.go

Co-authored-by: Jordan Liggitt <jordan@liggitt.net>
2022-09-26 08:44:42 -07:00
SataQiu
b833e628b2 kubeadm: support image repository format validation 2022-09-26 19:38:42 +08:00
Paco Xu
241445759e add go:build no windows for some control-plane related UT for kubeadm 2022-09-26 17:17:41 +08:00
Monis Khan
b738be9b46
Use https links for k8s KEPs, issues, PRs, etc
Signed-off-by: Monis Khan <mok@microsoft.com>
2022-09-23 23:36:24 +00:00
Sergey Kanzhelev
39e49a91d7 remove DynamicKubeletConfig feature gate from the code 2022-09-23 23:14:19 +00:00
Davanum Srinivas
837d3b4ca2
drop scripts and files related to linkcheck
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-09-23 13:55:45 -04:00
anstns
105a7319b1 Optimize name rules 2022-09-22 21:46:37 +08:00
Abu Kashem
6dc81c3280
update api enablement for flowcontrol v1beta3 2022-09-21 18:54:20 -04:00
Abu Kashem
0a99e6ebb1
apiserver: update apf logic to use v1beta3 2022-09-21 18:54:20 -04:00
Abu Kashem
e1a764d635
apiserver: enable v1beta3 for apf 2022-09-21 18:54:19 -04:00
Kubernetes Prow Robot
17c5066625
Merge pull request #112596 from chendave/data
kubeadm: try to reuse `RunData` if possible
2022-09-20 23:37:06 -07:00
Dave Chen
41b8536a50 kubeadm: try to reuse RunData if possible
The generation of `RunData` for init and join is relative time consuming,
the data should be shared / reused whenever possible.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-09-21 13:35:15 +08:00
Hyeongju Johannes Lee
963935ed2e Kubemark: fix typos to be HollowKubeletOptions 2022-09-20 14:44:24 +03:00
Kubernetes Prow Robot
6820a383be
Merge pull request #112545 from dims/update-etcd-3.5.5-and-all-otel-related-to-latest
Update etcd 3.5.5 and all otel related libraries to newer versions
2022-09-19 19:15:31 -07:00
Kubernetes Prow Robot
297a986738
Merge pull request #110941 from runzhliu/patch-1
improve the comments
2022-09-19 14:21:34 -07:00
Kubernetes Prow Robot
80edf6d1a4
Merge pull request #112532 from ldsdsy/modify4
Eliminate unnecessary string conversions in options.go
2022-09-19 07:53:29 -07:00
Kubernetes Prow Robot
f6f44bff90
Merge pull request #111708 from yangjunmyfm192085/fixloginfi
use klog.InfoS instead of klog.V(0).InfoS
2022-09-19 07:53:18 -07:00
Davanum Srinivas
01d8a4f0c5
update to v1.12.0 of semconv
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-09-18 19:34:30 -04:00
Kubernetes Prow Robot
127f33f63d
Merge pull request #111221 from inosato/remove-ioutil-from-kubelet
Remove ioutil in kubelet/kubeadm and its tests
2022-09-17 21:56:28 -07:00
Davanum Srinivas
3eaca7cf51
update code to use newer otel api
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-09-17 21:48:20 -04:00
ldsdsy
bd339b9c9c Eliminate unnecessary string conversions in options.go 2022-09-17 10:01:15 +08:00
Kubernetes Prow Robot
06fd0a0728
Merge pull request #112489 from dims/etcd_update_v3.5.5
etcd: Updated to v3.5.5
2022-09-16 08:49:16 -07:00
Kubernetes Prow Robot
05f17ee5d6
Merge pull request #111076 from claudiubelu/unittests-6
unittests: Fixes cmd unit tests for Windows
2022-09-16 07:39:27 -07:00
SataQiu
de4aeecd48 kubeadm: allow RSA and ECDSA format keys in preflight check 2022-09-16 18:50:45 +08:00
Davanum Srinivas
0f6b9b883c
etcd: Updated to v3.5.5
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-09-15 21:05:13 -04:00
Kubernetes Prow Robot
4c3a7d767d
Merge pull request #112448 from SataQiu/improve-apiserver-20220914
Using simpler wrapper function capabilities.Setup instead of calling Initialize directly
2022-09-15 16:41:26 -07:00
Kubernetes Prow Robot
657776e52b
Merge pull request #112350 from chenk008/reduce_kubeadm_tls_wait
Reduce kubeadm tls bootstrap wait
2022-09-14 22:21:22 -07:00
chenk008
c601c7fd4c reduce kubeadm tls bootstrap retry interval to 1s 2022-09-15 11:31:02 +08:00
Kubernetes Prow Robot
4e8b11d441
Merge pull request #111333 from flant/selfsubjectattributesreviews
Add auth API to get self subject attributes
2022-09-14 13:07:22 -07:00
Kubernetes Prow Robot
ee94dce5b1
Merge pull request #112015 from humblec/glusterfs-gone
Removal of GlusterFS code from the repo
2022-09-14 10:03:00 -07:00
m.nabokikh
00dfba473b Add auth API to get self subject attributes
Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>
2022-09-14 18:00:26 +02:00
SataQiu
baade6c730 using simpler wrapper function capabilities.Setup instead of calling Initialize directly 2022-09-14 23:37:32 +08:00
B Aravind
b307321c0a
I have evaluated TODO retry remove if feasible (#112383)
Hi team, hope u all doing well.

I have checked TODO that to remove "retry" if feasible but it's important i think that it shouldn't be removed because it was used in every file on your repo.

Update idempotency.go

Update idempotency.go

Update idempotency.go
2022-09-13 22:31:00 -07:00
Kubernetes Prow Robot
cee668beba
Merge pull request #112205 from jprzychodzen/ensure-metric-registered
Ensure metric 'running_managed_controllers' is registered
2022-09-13 15:45:00 -07:00
Humble Chirammal
c2a7bfd6b4 removal of glusterfs in-tree driver code from the source
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2022-09-13 20:11:50 +05:30
Kubernetes Prow Robot
2b2be7fa6b
Merge pull request #111277 from chymy/improve-kubeadm-subcommand-tips
kubeadm: improve tips of incorrect input of kubedm subcommand
2022-09-09 00:49:23 -07:00
Kubernetes Prow Robot
a7936658ba
Merge pull request #112193 from jindijamie/master
Add an option for aggregator
2022-09-08 17:21:24 -07:00
Kubernetes Prow Robot
a7a5bfaef4
Merge pull request #112294 from pohly/importaliases
E2E import aliases
2022-09-08 13:11:31 -07:00
Kubernetes Prow Robot
cc4b7dc3c5
Merge pull request #111986 from enj/enj/i/transformer_leak
kms: fix go routine leak in gRPC connection
2022-09-08 09:49:46 -07:00
Patrick Ohly
a00a1c99d5 preferredimports: support regular expressions for the import path
Having to list all packages isn't very manageable and requires constant
maintenance that is easy to miss. For example, test/e2e/framework/daemonset was
created without adding an entry for it. Promptly one file doesn't use the
intended e2edaemonset alias.

A simpler solution is to support matching the import path against a regular
expression and deriving the intended alias by expanding placeholders (${name},
$1, etc.) with the corresponding submatches from the import path. Example:

   k8s.io/kubernetes/test/e2e/framework/([^/]*) -> e2e$1

This support is backwards compatible because normal import paths don't contain
characters that are special in a regular expression and normal aliases don't
contain placeholders.

A regular expression must match the entire import path, otherwise it is
skipped.
2022-09-08 18:37:52 +02:00
Monis Khan
4e68e9b5ad
kms: fix go routine leak in gRPC connection
Signed-off-by: Monis Khan <mok@microsoft.com>
2022-09-08 11:46:57 -04:00
Kubernetes Prow Robot
00c0c9d880
Merge pull request #112235 from demoManito/fix/upgrade-style
fix: modify declaration slice and map code style
2022-09-08 02:56:06 -07:00
Kubernetes Prow Robot
cae4c036c8
Merge pull request #112241 from xiaoliwang/simplified_regexp
Optimize: simplified regexp
2022-09-07 02:28:36 -07:00
demoManito
35c26f48e4 fix: map and slice create style 2022-09-07 17:10:13 +08:00
jiepeng
211e0a6496 simplified regexp 2022-09-07 15:51:36 +08:00
Kubernetes Prow Robot
3d3820bba3
Merge pull request #112257 from kerthcet/cleanup/modify-remove-release
Kube-scheduler: Deprecate Component config v1beta3
2022-09-06 23:54:36 -07:00
Kubernetes Prow Robot
4b9575acb8
Merge pull request #112272 from chendave/cleanupflags
kubeadm: using the existing exported method to add config flag
2022-09-06 22:26:36 -07:00
Dave Chen
6675bea8a2 kubeadm: using the existing exported method to add config flag
Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-09-07 11:50:06 +08:00
kerthcet
700065a18d Add deprecation warning of removing scheduler CC v1beta3
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-09-07 10:09:27 +08:00
kerthcet
532d1df7ca Modify release version of removing scheduler CC v1beta2
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-09-06 14:15:55 +08:00
Jakub Przychodzeń
ef9f8d099f Ensure metric 'running_managed_controllers' is registered 2022-09-05 11:43:56 +00:00
Dave Chen
57551cc3d7 kubeadm: Add the option to cleanup the tmp directory
The `tmp` is created by `kubeadm` but is never removed, the
size is expected to be expanded as time goes by.

Add one bool option to cleanup the `tmp` dir, the flag is
off by default.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-09-02 15:57:07 +08:00
Di Jin
0b400cf6aa Add an option for aggregator 2022-09-01 15:25:26 -07:00
Dave Chen
1bb44a8e78 kubeadm: too early return for reset with dry-run or force mode
Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-09-01 17:02:27 +08:00
Kubernetes Prow Robot
253acfc8bc
Merge pull request #112142 from SataQiu/fix-cm-20220831
controller-manager: remove deprecated insecure serving from Config
2022-08-31 06:57:01 -07:00
SataQiu
1ae5237a66 controller-manager: remove deprecated insecure serving from Config 2022-08-31 17:32:21 +08:00
Octopusjust
48c8183fc4
cmd/kubeadm/:add test file for data.go (#112122)
Update data_test.go

according to the modification suggestions

Update data_test.go

according to the modification suggestions
2022-08-31 01:43:00 -07:00
Kubernetes Prow Robot
4f66f8c408
Merge pull request #112069 from enj/enj/t/aggregated_apis
Expand aggregated API server integration test to include CRUD
2022-08-30 08:52:55 -07:00
Monis Khan
ec283e526b
Expand aggregated API server integration test to include CRUD
This change updates TestAggregatedAPIServer and the related test
server wiring to exercise the full network path between the Kube API
server and the aggregated API server.  We now assert that the wardle
API service and Kube API server discovery endpoints are fully healthy.
CRUD operations are performed through the Kube API server to the
wardle API server.

Signed-off-by: Monis Khan <mok@microsoft.com>
2022-08-30 10:44:01 -04:00
Maciej Szulik
04b4908b18
Add soltysh as cmd/kcm approver 2022-08-30 09:39:01 +02:00
Kubernetes Prow Robot
6e3d62ca1c
Merge pull request #111904 from pandaamanda/controller_codeclean
refactor: move attachdetach controller param validation ahead
2022-08-29 14:12:49 -07:00
Kubernetes Prow Robot
891cbede96
Merge pull request #110972 from chendave/cleanup_data
kubeadm: unify the way to cleanup the files for `kubeadm reset`
2022-08-29 00:44:36 -07:00
Kubernetes Prow Robot
50097acf15
Merge pull request #112008 from pacoxu/kubeadm-taint
Kubeadm cleanup for taint / toleration with master label
2022-08-28 19:58:36 -07:00
SataQiu
8e4cf3b8d2 kubeadm: move show-join-command as a separate phase 2022-08-26 23:35:58 +08:00
Claudiu Belu
d192029e6a unittests: Fixes cmd unit tests for Windows
Currently, there are some unit tests that are failing on Windows due to
various reasons:

- filepath.IsAbs does not consider "/" or "\" as absolute paths, even
  though files can be addressed as such.
- paths not properly joined (filepath.Join should be used).
- files not closed, which means that they cannot be removed / renamed.
- some assertions fail due to slashes / backslashes not matching.
- backslashes need to be escaped in yaml files, or put between ''
instead of "".
2022-08-26 16:03:13 +03:00
Claudiu Belu
49ef27009d unittests: Fixes unit tests for Windows
Currently, there are some unit tests that are failing on Windows due to
various reasons:

- Windows file permissions do not work the same way as the Linux ones.
- cp does not exist on Windows, and xcopy should be used instead.
- Get-Item does not work for hidden files / folders like AppData, but
  works if given the -Force flag.
2022-08-26 14:39:56 +03:00
Paco Xu
f445764969 fix a flag replace of container-runtime=remote 2022-08-26 19:18:42 +08:00
Dave Chen
71ef1ea68d Cleanup etcd data dir on best effort basis
Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-08-26 11:55:19 +08:00
Dave Chen
f180a3f265 Move the logic of file cleanup within each phase
Guarantee that stale files are removed if end user resets cluster
by resetting each phase.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-08-26 11:30:49 +08:00
chymy
749256e9c2 Improve tips of incorrect input of kubedm some subcommand
Signed-off-by: chymy <chang.min1@zte.com.cn>
2022-08-26 01:18:29 +00:00
Kubernetes Prow Robot
bc9f48b841
Merge pull request #112024 from cndoit18/remove-redundant-judgment
style: remove redundant judgment
2022-08-25 07:28:18 -07:00
Paco Xu
04e0c6c160 kubeadm: do not need to remove old taint as v1.25 upgrade will remove it 2022-08-25 22:24:44 +08:00
Paco Xu
4daf5f903b kubeadm: cleanup master related taint and tolerations 2022-08-25 22:22:20 +08:00
Kubernetes Prow Robot
b87a436aed
Merge pull request #112000 from pacoxu/kubeadm-cleanup
kubeadm: remove container-runtime=remote
2022-08-25 05:14:18 -07:00
Kubernetes Prow Robot
8206c9d458
Merge pull request #111458 from muyangren2/addtest_common
add test to isKubeadmConfigPresent method
2022-08-25 03:52:06 -07:00
JunYang
2db4dea565 use klog.InfoS instead of klog.V(0).InfoS 2022-08-25 18:46:34 +08:00
Paco Xu
f9643b69f3 cleanup kubelet config file: kubeadm-flags.env to remove container-runtime flag 2022-08-25 17:55:37 +08:00
Paco Xu
5974da784c kubeadm: remove container-runtime=remote 2022-08-25 17:10:39 +08:00
cndoit18
ec43037d0f style: remove redundant judgment
Signed-off-by: cndoit18 <cndoit18@outlook.com>
2022-08-25 12:07:36 +08:00
Kubernetes Prow Robot
f313ef501a
Merge pull request #111833 from ialidzhikov/cleanup/cmd-kube-proxy
cmd/kube-proxy: Replace deprecated func usage from the `k8s.io/utils/pointer` pkg
2022-08-24 13:31:49 -07:00
Kubernetes Prow Robot
2a8eff983e
Merge pull request #112006 from pacoxu/kubeadm-registry-name-cleanup
kubeadm: remove MutateImageRepository for registry change
2022-08-24 12:01:49 -07:00
Kubernetes Prow Robot
4bf457ea95
Merge pull request #112005 from pacoxu/kubeadm-dup-unix-prefix
kubeadm: revert dedup prefix unix:// in node annotation
2022-08-24 05:52:14 -07:00
Kubernetes Prow Robot
da112dda68
Merge pull request #111806 from danwinship/kube-proxy-no-mode-fallback
remove kube-proxy mode fallback
2022-08-24 05:52:03 -07:00
Paco Xu
db0d55e1e6 kubeadm: remove MutateImageRepository for registry change 2022-08-24 17:47:51 +08:00
Paco Xu
09d3255572 kubeadm: revert dedup prefix unix:// in node annotation 2022-08-24 17:35:05 +08:00
Kubernetes Prow Robot
dabb1c5f93
Merge pull request #111949 from chymy/kubeadm-version-test
kubeadm: add test cases for version_test.go
2022-08-23 22:33:49 -07:00
Kubernetes Prow Robot
7f8f035ae8
Merge pull request #111836 from ialidzhikov/cleanup/cmd-kubeadm
cmd/kubeadm: Replace deprecated func usage from the `k8s.io/utils/pointer` pkg
2022-08-23 20:08:00 -07:00
Kubernetes Prow Robot
48b5b9d6a0
Merge pull request #111801 from SataQiu/fix-kubeproxy-20220811
kube-proxy: optimize the format of the flag usage string
2022-08-23 19:00:51 -07:00
Kubernetes Prow Robot
17e03f858e
Merge pull request #111783 from SataQiu/fix-kubeadm-20220810
kubeadm: try to load CA cert from external CertificateAuthority file when CertificateAuthorityData is empty for existing kubeconfig
2022-08-23 19:00:36 -07:00
Kubernetes Prow Robot
07bca2d791
Merge pull request #67782 from dims/yank-in-tree-openstack-cloud-provider
Remove in-tree openstack cloud provider
2022-08-23 18:59:48 -07:00
Kubernetes Prow Robot
94c70776ee
Merge pull request #111656 from Octopusjust/k8s-pr7
Add test for cmd/kubeadm/app/cmd/util/cmdutil.go
2022-08-23 17:16:40 -07:00
Davanum Srinivas
9bbf01bae9
Remove references to openstack and cinder
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-08-22 16:43:14 -04:00
chymy
08d4748de2 kubeadm: add test cases for version_test.go
Signed-off-by: chymy <chang.min1@zte.com.cn>
2022-08-22 02:56:35 +00:00
pandaamanda
3d87919a1e refactor: move attachdetach controller param validation ahead 2022-08-18 08:56:57 +00:00
Dan Winship
946ce55b04 kube-proxy: use API constants for proxy modes rather than local redefinitions 2022-08-16 09:30:42 -04:00
Dan Winship
1609017f2b kube-proxy: remove ipvs-to-iptables fallback
If the user passes "--proxy-mode ipvs", and it is not possible to use
IPVS, then error out rather than falling back to iptables.

There was never any good reason to be doing fallback; this was
presumably erroneously added to parallel the iptables-to-userspace
fallback (which only existed because we had wanted iptables to be the
default but not all systems could support it).

In particular, if the user passed configuration options for ipvs, then
they presumably *didn't* pass configuration options for iptables, and
so even if the iptables proxy is able to run, it is likely to be
misconfigured.
2022-08-16 09:30:08 -04:00
Dan Winship
9f69a3a9d4 kube-proxy: remove iptables-to-userspace fallback
Back when iptables was first made the default, there were
theoretically some users who wouldn't have been able to support it due
to having an old /sbin/iptables. But kube-proxy no longer does the
things that didn't work with old iptables, and we removed that check a
long time ago. There is also a check for a new-enough kernel version,
but it's checking for a feature which was added in kernel 3.6, and no
one could possibly be running Kubernetes with a kernel that old. So
the fallback code now never actually falls back, so it should just be
removed.
2022-08-16 09:21:34 -04:00
Dan Winship
477d14e53b Reorganize "kube-proxy --cleanup-and-exit"
This was implemented partly in server.go and partly in
server_others.go even though even the parts in server.go were totally
linux-specific. Simplify things by putting it all in server_others.go
and get rid of some unnecessary abstraction.
2022-08-16 09:16:05 -04:00
ialidzhikov
76bf5a41cf cmd/kubeadm: Replace deprecated func usage from the k8s.io/utils/pointer pkg 2022-08-14 12:49:45 +03:00
ialidzhikov
17c14ced18 cmd/kube-proxy: Replace deprecated func usage from the k8s.io/utils/pointer pkg 2022-08-13 22:01:02 +03:00
Kubernetes Prow Robot
132f29769d
Merge pull request #111697 from thockin/master
Docs: node-port-range should not overlap ephemeral
2022-08-12 13:44:32 -07:00
SataQiu
25a81a7514 kube-proxy: optimize the format of the flag usage string 2022-08-11 19:37:25 +08:00
SataQiu
31f1d84d9a kubeadm: try to load CA cert from external CertificateAuthority file when CertificateAuthorityData is empty for existing kubeconfig 2022-08-10 21:03:27 +08:00
Kubernetes Prow Robot
759785ea14
Merge pull request #109090 from sarveshr7/multicidr-rangeallocator
Enhance NodeIPAM to support multiple ClusterCIDRs
2022-08-07 15:40:18 -07:00
Sarvesh Rangnekar
5b801ba9f9 Introduce MultiCIDRRangeAllocator
MultiCIDRRangeAllocator is a new Range Allocator which makes using
multiple ClusterCIDRs possible. It consists of two controllers, one for
reconciling the ClusterCIDR API objects and the other for allocating
Pod CIDRs to the nodes.

The allocation is based on the rules defined in
https://github.com/kubernetes/enhancements/tree/master/keps/sig-network/2593-multiple-cluster-cidrs
2022-08-06 00:10:39 +00:00
Octopusjust
d1dd3691c5
Update cmdutil_test.go
Modify error reporting format
2022-08-05 09:47:12 +08:00
Sarvesh Rangnekar
7093b10416 Introduce networking/v1alpha1 api, ClusterCIDR type
Introduce networking/v1alpha1 api group.

Add `ClusterCIDR` type to networking/v1alpha1 api group, this type
will enable the NodeIPAM controller to support multiple ClusterCIDRs.
2022-08-05 00:54:00 +00:00
Jonathan Dobson
5f774832a5 Move CSIInlineVolume feature to GA 2022-08-04 13:06:30 -06:00
Tim Hockin
5f59159bfc Docs: node-port-range should not overlap ephemeral 2022-08-04 10:26:26 -07:00
Davanum Srinivas
8bec318b5d
Switch klog call to use structured logging
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-08-04 10:54:37 -04:00
Kubernetes Prow Robot
e539bb5a50
Merge pull request #111596 from muyangren2/addtest_virtualIP
add test for GetAPIServerVirtualIP
2022-08-04 04:57:46 -07:00
Jiawei Wang
d52cdeae79 cleanup: Remove storageos volume plugins from k8s codebase 2022-08-03 20:19:59 +00:00
Kubernetes Prow Robot
442574f3a7
Merge pull request #111513 from jingxu97/july/localstorage
Promote Local storage capacity isolation feature to GA
2022-08-03 13:05:59 -07:00
muyangren2
4af5cc3443 add test for GetAPIServerVirtualIP
modify

modify

modify

modify

modify
2022-08-03 18:12:00 +08:00
ZhangYu
20affda7f7 Add test for cmd/kubeadm/app/cmd/util/cmdutil.go 2022-08-03 15:01:55 +08:00
jinxu
0064010cdd Promote Local storage capacity isolation feature to GA
This change is to promote local storage capacity isolation feature to GA

At the same time, to allow rootless system disable this feature due to
unable to get root fs, this change introduced a new kubelet config
"localStorageCapacityIsolation". By default it is set to true. For
rootless systems, they can set this configuration to false to disable
the feature. Once it is set, user cannot set ephemeral-storage
request/limit because capacity and allocatable will not be set.

Change-Id: I48a52e737c6a09e9131454db6ad31247b56c000a
2022-08-02 23:45:48 -07:00
Kubernetes Prow Robot
1de16be28f
Merge pull request #111462 from jprzychodzen/controllers
Enable 'running_managed_controllers' for KCM/CCM controllers: routes, services and cloud-node
2022-08-02 13:59:09 -07:00
Kubernetes Prow Robot
96439a0c3c
Merge pull request #111547 from kerthcet/feat/mark-cc-v1beta2-deprecated
Deprecate kubescheduler ComponentConfig v1beta2
2022-08-02 12:48:06 -07:00
Kubernetes Prow Robot
d40bc18461
Merge pull request #105126 from sallyom/tracing-kubelet
kubelet tracing instrumentation
2022-08-02 11:38:06 -07:00
Kubernetes Prow Robot
70dcb0f129
Merge pull request #111618 from Jiawei0227/flocker
cleanup: Remove flocker volume plugins from k8s codebase
2022-08-02 09:16:16 -07:00
Kubernetes Prow Robot
0d46dc1f46
Merge pull request #111619 from Jiawei0227/quobyte
cleanup: Remove quobyte volume plugins from k8s codebase
2022-08-02 08:09:57 -07:00
kerthcet
c8fbd78c16 Deprecate kubescheduler ComponentConfig v1beta2
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-08-02 22:11:11 +08:00
Jakub Przychodzeń
08749750a9 Enable 'running_managed_controllers' for few more controllers 2022-08-02 07:33:32 +00:00
muyangren2
fc976d9f89 add test for GetNodeNameAndHostname 2022-08-02 11:03:21 +08:00
Jiawei Wang
9c869b3dfc cleanup: Remove quobyte volume plugins from k8s codebase 2022-08-02 00:47:02 +00:00
Jiawei Wang
ff063889a7 cleanup: Remove flocker volume plugins from k8s codebase
Flocker storage plugin removed from k8s codebase.

Flocker, an early external storage plugin in k8s,
has not been in maintenance and their business is
down. As far as I know, the plugin is not being
used anymore.

This PR removes the whole flocker dependency and
codebase from core k8s to reduce potential security
risks and reduce maintenance work from the sig-storage community.
2022-08-02 00:42:50 +00:00
Benjamin Elder
719c1d2680 kubeadm: make pre-release warning log less confusing 2022-08-01 15:29:36 -07:00
Kubernetes Prow Robot
3a650c5c56
Merge pull request #111502 from muyangren2/addtest_apiendpoint
add test for String
2022-08-01 12:10:40 -07:00
Kubernetes Prow Robot
42b6b2887c
Merge pull request #110888 from likakuli/feature_ignoreeventforgc
feat: ignore all event resource for gc
2022-08-01 12:10:28 -07:00
Kubernetes Prow Robot
4b5ee802e8
Merge pull request #111466 from jprzychodzen/nodeipam
Enable 'running_managed_controllers' for KCM nodeipam controller
2022-08-01 10:24:40 -07:00
Sally O'Malley
47e7d8034f
kubelet tracing
Signed-off-by: Sally O'Malley <somalley@redhat.com>
Co-authored-by: David Ashpole <dashpole@google.com>
2022-08-01 12:55:02 -04:00
Kubernetes Prow Robot
d46742b387
Merge pull request #111411 from alculquicondor/deprecate-disable-taint-manager
Mark enable-taint-manager CLI flag as deprecated
2022-08-01 09:02:28 -07:00
Kubernetes Prow Robot
ebad8c70c2
Merge pull request #111492 from muyangren2/addtest_validation_port
add test for ValidatePort
2022-08-01 03:50:29 -07:00
muyangren2
c0cabc67e1 add test
modify

modify2
2022-08-01 15:28:03 +08:00
Kubernetes Prow Robot
451c00cc70
Merge pull request #109263 from FeLvi-zzz/add-kubelet-nodeLabels-validation
validate nodeLabels in kubelet
2022-07-29 21:22:26 -07:00
inosato
3b95d3b076 Remove ioutil in kubelet and its tests
Signed-off-by: inosato <si17_21@yahoo.co.jp>
2022-07-30 12:35:26 +09:00
Kubernetes Prow Robot
17d3eecc7c
Merge pull request #111431 from ialidzhikov/fix/seccomp-default-help-text
Update the feature state in the help text of the `--seccomp-default` flag
2022-07-29 19:29:36 -07:00
Kubernetes Prow Robot
c809129f2c
Merge pull request #103069 from jackfrancis/cmd-kubelet-kubeserver-new-main-kubelet
chore(kubelet): simpler createAndInitKubelet func
2022-07-29 14:29:12 -07:00
Kubernetes Prow Robot
d05780e38d
Merge pull request #109347 from HirazawaUi/master
the err of "GetKubeletContainer" function should not affect the value of "RuntimeCgroups"
2022-07-29 13:17:35 -07:00
Kubernetes Prow Robot
442548a064
Merge pull request #110534 from kerthcet/feat/ga-component-config
Graduate component config to stable in kube-scheduler
2022-07-29 09:59:11 -07:00
Clément Nussbaumer
1459fdf7cf Fix kubeadm upgrade plan issue with FQDN nodes names
the fix introduced in #110634 also introduces a bug preventing `kubeadm
upgrade plan` from running on nodes having a different `os.Hostname()`
than node name. concretely, for a node `titi.company.ch`,
`os.Hostname()` will return `titi`, while the full node name is actually
`titi.company.ch`. this simple fix uses the `cfg.NodeRegistration.Name`
instead, which fixes the issue on my nodes with a FQDN node name

Keep previous hostname retrieval as fallback for dupURL CRI fix
2022-07-29 10:42:21 +02:00
kerthcet
02f77a1b84 Feat: ga component config in kube-scheduler
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-07-29 08:47:48 +08:00
Kubernetes Prow Robot
2c8af1e4b1
Merge pull request #111455 from chendave/clientset
kubeadm: move `getClientSet` to cmd utils
2022-07-28 05:03:09 -07:00
muyangren2
2422e99df3 add test for String
modify
2022-07-28 18:23:44 +08:00
muyangren2
fc6bbf991e add test in cmd/kubeadm/app/apis/kubeadm/validation/validation_test.go for ValidatePort
modify
2022-07-28 17:12:14 +08:00
Kubernetes Prow Robot
610b7839a0
Merge pull request #111399 from Argh4k/i-111290
Modify timeout for etcd healthcheck
2022-07-27 07:36:28 -07:00
Jakub Przychodzeń
7dd4e89a99 Enable 'running_managed_controllers' for KCM nodeipam controller 2022-07-27 14:30:40 +00:00
Maciej Wyrzuc
b42045a64f Add additional etcd check to readyz with 2 seconds timeout. 2022-07-27 12:23:02 +00:00
Dave Chen
819c12276b kubeadm: move getClientSet to cmd utils
`getClientSet` is used by both cmd `token` and `reset`, move this
method to cmd utils to decouple it from one specific cmd.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-07-27 15:13:09 +08:00
Davanum Srinivas
a9593d634c
Generate and format files
- Run hack/update-codegen.sh
- Run hack/update-generated-device-plugin.sh
- Run hack/update-generated-protobuf.sh
- Run hack/update-generated-runtime.sh
- Run hack/update-generated-swagger-docs.sh
- Run hack/update-openapi-spec.sh
- Run hack/update-gofmt.sh

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-07-26 13:14:05 -04:00
Kubernetes Prow Robot
96a32be18d
Merge pull request #111394 from SataQiu/cleanup-20220725
kubeadm: prefer to use pkg/errors package and cleanup fmt.Errorf
2022-07-26 09:11:09 -07:00
Kubernetes Prow Robot
28fc2991a5
Merge pull request #111317 from wojtek-t/fix_leaking_goroutines_12
Clean shutdown of cloud controllers in integration tests
2022-07-26 04:45:09 -07:00
SataQiu
6cab9800a7 kubeadm: prefer to use pkg/errors package and cleanup fmt.Errorf 2022-07-26 16:56:16 +08:00
ialidzhikov
cb4a3d2ca4 Update the feature state in the help text of the --seccomp-default flag 2022-07-26 10:53:24 +03:00
Aldo Culquicondor
cdb0b6babf Mark enable-taint-manager CLI flag as deprecated
Change-Id: Ib0247e034def837f973b69c55ed6bc9486bd364e
2022-07-25 17:04:06 -04:00
Kubernetes Prow Robot
17efdc6efb
Merge pull request #111377 from chendave/v1beta3
No need to assert an error when the error is not nil
2022-07-25 12:22:45 -07:00
Lukasz Szaszkiewicz
81dec8bc6a kubeadm: pass etcd progress notification flag to etcd
The experimental-watch-progress-notify-interval flag specifies an interval
at which etcd sends data to the kube-api server.

It is used by the WatchBookmark feature which is GA since 1.17.
It will be used by a new WatchList feature which is Alpha since 1.25

In addition to that the feature was graduated to GA (non-experiment) in etcd 3.5 without any code changes
2022-07-25 12:28:51 +02:00
Wojciech Tyczyński
1f4f98e40d Clean shutdown of cloud controllers in integration tests 2022-07-25 11:28:50 +02:00
Dave Chen
79cac48b30 No need to assert an error when the error is not nil
Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-07-25 12:26:35 +08:00
Kubernetes Prow Robot
287888b191
Merge pull request #111330 from marosset/use-pause-3.8
Switching everything to use pause:3.8
2022-07-21 18:28:48 -07:00
Mark Rossetti
40f3e624a6 Switching everything to use pause:3.8
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2022-07-21 14:53:15 -07:00
Jakub Przychodzeń
49553a46bd 'running_managed_controllers' for KCM/CCM for cloud-node-lifecycle controller 2022-07-21 13:18:56 +00:00
Kubernetes Prow Robot
122254fc01
Merge pull request #111210 from chymy/kubeadm-fix-typo
kubeadm: fix comment typo
2022-07-18 21:56:34 -07:00
Kubernetes Prow Robot
1c1efde70d
Merge pull request #109639 from Abirdcfly/fixduplicateimport
cleanup: remove all duplicate import
2022-07-18 16:55:23 -07:00
Kubernetes Prow Robot
8af2c50201
Merge pull request #110762 from pandaamanda/windows_default_proxy
kube-proxy: kernelspace mode is announced to be default for windows
2022-07-18 11:45:15 -07:00
Kubernetes Prow Robot
5108b0a3a0
Merge pull request #111189 from Octopusjust/k8s-pr4
Add testcases for cmd/kubeadm/app/util/net.go and version.go
2022-07-18 02:49:27 -07:00
chymy
a1fd50d53a kubeadm: fix comment typo
Signed-off-by: chymy <chang.min1@zte.com.cn>
2022-07-18 16:48:29 +08:00
Octopusjust
db0bfd8727
Update version_test.go
run ./hack/verify-gofmt.sh
2022-07-18 14:15:06 +08:00
pandaamanda
fbe934da21 kube-proxy: kernelspace mode is announced to be default for windows 2022-07-18 01:04:56 +00:00
ZhangYu
ba80421254 Add testcases for cmd/kubeadm/app/util/net.go and version.go 2022-07-16 09:23:48 +08:00
Kubernetes Prow Robot
f8e80d32c0
Merge pull request #111135 from thockin/yamlfmt-print-filenames
Make yamlfmt tool print filenames
2022-07-15 03:46:25 -07:00
Paco Xu
5c0c20a5ea
kubeadm: UnversionedKubeletConfigMap is GAed in v1.25 2022-07-14 20:56:45 +08:00
Tim Hockin
722ebf8dca Make yamlfmt tool print filenames
Otherwise fixing errors YAML is much harder.
2022-07-13 20:33:40 -07:00
Abirdcfly
00b9ead02c cleanup: remove duplicate import
Signed-off-by: Abirdcfly <fp544037857@gmail.com>
2022-07-14 11:25:19 +08:00
Kubernetes Prow Robot
d06fc1e1bb
Merge pull request #111039 from ncdc/resourcequota-update-filter-func
quota: add an update filter
2022-07-13 09:27:50 -07:00
SataQiu
723cadf750 kubeadm: respect user specified image repository when using Kubernetes ci version 2022-07-09 16:24:51 +08:00
Andy Goldstein
a899441484
quota: add an update filter
Fix a TODO to plumb an update filter from above in the resource quota
monitor code that was handling update events for quota-able objects,
instead of hard-coding the logic in the resource quota monitor.

Signed-off-by: Andy Goldstein <andy.goldstein@redhat.com>
2022-07-08 18:39:55 -04:00
Kubernetes Prow Robot
34b9f0dbed
Merge pull request #110998 from chendave/de_dup_kubeadm
kubeadm: De-dup the confirmation on the interactive cmds
2022-07-07 12:46:37 -07:00
Dave Chen
8aeee521e6 kubeadm: De-dup the confirmation on the interactive cmds
Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-07-07 11:51:26 +08:00
Mengjiao Liu
88c6deb778 Update godoc.org to pkg.go.dev in kubeadm 2022-07-07 11:06:13 +08:00
Kubernetes Prow Robot
f88b11897d
Merge pull request #110978 from chendave/dry_run_interactive
kubeadm: Don't ask for input if it's dry run mode
2022-07-06 18:39:33 -07:00
Dave Chen
988b96fcbb kubeadm: Don't ask for input if it's dry run mode
Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-07-06 18:18:53 +08:00
runzhliu
37f66cb9d8 improve the comments 2022-07-05 01:59:11 +00:00
likakuli
74a3b8f4a9 feat: fix a bug thaat not all event be ignored by gc controller
Signed-off-by: likakuli <1154584512@qq.com>
2022-07-04 18:00:54 +08:00
JunYang
842abe9dae Execute the Run function of kubelet, no log output after failure 2022-07-01 22:24:07 +08:00
Kubernetes Prow Robot
fa16bf8e12
Merge pull request #110791 from SataQiu/fix-kubeadm-20220626
kubeadm: fix the bug that configurable KubernetesVersion not respected during kubeadm join
2022-06-30 21:53:34 -07:00
Kubernetes Prow Robot
8b0221708c
Merge pull request #110744 from neolit123/1.25-update-etcd-startup-probe
kubeadm: use non-serializable startup probe for etcd pods
2022-06-30 21:53:22 -07:00
Kubernetes Prow Robot
3eb7b7a48f
Merge pull request #110874 from chendave/fix_debug
kubeadm: Force to disable debug mode for `crictl`
2022-06-30 10:42:20 -07:00
Lubomir I. Ivanov
2829fc03e3 kubeadm: use non-serializable startup probe for etcd pods
As per the etcd maintainers' recommendation - startup probes
shouldn't be serialized, while the liveness probes should be.
2022-06-30 20:26:32 +03:00
SataQiu
2fb1941ae3 kubeadm: improve the error message of getClusterNodeMask func 2022-06-30 20:28:45 +08:00
Dave Chen
c5b22b535b kubeadm: Force to disable debug mode for crictl
Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-06-30 15:08:45 +08:00
SataQiu
5b2d6ca5df kubeadm: fix the bug that configurable KubernetesVersion not respected during kubeadm join 2022-06-30 14:47:33 +08:00
Kubernetes Prow Robot
dafa55be10
Merge pull request #110837 from SataQiu/fix-kubeadm-20220628
kubeadm: support retry mechanism for removing container in reset phase
2022-06-29 05:12:05 -07:00
SataQiu
3889a6cac8 kubeadm: support retry mechanism for removing container in reset phase 2022-06-29 17:54:56 +08:00
Kubernetes Prow Robot
4cd7394252
Merge pull request #110819 from pacoxu/kubeadm-join-doc
kubeadm: update join --discovery-file docs
2022-06-28 19:58:03 -07:00
Paco Xu
0b44750ab9 kubeadm: update join --discovery-file docs(support tokenfile authProvider and exec) 2022-06-28 12:12:29 +08:00
Kubernetes Prow Robot
c7eb5a49ba
Merge pull request #109407 from yxxhero/remove_unused_code_in_kubelet
Clean up unused code in kubelet
2022-06-27 19:16:08 -07:00
John Howard
c6b0652b89
kubelet: silence flag output on errors (#110728)
* kubelet: silence flag output on errors

Currently, the `--help` text is output on kubelet errors. Currently on
my machine this is 280 lines. Typically kubelet is run by systemd or
similar, starting it a loop. This means when an issue is encountered, we
are spammed by 100s of logs per second, masking the real error.

With this PR, the list of all flags is silenced. Users can still access
them by `kubelet --help` as normal. This same `SilenceUsage` is already
set in the api-server command.

* Update cmd/kubelet/app/server.go

Co-authored-by: Paco Xu <paco.xu@daocloud.io>

Co-authored-by: Paco Xu <paco.xu@daocloud.io>
2022-06-27 11:34:59 -07:00
Kubernetes Prow Robot
34b4125351
Merge pull request #110656 from pacoxu/kubeadm-dup-unix
kubeadm: handle dup unix:// prefix in node annotation
2022-06-24 00:21:21 -07:00
Paco Xu
8555f401a0 kubeadm: handle dup unix:// prefix in node annotaiton 2022-06-24 11:16:34 +08:00
Kubernetes Prow Robot
07dfdf0859
Merge pull request #110709 from chendave/fix_renew
kubeadm: Honor `cert-dir` for cert operations
2022-06-23 19:51:19 -07:00
Kubernetes Prow Robot
035f22d781
Merge pull request #110712 from chendave/ignore_args
kubeadm: certs renew doesn't support positional args
2022-06-23 09:09:43 -07:00
Dave Chen
e8e804deaa kubeadm: certs renew doesn't support positional args
Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-06-23 19:52:22 +08:00
Kubernetes Prow Robot
df0af6f7b8
Merge pull request #110736 from Octopusjust/k8s-pr3
Incomplete coverage of test scenarios
2022-06-23 04:33:44 -07:00
Dave Chen
57646c941f kubeadm: Honor cert-dir for cert operations
- `cert-dir` could be specified to a value other than the default value
- we have tests that should be executed successfully on the working cluster

Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-06-23 19:32:20 +08:00
ZhangYu
9f4562c7b6 Incomplete coverage of test scenarios 2022-06-23 11:41:23 +08:00
Kubernetes Prow Robot
e9702cfc1b
Merge pull request #110593 from SataQiu/kubeadm-coredns-20220615
kubeadm: add the preferred pod anti-affinity for CoreDNS Deployment
2022-06-22 09:29:56 -07:00
Kubernetes Prow Robot
fd20191212
Merge pull request #110684 from chymy/fix-typo-for-kubeadm
fix several typo
2022-06-22 08:23:45 -07:00
Kubernetes Prow Robot
4720f0725c
Merge pull request #110531 from Iceber/fix-run-controller-manager
fix the running of the kube-controller-manager
2022-06-21 13:15:55 -07:00
chymy
c8aa25e472 fix several typo
Signed-off-by: chymy <chang.min1@zte.com.cn>
2022-06-21 09:11:41 +00:00
Kubernetes Prow Robot
609db7ed0b
Merge pull request #110635 from chendave/kubeadm_fix
kubeadm: fail faster when the version is not provided
2022-06-19 10:06:03 -07:00
ialidzhikov
0a83f72214 kubelet: Update deprecation messages from 1.24 to 1.25
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2022-06-18 19:45:50 +03:00
yxxhero
7a5af811e7 remove unused code in kubelet
Signed-off-by: yxxhero <aiopsclub@163.com>
2022-06-18 15:03:27 +08:00
Iceber Gu
cac919bca4 fix the running of the kube-controller-manager
Signed-off-by: Iceber Gu <wei.cai-nat@daocloud.io>
2022-06-18 09:24:04 +08:00
Patrick Ohly
4c6338ac0f logs: replace config methods with functions
API types are only supposed to have methods related to serialization.
2022-06-17 20:22:13 +02:00
Patrick Ohly
ea3f25f49b logs: add alpha+beta feature gates
It is useful to have the ability to control whether alpha or beta features are
enabled. We can group features under LoggingAlphaOptions and LoggingBetaOptions
because the configuration is designed so that each feature individually must be
enabled via its own option.

Currently, the JSON format itself is beta (graduated in 1.23) but additional
options for it were only added in 1.23 and thus are still alpha:

  $ go run ./staging/src/k8s.io/component-base/logs/example/cmd/logger.go --logging-format=json --log-json-split-stream --log-json-info-buffer-size 1M --feature-gates LoggingBetaOptions=false
  [format: Forbidden: Log format json is BETA and disabled, see LoggingBetaOptions feature, options.json.splitStream: Forbidden: Feature LoggingAlphaOptions is disabled, options.json.infoBufferSize: Forbidden: Feature LoggingAlphaOptions is disabled]

  $ go run ./staging/src/k8s.io/component-base/logs/example/cmd/logger.go --logging-format=json --log-json-split-stream --log-json-info-buffer-size 1M
  [options.json.splitStream: Forbidden: Feature LoggingAlphaOptions is disabled, options.json.infoBufferSize: Forbidden: Feature LoggingAlphaOptions is disabled]

This is the same approach that was taken for CPUManagerPolicyAlphaOptions and
CPUManagerPolicyBetaOptions.

In order to test this without modifying the global feature gate in a test file,
ValidateKubeletConfiguration must take a feature gate as argument.
2022-06-17 20:22:13 +02:00
Patrick Ohly
1aceac797d logs: make LoggingConfiguration an unversioned API
Making the LoggingConfiguration part of the versioned component-base/config API
had the theoretic advantage that components could have offered different
configuration APIs with experimental features limited to alpha versions (for
example, sanitization offered only in a v1alpha1.KubeletConfiguration). Some
components could have decided to only use stable logging options.

In practice, this wasn't done. Furthermore, we don't want different components
to make different choices regarding which logging features they offer to
users. It should always be the same everywhere, for the sake of consistency.

This can be achieved with a saner Go API by dropping the distinction between
internal and external LoggingConfiguration types. Different stability levels of
indidividual fields have to be covered by documentation (done) and potentially
feature gates (not currently done).

Advantages:

- everything related to logging is under component-base/logs;
  previously this was scattered across different packages and
  different files under "logs" (why some code was in logs/config.go
  vs. logs/options.go vs. logs/logs.go always confused me again
  and again when coming back to the code):

  - long-term config and command line API are clearly separated
    into the "api" package underneath that

  - logs/logs.go itself only deals with legacy global flags and
    logging configuration

- removal of separate Go APIs like logs.BindLoggingFlags and
  logs.Options

- LogRegistry becomes an implementation detail, with less code
  and less exported functionality (only registration needs to
  be exported, querying is internal)
2022-06-17 20:22:13 +02:00
Patrick Ohly
4033e64bf1 kubelet: initialize logging even sooner, return error
After the removal of the dynamic kubelet configuration feature it became
possible to initialize logging directly after configuration parsing. The
advantage is that logs emitted by
kubeletconfigvalidation.ValidateKubeletConfiguration and
`klog.InfoS("unsupported configuration ...` already use the intended log
output.

After the code was originally added, Run was replaced by RunE. Taking advantage
of that and returning an error is cleaner.
2022-06-17 20:06:14 +02:00
Dave Chen
aa5dfd8b28 kubeadm: fail faster when the version is not provided
Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-06-17 16:42:56 +08:00
Kubernetes Prow Robot
4e17f88b7e
Merge pull request #110506 from yangjunmyfm192085/removedockershim-des
Remove the description of the docker shim from the kubelet
2022-06-16 08:54:48 -07:00
JUN YANG
8567f2bd53
Update cmd/kubelet/app/server.go
Co-authored-by: Danielle <dani@builds.terrible.systems>
2022-06-16 08:29:14 +08:00
JunYang
8bfea65f69 Remove the description of the docker shim from the kubelet 2022-06-16 00:01:34 +08:00
Lubomir I. Ivanov
81b3540206 kubeadm: ensure kubelet patch results are in YAML
Once we patch a kubelet configuration file, the patched output
is in JSON. Make sure it's converted back to YAML, given
the kubelet config in the cluster and on disk is always in YAML.

Add unit test for the new function applyKubeletConfigPatches()
2022-06-15 13:38:04 +03:00
SataQiu
299e745127 kubeadm: add the preferred pod anti-affinity for CoreDNS Deployment 2022-06-15 14:38:12 +08:00
tallaxes
4a542609aa
Support more auth strategies in kubeadm join with discovery file (#110553)
* Add support for client-go credential plugins

* Add support for authprovider authentication

* Add support for TokenFile authentication
2022-06-14 08:03:45 -07:00
Kubernetes Prow Robot
4407a02aef
Merge pull request #110560 from lunhuijie/fixTestpki
Incomplete coverage of test scenarios and optimize bad code
2022-06-14 04:53:32 -07:00
10284789刁浩
696d537239 Incomplete coverage of test scenarios and bad code 2022-06-14 07:48:43 +00:00
Kubernetes Prow Robot
f15b0d1bd7
Merge pull request #110489 from pacoxu/kubeadm-coredns-v1.9.3
kubeadm: upgrade coredns to v1.9.3
2022-06-13 12:16:12 -07:00
Kubernetes Prow Robot
48efb361f3
Merge pull request #110323 from Thearas/docs-ephemeral-storage
docs: add `ephemeral-storage` to `SystemReserved`/`KubeReserved` comment
2022-06-10 13:19:44 -07:00
Paco Xu
178dc11b75 kubeadm: upgrade coredns to v1.9.3 2022-06-09 18:45:26 +08:00
Paco Xu
31922c7794 kubeadm: use staticpod known tags for upgrade/init phases 2022-06-09 14:21:48 +08:00
Kubernetes Prow Robot
cfda5bc1d8
Merge pull request #110457 from aojea/class_e_range
unit tests for Class E IP addresses
2022-06-08 10:10:22 -07:00
Kubernetes Prow Robot
0985c476e3
Merge pull request #109995 from wangyysde/fix_issue_2681
add print-manifest flag to print addon manifests to STDOUT
2022-06-08 09:00:22 -07:00
Antonio Ojea
2124f17c72 unit tests for Class E IP addresses 2022-06-08 15:29:48 +02:00
Paco Xu
29aca9692c overwrite known targets in patch manager cache in case it changes 2022-06-08 16:10:41 +08:00
wangyysde
e863ebb6b5 add print-manifest flag to print addon manifests to STDOUT
Signed-off-by: wangyysde <net_use@bzhy.com>
2022-06-08 13:45:37 +08:00
Kubernetes Prow Robot
cd4b8ed070
Merge pull request #110405 from neolit123/1.25-kubelet-config-patches
kubeadm: add support for patching a "kubeletconfiguration" target
2022-06-07 07:05:07 -07:00
Kubernetes Prow Robot
9fad5c981a
Merge pull request #110327 from neolit123/1.25-ga-unversioned-kubelet-config
kubeadm: graduate the UnversionedKubeletConfigMap FG to GA
2022-06-07 07:04:56 -07:00
Lubomir I. Ivanov
2134026e3b kubeadm: allow passing the --patches flag to init/join/node phases
Allow passing the --patches flag to init/join/node phases
relevant to the kubelet writing the config file on disk.
2022-06-06 20:37:27 +03:00
Lubomir I. Ivanov
428c3fe954 kubeadm: document "kubeletconfiguration" as a patch target
Document the "kubeletconfiguration" as a patch target in the
v1beta3 API Init/JoinConfiguration.Patches struct
and also for the --patches flag.
2022-06-06 20:37:26 +03:00
Lubomir I. Ivanov
c3c9fb8608 kubeadm: add unit tests for patching a "kubeletconfiguration" target 2022-06-06 20:37:26 +03:00
Lubomir I. Ivanov
85fb6b01f8 kubeadm: apply patches to the kubelet config before writing it to disk
In phases/kubelet/WriteConfigToDisk() create a patch
manager for the root patches directory and apply
the user patches with a target "kubeletconfiguration".
2022-06-06 20:37:26 +03:00
Lubomir I. Ivanov
665f66d2bc kubeadm: pass io.Writer and "patches dir" to WriteConfigToDisk()
With phases/kubelet/WriteConfigToDisk() about to support patches
it is required that the function accepts an io.Writer
where the PatchManager can output to and also a patch directory.

Modify all call sites of the function WriteConfigToDisk()
to properly prepare an pass an io.Writer and patches dir to it.
This results in command phases for init/join/upgrade to pass
the root io.Writer (usually stdout) and the patchesDir populated
either via the config file or --patches flag.
2022-06-06 20:37:26 +03:00
Kubernetes Prow Robot
70dca66271
Merge pull request #109388 from ialidzhikov/cleanup/experimental-kernel-memcg-notification
kubelet: Remove the deprecated `--experimental-kernel-memcg-notification` flag
2022-06-03 09:30:33 -07:00
Kubernetes Prow Robot
b7b824bb9e
Merge pull request #110033 from mk46/etcd_update_v3.5.4
etcd: Updated to v3.5.4
2022-06-02 13:26:31 -07:00
Lubomir I. Ivanov
1c46686f09 kubeadm: mutate ClusterConfiguration.imageRepository to "registry.k8s.io"
If the user runs "kubeadm upgrade apply", kubeadm can download
a configuration from the cluster. If the configuration contains
the legacy default imageRepository of "k8s.gcr.io", mutate it
to the new default of "registry.k8s.io" and update the
configuration in the config map.

During "upgrade node/diff" download the configuration, mutate the
image repository locally, but do not mutate the in-cluster value.
That is done only on "apply".

This ensures that users are migrated from the old default registry
domain.
2022-06-02 17:37:30 +03:00
Lubomir I. Ivanov
9f6df1d489 kubeadm: graduate the UnversionedKubeletConfig FG to GA
- lock the FG to true by default
- cleanup wrappers and logic related to versioned vs unversioned
naming of API objects (CMs and RBAC)
- update unit tests
2022-06-01 17:17:07 +03:00
Thearas
2457fbc643 docs: add ephemeral-storage to SystemReserved/KubeReserved comment 2022-06-01 16:19:26 +08:00
Manish Kumar
e9e8be304c etcd: Updated to v3.5.4 2022-06-01 07:52:46 +05:30
Davanum Srinivas
50bea1dad8
Move from k8s.gcr.io to registry.k8s.io
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-05-31 10:16:53 -04:00
Kubernetes Prow Robot
92263ee0dd
Merge pull request #110072 from neolit123/1.25-kubeadm-etcd-liveness-probe
kubeadm: add serializable health checks for etcd probes
2022-05-30 00:40:52 -07:00
Kubernetes Prow Robot
ee0a070865
Merge pull request #110082 from twilight0620/addTest2
add test case TestValidateServiceNodePort for validateServiceNodePort method
2022-05-26 08:45:35 -07:00
Wojciech Tyczyński
fe3616cafb Clean shutdown of kcm, ccm and scheduler 2022-05-26 12:36:59 +02:00
Wojciech Tyczyński
6f706775bc Clean shutdown of test apiserver 2022-05-26 10:42:48 +02:00
Kubernetes Prow Robot
0f8b0e14ae
Merge pull request #110141 from chymy/kubeadm-remove-imagespull
kubeadm: remove unused ImagesPull
2022-05-20 03:45:12 -07:00
Kubernetes Prow Robot
3308ce1caf
Merge pull request #110137 from neolit123/1.25-update-master-label-taint
kubeadm: cleanup OldControlPlaneTaint from unit tests
2022-05-19 22:05:13 -07:00
chymy
525b8cc4b2 kubeadm: remove unused ImagesPull
Signed-off-by: chymy <chang.min1@zte.com.cn>
2022-05-20 10:49:52 +08:00
Lubomir I. Ivanov
9c68116461 kubeadm: cleanup OldControlPlaneTaint from unit tests
The OldControlPlaneTaint taint (master) can be replaced
with the new ControlPlaneTaint (control-plane) taint.

Adapt unit tests in markcontrolplane_test.go
and cluster_test.go.
2022-05-19 22:00:39 +03:00
Manish Kumar
58cc7e7d43 Parse ENV vars to crictl command 2022-05-19 21:53:50 +05:30
Lubomir I. Ivanov
80e5bcae9b kubeadm: remove RemoveOldControlPlaneLabel
The function is no longer used and was missed in a
1.25 cleanup PR.
2022-05-18 15:42:08 +03:00
Kubernetes Prow Robot
84c8afeba3
Merge pull request #110095 from neolit123/1.25-update-master-label-taint
kubeadm: cleanup the "master" taint on CP nodes during upgrade
2022-05-18 00:52:54 -07:00
Kubernetes Prow Robot
71da53c28b
Merge pull request #108218 from cyclinder/remove_featuregate
remove featuregate in 1.25
2022-05-17 20:08:53 -07:00
Kubernetes Prow Robot
90d7400ca1
Merge pull request #109356 from pacoxu/kubeadm-2426-cri
kubeadm: remove temporary handling of CRI socket paths without URL scheme
2022-05-17 18:00:52 -07:00
Kubernetes Prow Robot
9169f16841
Merge pull request #108447 from pacoxu/kubeadm-json-upgrade-plan
`Kubeadm upgrade plan` support json/yaml output
2022-05-17 16:46:31 -07:00
Lubomir I. Ivanov
ddd046f3dd kubeadm: cleanup the "master" taint on CP nodes during upgrade
- iniconfiguration.go: stop applying the "master" taint
for new clusters; update related unit tests in _test.go
- apply.go: Remove logic related to cleanup of the "master" label
during upgrade
- apply.go: Add cleanup of the "master" taint on CP nodes
during upgrade
- controlplane_nodes_test.go: remove test for old "master" taint
on nodes (this needs backport to 1.24, because we have a kubeadm
1.25 vs kubernetes test suite 1.24 e2e test)
2022-05-17 19:21:49 +03:00
twilight0620
62298c0493 add test case TestValidateServiceNodePort for validateServiceNodePort method 2022-05-17 14:32:06 +08:00
Lubomir I. Ivanov
29148f61ac kubeadm: add serializable health checks for etcd probes
Use the etcd 3.5.3+ HTTP(s) endpoint "/health?serializable=true",
to allow the kubelet liveness and starup probes in the
kubeadm generated etcd.yaml (static Pod) to track
individual member health instead of tracking the whole
etcd cluster health.
2022-05-16 20:18:35 +03:00
Paco Xu
ab51557a0c kubeadm: container runtime is by default docker in kubelet v1.23
- can be removed in v1.26
2022-05-14 18:31:48 +08:00
Lubomir I. Ivanov
6efdcfd15b kubeadm: perform dockershim cleanup for 1.25
Given kubeadm 1.25 only supports kubelet 1.25 and 1.24,
1.23 related logic around dockershim can be removed.

- Don't clean the directories
/var/lib/dockershim, /var/runkubernetes, /var/lib/cni
- Pass the CRISocket directly to the kubelet
--container-runtime-endpoint flag without extra handling
of dockershim
- No longer apply the --container-runtime=remote flag
as that is the only possible value in 1.24 and 1.25
- Update unit tests


Note: we are still passing --pod-infra-container-image
to avoid the pause image to be GCed by the kubelet.
2022-05-12 21:38:17 +03:00
cyclinder
6150737d11 remove feature gate GA for 1.25
Signed-off-by: cyclinder qifeng.guo@daocloud.io
2022-05-12 14:15:23 +08:00
Wojciech Tyczyński
2dd44d6226 Cleanup no-longer used storage cleanup method 2022-05-11 20:11:37 +02:00
Lubomir I. Ivanov
b1f3034051 kubeadm: only taint CP nodes when the legacy "master" taint is present
During upgrade when a CP node is missing the old / legacy "master"
taint, assume the user has manually removed it to allow
workloads to schedule.

In such cases do not re-taint the node with the new "control-plane"
taint.
2022-05-05 23:39:23 +03:00
Kubernetes Prow Robot
f1ad477c88
Merge pull request #109751 from SataQiu/clean-kubeadm-20220502
kubeadm: replace *clientset.Clientset with clientset.Interface for join phase
2022-05-05 01:43:06 -07:00
Kubernetes Prow Robot
b593ed3118
Merge pull request #109659 from heqg/structuredLog01
Log StructuredLog: spelling formatting
2022-05-04 02:35:34 -07:00
Kubernetes Prow Robot
7adb7c1d06
Merge pull request #109612 from pandaamanda/remove_DeprecatedControllerOptions
refactor: remove deprecated `deleting-pods-qps` `deleting-pods-burst` `register-retry-count`  flags
2022-05-04 02:34:54 -07:00
Kubernetes Prow Robot
74ec2dd197
Merge pull request #109527 from navist2020/kubeadm/preflightError
Return preflightError if an error occurs when running the preflight
2022-05-04 01:29:04 -07:00
Kubernetes Prow Robot
d0fc41d105
Merge pull request #109324 from wppzxc/fix-output
Fix: test case wrong output in cmd/kubeadm/app/cmd/completion_test.go
2022-05-03 19:31:14 -07:00
Kubernetes Prow Robot
cc2807c521
Merge pull request #109303 from wojtek-t/clean_storage_shutdown
Cleanup rest storage resources on shutdown
2022-05-03 19:30:57 -07:00
Kubernetes Prow Robot
2d1f12942f
Merge pull request #108476 from ialidzhikov/cleanup/experimental-cluster-signing-duration
kube-controller-manager: Remove the deprecated `--experimental-cluster-signing-duration` flag
2022-05-03 18:23:31 -07:00
SataQiu
eb1492bb00 kubeadm: replace *clientset.Clientset with clientset.Interface for join phase 2022-05-02 19:25:47 +08:00
何庆国10193842
3d14bcb9a4 Log StructuredLog: spelling formatting
Signed-off-by: 何庆国10193842 <he.qingguo@zte.com.cn>
2022-04-26 17:04:06 +08:00
熊中谅10171568
c4579165f1 refactor: remove deprecated flags
refactor: remove deprecated deleting-pods-qps deleting-pods-burst register-retry-count flags
2022-04-22 20:28:12 +08:00
navist2020
2a7e85bfdb Return preflightError if an error occurs when running the preflight 2022-04-20 11:39:35 +08:00
Wojciech Tyczyński
0527a0dd45 Cleanup rest storage resources on shutdown 2022-04-19 15:59:13 +02:00
Stephen Augustus
3f85937b11
etcd: Update to v3.5.3
Signed-off-by: Stephen Augustus <foo@auggie.dev>
2022-04-13 19:04:00 -04:00
James Laverack
7d57d5c70d Revert "Introduce APIs to support multiple ClusterCIDRs (#108290)"
This reverts commit b9792a9dae.
2022-04-13 13:58:19 +01:00
ialidzhikov
c682716e87 kubelet: Remove the deprecated --experimental-kernel-memcg-notification flag
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2022-04-08 10:40:25 +03:00
Soh Takada
5ec2aaa339 validate nodeLabels in kubelet
Signed-off-by: Soh Takada <34182539+FeLvi-zzz@users.noreply.github.com>
2022-04-07 20:27:11 +09:00
Paco Xu
36594d739b CRI socket paths should have URL scheme 2022-04-07 16:11:58 +08:00
HirazawaUi
fc0d38f02f The same err should not judge whether it is empty twice, and the err of "GetKubeletContainer" function should not affect the value of "RuntimeCgroups" 2022-04-07 11:08:25 +08:00
pengpeng wu
0b076a3dc3 Fix: test case wrong output in cmd/kubeadm/app/cmd/completion_test.go 2022-04-06 10:59:58 +08:00
Kubernetes Prow Robot
14cc997d03
Merge pull request #107178 from SataQiu/deprecated-20211222
kube-controller-manager: remove unused option deployment-controller-sync-period for deployment controller
2022-04-01 21:22:10 -07:00
Davanum Srinivas
108e3e28a9
Correctly attribute some datastructures from gotestsum repository
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-04-01 14:49:15 -04:00
David Ashpole
120da3bb9b
fix copylock vet errors in component-base metrics 2022-03-31 15:07:11 +00:00
Sarvesh Rangnekar
b9792a9dae
Introduce APIs to support multiple ClusterCIDRs (#108290)
* Introduce networking/v1alpha1 api, ClusterCIDRConfig type

Introduce networking/v1alpha1 api group.

Add `ClusterCIDRConfig` type to networking/v1alpha1 api group, this type
will enable the NodeIPAM controller to support multiple ClusterCIDRs.

* Change ClusterCIDRConfig.NodeSelector type in api

* Fix review comments for API

* Update ClusterCIDRConfig API Spec

Introduce PerNodeHostBits field, remove PerNodeMaskSize
2022-03-30 19:39:00 -07:00
Davanum Srinivas
d20df79545
prune junit xml files in ci harness
Over time the size of our junit xml has exploded to the point where
test-grid fails to process them. We still have the original/full
*.stdout files from where the junit xml files are generated from so the
junit xml files need NOT have the fill/exact output for
processing/display. So let us prune the large messages with an
indicator that we have "[... clipped...]" some of the content so folks
can see that they have to consult the full *.stdout files.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-03-30 12:58:43 -04:00
Davanum Srinivas
917c361880
Add a utility to prune junit xml files
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-03-30 12:58:43 -04:00
SataQiu
9ac1b4b68f remove unused option deployment-controller-sync-period for deployment controller 2022-03-30 20:00:53 +08:00
Kubernetes Prow Robot
e4690b0fbc
Merge pull request #109123 from dims/switch-to-pause-3.7
Switch to pause 3.7 for Kubernetes 1.24
2022-03-29 20:37:39 -07:00
Jefftree
67d3dbfaae Separate OpenAPI V2 and V3 Config 2022-03-29 17:49:56 -07:00
Kubernetes Prow Robot
5b8dbfbbcf
Merge pull request #108995 from pohly/log-contextual
contextual logging
2022-03-29 17:35:59 -07:00
Kubernetes Prow Robot
faf7ad6120
Merge pull request #108146 from marosset/windows-kubelet-elevated-check
Fixing logic for kubelet permissions check on windows
2022-03-29 17:34:40 -07:00
Kubernetes Prow Robot
0f2300575c
Merge pull request #108032 from deejross/kep3140-cronjob-timezone
KEP 3140: TimeZone support for CronJob
2022-03-29 17:34:20 -07:00
Davanum Srinivas
f7ad09c447
Switch to pause 3.7
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-03-29 15:36:38 -04:00
Patrick Ohly
7de1b05e85 logging: add ContextualLogging feature
InitLogs overrides the klog default and turns contextual logging off. This
ensures that it is only enabled in Kubernetes commands that explicitly enable
it via a feature gate. A feature gate for it gets defined in
k8s.io/component-base/logs and is then used by Options.ValidateAndApply.

The effect of disabling contextual logging is very limited according to
benchmarks with kube-scheduler. The feature gets added anyway to satisfy the
PRR recommendation that features should be controllable.

The following commands have support for contextual logging:
- kube-apiserver
- kube-controller-manager
- kubelet
- kube-scheduler
- component-base/logs example

Supporting a feature gate check in ValidateAndApply and not in InitLogs is a
simplification: changing InitLogs to accept a FeatureGate would have implied
changing also component-base/cli.Run. This didn't seem worthwhile because
ValidateAndApply already covers the relevant commands.
2022-03-29 13:29:57 +02:00
Kubernetes Prow Robot
656dc213ce
Merge pull request #108992 from alexzielenski/cache-busting-client-go
client-go: OpenAPI v3 support
2022-03-28 21:37:11 -07:00
Ross Peoples
f3b928a23d Import tzdata in apiserver, CronJob.timeZone fixes 2022-03-28 16:33:05 -05:00
Ross Peoples
98837de446 TimeZone support for CronJobs 2022-03-28 16:33:00 -05:00
Lubomir I. Ivanov
c9386abd5f kubeadm: add etcd flag for member data consistency
Include the flag "--experimental-initial-corrupt-check"
in etcd static pod manifests to ensure
etcd member data consistency.

The etcd feature is planned for graduation in 3.6,
at which point we should switch to using the flag
without the "experimental" prefix.
2022-03-28 20:47:49 +03:00
Alexander Zielenski
52f7fd6534
update kubeadm restrictions to include v3 2022-03-28 10:07:56 -07:00
Kubernetes Prow Robot
16fe367389
Merge pull request #106451 from soltysh/cli_owners
Add cli-maintainers as approvers to cmd/(gendocs|genman|genyaml)
2022-03-28 07:51:23 -07:00
Kubernetes Prow Robot
9423ea4c1e
Merge pull request #109001 from wppzxc/master
Fix: Correct spelling mistakes in cmd/kubeadm/app/cmd/phases/workflow/runner_test.go
2022-03-28 06:45:00 -07:00
Kubernetes Prow Robot
b5f8d9ec16
Merge pull request #107724 from kkkkun/fix-leaderlost
Fixes exited messages when leaderelection lost
2022-03-28 06:44:48 -07:00
Kubernetes Prow Robot
922ccde1b4
Merge pull request #95400 from tssurya/detect-local-traffic-using-interface
Detect local traffic using interface
2022-03-28 06:43:22 -07:00
Maciej Szulik
1e62529ab8
Add cli-maintainers as approvers to cmd/(gendocs|genman|genyaml) 2022-03-28 14:00:35 +02:00
Kubernetes Prow Robot
083c3ac4e8
Merge pull request #106998 from eltociear/patch-7
Fix typo in get_test.go
2022-03-25 20:23:55 -07:00
Kubernetes Prow Robot
c239b406f0
Merge pull request #108929 from gnufied/move-expansion-feature-gate-ga
Move all volume expansion feature gates to GA
2022-03-25 18:08:16 -07:00
Surya Seetharaman
7d480d8ac8 Enable local traffic detection using the interface options
This commit adds the framework for the new local detection
modes BridgeInterface and InterfaceNamePrefix to work.

Signed-off-by: Surya Seetharaman <suryaseetharaman.9@gmail.com>
2022-03-25 20:06:12 +01:00
Paco Xu
22fb3be96d cleanup: kubeadm upgrade plan supports json/yaml output
Co-authored-by: Lubomir I. Ivanov <neolit123@gmail.com>
2022-03-25 16:15:43 +08:00
pengpeng wu
f67ec386a5 Fix: Correct spelling mistakes in cmd/kubeadm/app/cmd/phases/workflow/runner_test.go 2022-03-25 10:08:00 +08:00
Kubernetes Prow Robot
d60df5ba04
Merge pull request #108159 from pohly/logcheck
logcheck update and golangci-lint integration
2022-03-24 18:37:50 -07:00
Mark Rossetti
2e036ad7c3 Fixing logic for kubelet permissions check on windows
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2022-03-24 14:57:08 -07:00
Hemant Kumar
9343cce20b remove ExpandPersistentVolume feature gate 2022-03-24 10:02:47 -04:00
Patrick Ohly
edffc700a4 enhance and fix log calls
Some of these changes are cosmetic (repeatedly calling klog.V instead of
reusing the result), others address real issues:

- Logging a message only above a certain verbosity threshold without
  recording that verbosity level (if klog.V().Enabled() { klog.Info... }):
  this matters when using a logging backend which records the verbosity
  level.

- Passing a format string with parameters to a logging function that
  doesn't do string formatting.

All of these locations where found by the enhanced logcheck tool from
https://github.com/kubernetes/klog/pull/297.

In some cases it reports false positives, but those can be suppressed with
source code comments.
2022-03-24 11:13:50 +01:00
Patrick Ohly
0f4d0660a7 kube-scheduler: finish conversion to structured logging
Thanks to support for multi-line string values we can now also convert
these remaining klog.Info calls without making the output unreadable
in text format.

The debug log messages intentionally don't get changed to ensure that
developers looking for it still find it.

The output now looks like this:

I0322 11:44:46.715093  458409 configfile.go:96] "Using component config" config=<
	apiVersion: kubescheduler.config.k8s.io/v1beta2
	clientConnection:
	  acceptContentTypes: ""
	  burst: 100
	  contentType: application/vnd.kubernetes.protobuf
	  kubeconfig: /var/run/kubernetes/scheduler.kubeconfig
	  qps: 50
	enableContentionProfiling: true
 ...
	  schedulerName: default-scheduler
 >

I0322 11:45:08.695649  458409 comparer.go:42] "Cache comparer started"
I0322 11:45:08.695718  458409 comparer.go:67] "Cache comparer finished"
I0322 11:45:08.695820  458409 dumper.go:52] "Dump of cached NodeInfo" nodes=<
	Node name: 127.0.0.1
	Deleted: false
	Requested Resources: &{MilliCPU:0 Memory:0 EphemeralStorage:0 AllowedPodNumber:0 ScalarResources:map[]}
	Allocatable Resources:&{MilliCPU:36000 Memory:67019448320 EphemeralStorage:181555660500 AllowedPodNumber:110 ScalarResources:map[hugepages-1Gi:0 hugepages-2Mi:0]}
	Scheduled Pods(number: 0):
 >
I0322 11:45:08.695873  458409 dumper.go:62] "Dump of scheduling queue" pods=<
	name: coredns-6874cd75d4-fv6hv, namespace: kube-system, uid: f1df106f-7fd9-460d-8403-333df61b2751, phase: Pending, nominated node:
 >
2022-03-24 11:13:50 +01:00
Alex Wang
8a5df1302a rename unschedulableQ to unschedulablePods
Signed-off-by: Alex Wang <wangqingcan1990@gmail.com>
2022-03-24 17:38:49 +08:00
Kun Zhang
6f8e9aa05d Fixes exited messages when leaderelection lost 2022-03-24 17:33:16 +08:00
Kubernetes Prow Robot
14e8db067e
Merge pull request #108191 from ravisantoshgudimetla/wire-cert-contexts
Wire cert contexts
2022-03-23 11:20:17 -07:00
Kubernetes Prow Robot
de88dfcaf4
Merge pull request #108873 from saschagrunert/kubeadm-crictl-path
kubeadm: reuse found crictl path for exec
2022-03-22 12:22:11 -07:00
Kubernetes Prow Robot
e0b334f570
Merge pull request #105077 from marosset/windows-run-kubelet-in-job-object
Run kubelet in a job object in windows
2022-03-22 10:35:59 -07:00
Sascha Grunert
6b63231b7e
kubeadm: reuse found crictl path for exec
We now re-use the crictl tool path within the `ContainerRuntime` when
exec'ing into it. This allows introducing a convenience function to
create the crictl command and re-use it where necessary.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2022-03-22 14:03:57 +01:00
Wei Huang
d330f4dcb4
Fix a bug that out-of-tree plugin is misplaced when using scheduler v1beta3 config 2022-03-21 10:46:26 -07:00
Kubernetes Prow Robot
aface3ab99
Merge pull request #108761 from denkensk/set-flush-arg
Set PodMaxUnschedulableQDuration as 5 min
2022-03-17 20:15:39 -07:00
SataQiu
6c57e2fced kubeadm: fix the bug that windows node failed to join IPv6 cluster due to preflight failures
Signed-off-by: SataQiu <shidaqiu2018@gmail.com>
2022-03-17 22:07:08 +08:00
Alex Wang
e772202e95 set PodMaxUnschedulableQDuration as 5 min 2022-03-17 15:37:34 +08:00
Kubernetes Prow Robot
41b29e6542
Merge pull request #99287 from anfernee/clientip
Add HNS Load Balancer Healthchecks for ExternalTrafficPolicy: Local
2022-03-16 22:57:18 -07:00
Kubernetes Prow Robot
72a1dcb6e7
Merge pull request #108539 from ialidzhikov/cleanup/horizontal-pod-autoscaler-use-rest-clients
kube-controller-manager: Cleanup MarkDeprecared call for already removed flag
2022-03-15 16:09:59 -07:00
Mark Rossetti
f63a194d9e Run kubelet in a job object in windows
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2022-03-15 12:17:52 -07:00
Yongkun Gui
78a507b256 Fix health check from Google's Load Balancer
This change adds 2 options for windows:
--forward-healthcheck-vip: If true forward service VIP for health check
port
--root-hnsendpoint-name: The name of the hns endpoint name for root
namespace attached to l2bridge, default is cbr0

When --forward-healthcheck-vip is set as true and winkernel is used,
kube-proxy will add an hns load balancer to forward health check request
that was sent to lb_vip:healthcheck_port to the node_ip:healthcheck_port.
Without this forwarding, the health check from google load balancer will
fail, and it will stop forwarding traffic to the windows node.

This change fixes the following 2 cases for service:
- `externalTrafficPolicy: Cluster` (default option): healthcheck_port is
10256 for all services. Without this fix, all traffic won't be directly
forwarded to windows node. It will always go through a linux node and
get forwarded to windows from there.
- `externalTrafficPolicy: Local`: different healthcheck_port for each
service that is configured as local. Without this fix, this feature
won't work on windows node at all. This feature preserves client ip
that tries to connect to their application running in windows pod.

Change-Id: If4513e72900101ef70d86b91155e56a1f8c79719
2022-03-11 22:34:59 -08:00
Tyler Lloyd
a7d866f036
chore: kube-proxy cluder-cidr arg accepts comma-separated list (#105832)
* kube-proxy cluder-cidr arg accepts comma-separated list

It is possible in dual-stack clusters to provide kube-proxy with
a comma-separated list with an IPv4 and IPv6 CIDR for pods.

update: signoff
update2: update email profile

Signed-off-by: Tyler Lloyd <Tyler.Lloyd@microsoft.com>
Signed-off-by: Tyler Lloyd <tylerlloyd928@gmail.com>

* Updating cluster-cidr comment description

Signed-off-by: Tyler Lloyd <tyler.lloyd@microsoft.com>
2022-03-11 02:03:07 -08:00
Lubomir I. Ivanov
76e8a067d1 kubeadm: fix bad indentation in the API go docs
For the YAML examples, make the indentation consistent
by starting with a space and following with a TAB.
Also adjust the indentation of some fields to place them under
the right YAML field parent - e.g. ignorePreflightErrors
is under nodeRegistration.
2022-03-10 18:36:13 +02:00
Kubernetes Prow Robot
a41f9e976d
Merge pull request #108107 from aojea/kubelet_http2_heartbeat
kubelet apiserver: be gentle closing connections on heartbeat failures
2022-03-09 01:32:12 -08:00
carlory
fcc282f9f2 remove audit.k8s.io/v1[alpha|beta]1 versions 2022-03-08 14:37:26 +08:00
Ravi Gudimetla
72a62f47f7 Wire context for cert controllers
All the controllers should use context for signalling termination of communication with API server. Once kcm cancels context all the cert controllers which are started via kcm should cancel the APIServer request in flight instead of hanging around.
2022-03-07 10:19:45 -05:00
Ravi Gudimetla
8b84a793b3 API Server Changes
This commit includes all the changes needed for APIServer. Instead of modifying the existing signatures for the methods which either generate or return stopChannel, we generate a context from the channel and use the generated context to be passed to the controllers which are started in APIServer. This ensures we don't have to touch APIServer dependencies.
2022-03-07 09:37:01 -05:00
Kubernetes Prow Robot
3775ac6d19
Merge pull request #108535 from Abirdcfly/master
fix some typo
2022-03-05 22:46:52 -08:00
Abirdcfly
2005110090 fix some typo
Change-Id: I211f572555e964581214a5d726ac552676c9833a
2022-03-05 23:25:52 +08:00
ialidzhikov
9c7c7cca24 kube-controller-manager: Cleanup MarkDeprecared call for already removed flag
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2022-03-05 12:53:44 +02:00
Kubernetes Prow Robot
d7d121999d
Merge pull request #108480 from wojtek-t/log_golang_envs
Log main golang runtime env vars
2022-03-04 00:10:51 -08:00
Wojciech Tyczyński
ef2e32ab65 Log main golang runtime env vars 2022-03-04 08:04:02 +01:00
Paco Xu
79ecd60208 bugfix(kubeadm): Fix UT and log optmize 2022-03-03 19:09:26 +08:00
Paco Xu
93daef6e77 feature(kubeadm): add support of json/yaml format for upgrade plan
- cherry-pick 83941 and rebase
2022-03-03 17:23:03 +08:00
Kubernetes Prow Robot
428ec843a5
Merge pull request #107121 from borgerli/fix-kubelet-config-log
1.21 regression: fix regression introduced by PR 100320 - sensitive information would be logged
2022-03-03 00:28:48 -08:00
ialidzhikov
a444eb60d7 kube-controller-manager: Remove the deprecated --experimental-cluster-signing-duration flag
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2022-03-03 08:47:49 +02:00
Haleygo
3bbc2572c5 fix dryrun when ca file exists 2022-03-03 11:53:42 +08:00
Kubernetes Prow Robot
4fcfc58d1b
Merge pull request #108315 from Monokaix/print-getStaticPodSingleHash-err
kubeadm: improve getStaticPodSingleHash error messages
2022-03-02 09:17:14 -08:00
Kubernetes Prow Robot
88f9728339
Merge pull request #108309 from zshihang/token
no auto-generation of secret-based service account token
2022-03-02 06:19:15 -08:00
XuzhengChang
7824316e89 Print getStaticPodSingleHash err message 2022-03-02 09:34:12 +08:00
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
Jack
91c7f3f66a chore(kubelet): simpler createAndInitKubelet func 2022-02-24 14:20:32 -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
Shihang Zhang
fb6c727fde no auto-generation of secret-based service account token 2022-02-23 14:17: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
Antonio Ojea
39e9b19b88 kubelet: rename closeAllConns to onHeartbeatFailure
Since the behavior of the kubelet OnHeartbeatFailure hook has changed
to close only the idle connections, rename this function to match
the semantics.
2022-02-18 16:30:22 +01: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
Antonio Ojea
ac22287051 kubelet apiserver: be gentle closing connections on heartbeat failures 2022-02-14 17:32:24 +01: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
Kubernetes Prow Robot
57d66b9aad
Merge pull request #106400 from mahendrabishnoi2/master
fix grammar
2022-01-11 13:56:41 -08:00
Kubernetes Prow Robot
9c468ecf30
Merge pull request #107467 from SataQiu/kubeadm-cleanup-20220111
kubeadm: print warnings to stderr
2022-01-11 09:46:57 -08:00
Kubernetes Prow Robot
8f453c9d79
Merge pull request #107044 from pohly/cli-invalid-command
cli: avoid logging command line errors in more cases
2022-01-11 09:46:37 -08:00
SataQiu
218b4dea9f kubeadm: print warnings to stderr 2022-01-11 23:08:59 +08:00
Lubomir I. Ivanov
ad58393e19 kubeadm: remove the deprecated output/v1alpha1 API
The API was deprecated in 1.23 when output/v1alpha2 was
added. v1alpha1 is problematic since it embeds kubeadm/v1beta2
BootstrapToken related types directly. v1alpha2 imports
a new group dedicated to bootstrap tokens apis/bootstraptoken.
2022-01-11 12:51:46 +02:00
Patrick Ohly
a5d2d6fec3 cli: let kubectl handle error printing
cli.Run was an attempt to elliminate error handling in Kubernetes
commands. However, it had to rely on heuristics that are not necessarily right
for all commands.

kubectl is one example which has its own error printing code that should be
used in all cases after a command failure. It now gets used also for
`--warnings-as-errors`. Previously, that caused the following message to be
logged at the end:

  E0110 16:56:01.987555  202060 run.go:120] "command failed" err="1 warning received"

Now it ends with:

 error: 1 warning received
2022-01-10 17:09:30 +01:00
Davanum Srinivas
ba1f853b5a
Add mwielgus back
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-01-10 09:02:53 -05:00
Davanum Srinivas
9682b7248f
OWNERS cleanup - Jan 2021 Week 1
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-01-10 08:14:29 -05:00
Kubernetes Prow Robot
9bbc5b15e7
Merge pull request #105870 from cyclinder/kube_scheduler_MarkFlagFilename
kube-scheduler: log possible error
2022-01-07 19:05:04 -08:00
Kubernetes Prow Robot
ac318a6518
Merge pull request #106865 from jonyhy96/cleanup-scheduler-flag
[scheduler] cleanup: remove insecure flag
2022-01-07 08:58:45 -08:00
cyclinder
1a16de783b kube-scheduler: log the unhandled error
Signed-off-by: cyclinder <qifeng.guo@daocloud.io>
2022-01-07 18:21:11 +08:00
haoyun
732cb36725 fix: misleading in help info
Signed-off-by: haoyun <yun.hao@daocloud.io>
2022-01-07 14:50:31 +08:00
Ikko Ashimine
6debd53ff3 Fix typo in flags.go 2022-01-07 04:02:11 +09:00
Kubernetes Prow Robot
b1c204a237
Merge pull request #104774 from kerthcet/bug/fix-kubelet-log-defer-conflict-with-exit
fix kubelet flushlogs not working together with exit
2022-01-06 10:40:32 -08:00
Mengjiao Liu
beda4cafb6 kubelet: Remove the deprecated flag --experimental-check-node-capabilities-before-mount 2022-01-06 11:47:11 +08:00
Kubernetes Prow Robot
c15e24b128
Merge pull request #107327 from SataQiu/kubeadm-cert
kubeadm: remove the restriction that the ca.crt can only contain one certificate
2022-01-05 19:08:39 -08:00
Kubernetes Prow Robot
a1be132c0d
Merge pull request #107270 from SataQiu/refactor-20211231
kubeadm: use build tags and split the Windows releated logic into separate files for kubelet component config
2022-01-05 13:54:29 -08:00
Lubomir I. Ivanov
936e12c930 kubeadm: do not special case Docker as a container runtime
crictl already works with the current state of dockershim.
Using the docker CLI is not required and the DockerRuntime
can be removed from kubeadm. This means that crictl
can connect at the dockershim (or cri-dockerd) socket and
be used to list containers, pull images, remove containers, and
all actions that the kubelet can otherwise perform with the socket.

Ensure that crictl is now required for all supported container runtimes
in checks.go. In the help text in waitcontrolplane.go show only
the crictl example.

Remove the check for the docker service from checks.go.
Remove the DockerValidor check from checks.go.
These two checks were special casing Docker as CR and compensating
for the lack of the same checks in dockershim. With the
extraction of dockershim to cri-dockerd, ideally cri-dockerd
should perform the required checks whether it can support
a given Docker config / version running on a host.
2022-01-05 21:27:24 +02:00
SataQiu
2a113424fc kubeadm: use build tags and split the Windows releated logic into separate files for kubelet component config 2022-01-05 16:04:55 +08:00
SataQiu
83ef08336b kubeadm: remove the restriction that the ca.crt can only contain one certificate 2022-01-05 15:08:29 +08:00
Kubernetes Prow Robot
885961cda8
Merge pull request #107314 from neolit123/1.24-fix-panic-in-runkubeletconfig
kubeadm: fix panic in runKubeletConfigPhase
2022-01-04 23:03:35 -08:00
Kubernetes Prow Robot
4eae933dc7
Merge pull request #106667 from SergeyKanzhelev/updateDeprecationMessages
updated deprecation messages from 1.23 to 1.24
2022-01-04 23:03:20 -08:00
Lubomir I. Ivanov
076b19f0eb kubeadm: fix panic in runKubeletConfigPhase
The "nro" struct must be initialized before passing it to
GetNodeRegistration().
2022-01-04 21:28:13 +02:00
Kubernetes Prow Robot
28bda67fb2
Merge pull request #105721 from yxxhero/optimize_controllermanger_cobra_param
Optimize Cobra parameters of Controller Manager
2022-01-04 11:26:50 -08:00
Kubernetes Prow Robot
c7d57a01b7
Merge pull request #107295 from neolit123/1.24-kubeadm-add-scheme-to-cri-sockets
kubeadm: ensure CRI endpoints are managed with URL schemes
2022-01-03 23:02:59 -08:00
Lubomir I. Ivanov
39330c4278 kubeadm: ensure CRI URL scheme is present in the kubelet env file
During "upgrade node" and "upgrade apply" read the
kubelet env file from /var/lib/kubelet/kubeadm-flags.env
patch the --container-runtime-endpoint flag value to
have the appropriate URL scheme prefix (e.g. unix:// on Linux)
and write the file back to disk.

This is a temporary workaround that should be kept only for 1 release
cycle - i.e. remove this in 1.25.
2022-01-03 23:13:31 +02:00
Lubomir I. Ivanov
207556e057 kubeadm: make "upgrade node" include URL scheme in socket paths
The CRI socket that kubeadm writes as an annotation
on a particular Node object can include an endpoint that
does not have an URL scheme. This is undesired as long term
the kubelet can stop allowing endpoints without URL scheme.

For control plane nodes "kubeadm upgrade apply" takes
the locally defaulted / populated NodeRegistration and refreshes
the CRI socket in PerformPostUpgradeTasks. But for secondary
nodes "kubeadm upgrade node" does not.

Adapt "upgrade node" to fetch the NodeRegistration for this node
and fix the CRI socket missing URL scheme if needed in the Node
annotation.
2022-01-03 23:13:31 +02:00
pacoxu
7594f0ef90 kubeadm: detect runtime socket as URL format
- Update defaults for v1beta2 and 3 to have URL scheme
- Raname DefaultUrlScheme to DefaultContainerRuntimeURLScheme
- Prepend a missing URL scheme to user sockets and warn them
that this might not be supported in the future
- Update socket validation to exclude IsAbs() testing
(This is broken on Windows). Assume the path is not empty and has
URL scheme at this point (validation happens after defaulting).
- Use net.Dial to open Unix sockets
- Update all related unit tests

Signed-off-by: pacoxu <paco.xu@daocloud.io>
Signed-off-by: Lubomir I. Ivanov <lubomirivanov@vmware.com>
2022-01-03 21:15:03 +02:00
Monokaix
eab74f15a5 Remove unused arg of kubeadm/WaitForKubeletAndFunc 2021-12-25 09:12:00 +08:00
Kubernetes Prow Robot
d0d23ea052
Merge pull request #107157 from chendave/proxy-config
kube-proxy: note that cli args is ignored if config file is specified
2021-12-21 12:44:25 -08:00
Dave Chen
e5eb158877 kube-proxy: note that cli args is ignored if config file is specified
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-12-21 17:04:47 +08:00
Kubernetes Prow Robot
f5f34166b7
Merge pull request #106954 from saschagrunert/experimental-runtime-flags
Mark `--container-runtime-endpoint` and `--image-service-endpoint` stable
2021-12-20 06:19:25 -08:00
Li Bo
7311aa4131 fix regression introduced by PR 100320 2021-12-18 21:39:24 +08:00
Kubernetes Prow Robot
522c1be4c1
Merge pull request #106648 from calvin0327/remove-dualStack-featureGate
kubeadm: cleanup the feature gate of dual-stack.
2021-12-15 17:27:18 -08:00
Kubernetes Prow Robot
1426587e08
Merge pull request #106436 from dims/cleanup-owners-files-no-activity-in-a-year
Cleanup OWNERS files (No Activity in the last year)
2021-12-15 12:07:51 -08:00
Davanum Srinivas
497e9c1971
Cleanup OWNERS files (No Activity in the last year)
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-12-15 10:34:02 -05:00
Kubernetes Prow Robot
be5b9b4f8d
Merge pull request #107013 from pacoxu/kubeadm-v1beta2-depre
kubeadm: mark v1beta2 as deprecated
2021-12-14 19:48:18 -08:00
Paco Xu
703f2a7b86 kubeadm: mark v1beta2 as deprecated 2021-12-15 09:36:42 +08:00
Kubernetes Prow Robot
77243f3274
Merge pull request #106973 from neolit123/1.24-adapt-kubeadm-to-dockershim-removal
kubeadm: handle dockershim specific flags for 1.24
2021-12-14 02:09:46 -08:00
Kubernetes Prow Robot
90110f71cb
Merge pull request #106256 from ardaguclu/use-serve-with-listener-stopped
Rename ServeWithListenerStopped to Serve in secure_serving
2021-12-13 07:35:58 -08:00
Lubomir I. Ivanov
6c6c7e5f0c kubeadm: handle dockershim specific flags for 1.24
Currently when the dockershim socket is used, kubeadm only passes
the --network-plugin=cni to the kubelet and assumes the built-in
dockershim. This is valid for versions <1.24, but with dockershim
and related flags removed the kubelet will fail.

Use preflight.GetKubeletVersion() to find the version of the host
kubelet and if the version is <1.24 assume that it has built-in
dockershim. Newer versions should will be treated as "remote" even
if the socket is for dockershim, for example, provided by cri-dockerd.

Update related unit tests.
2021-12-11 02:16:06 +02:00
Kubernetes Prow Robot
1d66302c42
Merge pull request #106458 from dims/lint-yaml-in-owners-files
Lint/Beautify yaml in OWNERS files
2021-12-10 06:39:12 -08:00
Sascha Grunert
5983850dbc
Mark --container-runtime-endpoint and --image-service-endpoint stable
Since we removed dockershim we now rely on both flags, which therefore
should not marked experimental any more.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2021-12-10 14:54:10 +01:00
Kubernetes Prow Robot
15e5f2a19a
Merge pull request #106291 from sbs2001/fix_invalid_comment
Remove invalid comment in legacyregistry
2021-12-09 19:03:10 -08:00
Davanum Srinivas
9405e9b55e
Check in OWNERS modified by update-yamlfmt.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-12-09 21:31:26 -05:00
Davanum Srinivas
a5c670102c
Cleanup owners files to make parsing automatable
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-12-09 21:31:03 -05:00
Kubernetes Prow Robot
b5a610064c
Merge pull request #106920 from neolit123/1.24-update-kubeadm-owners
kubeadm: update OWNERS for 1.24
2021-12-09 18:01:22 -08:00
Kubernetes Prow Robot
481459d12d
Merge pull request #106872 from calvin0327/fix-kubeadm-kubelet-constant
kubeadm: amend constant to kubelet.
2021-12-09 16:29:22 -08:00
Lubomir I. Ivanov
0290eb63b6 kubeadm: update OWNERS for 1.24 2021-12-09 21:07:56 +02:00
Kubernetes Prow Robot
8cc7d14588
Merge pull request #106859 from knight42/refactor/remove-apiserver-insecure-port
refactor(apiserver): remove the insecure flags
2021-12-09 09:48:30 -08:00
Kubernetes Prow Robot
cb0e11a296
Merge pull request #106860 from knight42/refactor/remove-ctrlmgr-insecure-port
refactor: remove the insecure flags in controller-manager
2021-12-09 08:06:16 -08:00
Kubernetes Prow Robot
f98f27bc2f
Merge pull request #106891 from neolit123/1.24-kubeadm-fix-external-etcd-ca-validation
kubeadm: validate local etcd certficates during expiration checks
2021-12-09 00:24:09 -08:00
haoyun
cd3bafc2ed cleanup: remove insecure flag
Signed-off-by: haoyun <yun.hao@daocloud.io>
2021-12-09 12:36:29 +08:00
Kubernetes Prow Robot
cdf3ad823a
Merge pull request #97252 from dims/drop-dockershim
Completely remove in-tree dockershim from kubelet
2021-12-08 12:51:46 -08:00
Lubomir I. Ivanov
c78afc695b kubeadm: print the CA of kubeconfig files in "check expiration"
Apply a small fix to ensure the kubeconfig files
that kubeadm manages have a CA when printed in the table
of the "check expiration" command. "CAName" is the field used for that.

In practice kubeconfig files can contain multiple credentials
from different CAs, but this is not supported by kubeadm and there
is a single cluster CA that signs the single client cert/key
in kubeadm managed kubeconfigs.
2021-12-08 20:50:23 +02:00
Lubomir I. Ivanov
6603cf6357 kubeadm: validate local etcd certficates during expiration checks
In case stacked etcd is used, the code that does expiration checks
does not validate if the etcd CA is "external" (missing key)
and if the etcd CA signed certificates are valid.

Add a new function UsingExternalEtcdCA() similar to existing functions
for the cluster CA and front-proxy CA, that performs the checks for
missing etcd CA key and certificate validity.

This function only runs for stacked etcd, since if etcd is external
kubeadm does not track any certs signed by that etcd CA.

This fixes a bug where the etcd CA will be reported as local even
if the etcd/ca.key is missing during "certs check-expiration".
2021-12-08 20:39:14 +02:00
Kubernetes Prow Robot
f356ae4ad9
Merge pull request #101719 from SergeyKanzhelev/removeReallyCrashForTesting
Remove ReallyCrashForTesting and cleaned up some references to Handle…
2021-12-07 23:39:45 -08:00
calvin
fdf33a27c4 amend constant to kubelet 2021-12-08 14:17:34 +08:00
Kubernetes Prow Robot
89f53538ff
Merge pull request #106854 from neolit123/1.24-fix-kubeadm-check-expiration-kubeconfig
kubeadm: avoid requiring a CA key during kubeconfig expiration checks
2021-12-07 20:57:44 -08:00
haoyun
d2d21facc1 cleanup: remove insecure flag
Signed-off-by: haoyun <yun.hao@daocloud.io>
2021-12-08 12:02:43 +08:00
Kubernetes Prow Robot
022d49dcbc
Merge pull request #106740 from wojtek-t/update_kubemark_clients
Update kubemark to use EndpointSlices and proper user-agents
2021-12-07 19:27:59 -08:00
Jian Zeng
9573b4a6b9
refactor(apiserver): remove the insecure flags
Signed-off-by: Jian Zeng <anonymousknight96@gmail.com>
2021-12-08 10:53:44 +08:00
Jian Zeng
c73d96ac87
refactor: remove the insecure flags in controller-manager
Signed-off-by: Jian Zeng <anonymousknight96@gmail.com>
2021-12-08 10:50:12 +08:00
Kubernetes Prow Robot
68b53cf940
Merge pull request #106581 from knabben/win-kernel-kproxy-metrics
Registering kube-proxy metrics on windows kernel mode
2021-12-07 18:26:09 -08:00
Kubernetes Prow Robot
39b45fb040
Merge pull request #106381 from dims/update-dims-as-approver
Update `dims` as approver for some top level dirs
2021-12-07 17:26:48 -08:00
Davanum Srinivas
bc78dff42e
update files to drop dockershim
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-12-07 15:15:13 -05:00
Lubomir I. Ivanov
847b2e1085 kubeadm: avoid requiring a CA key during kubeconfig expiration checks
When the "kubeadm certs check-expiration" command is used and
if the ca.key is not present, regular on disk certificate reads
pass fine, but fail for kubeconfig files. The reason for the
failure is that reading of kubeconfig files currently
requires reading both the CA key and cert from disk. Reading the CA
is done to ensure that the CA cert in the kubeconfig is not out of date
during renewal.

Instead of requiring both a CA key and cert to be read, only read
the CA cert from disk, as only the cert is needed for kubeconfig files.

This fixes printing the cert expiration table even if the ca.key
is missing on a host (i.e. the CA is considered external).
2021-12-07 20:48:45 +02:00
Wojciech Tyczyński
243f4faa6d Update kubemark to use EndpointSlices and proper user-agents 2021-11-30 11:38:08 +01:00
kerthcet
185e0a041c prefer %w to unwrap errors
Signed-off-by: kerthcet <kerthcet@gmail.com>
2021-11-30 10:56:13 +08:00
Sergey Kanzhelev
a11453efbc remove ReallyCrashForTesting and cleaned up some references to HandleCrash behavior 2021-11-29 20:00:10 +00:00
calvin
d591b62b4a remove the kubeadm feature gate. 2021-11-29 18:11:02 +08:00
Sergey Kanzhelev
54a279e0b0 updated deprecation messages from 1.23 to 1.24 2021-11-24 21:58:47 +00:00
Amim Knabben
8b37bfec8e Enabling kube-proxy metrics on windows kernel mode 2021-11-21 21:23:55 -03:00
Kubernetes Prow Robot
1304dfd73e
Merge pull request #106520 from pohly/log-print-flags
kubelet: print flags after initializing logging
2021-11-18 01:53:02 -08:00
Shivam Sandbhor
6652c54d83 Remove invalid comment in legacyregistry
Signed-off-by: Shivam Sandbhor <shivam.sandbhor@gmail.com>
2021-11-18 15:05:00 +05:30
Patrick Ohly
316ac13d00 kubelet: print flags after initializing logging
If done too soon, the klog.V() calls are ignored because the log verbosity
isn't set. In Kubernetes 1.22, the verbosity was set, but not the logging
format.
2021-11-18 07:53:16 +01:00
Hanna Lee
07a883d8e6 Remove //lint:ignore pragmas that aren't being used anymore 2021-11-17 08:56:54 +01:00
Hanna Lee
c862d7c0e9 Fix last remaining SA5011 error by removing unnecessary r != nil check 2021-11-17 08:56:01 +01:00
Hanna Lee
a7daeb37af Convert one more utilflag.IPVar to &utilflag.IPVar 2021-11-17 08:56:01 +01:00
Hanna Lee
30ea05ae7b Update IPVar and IPPortVar functions to have pointer receivers to fix 'ineffective assignment' 2021-11-17 08:56:00 +01:00
Hanna Lee
0f3836dcc5 Ignore deprecation warnings with //nolint:staticcheck 2021-11-17 08:55:57 +01:00
Kubernetes Prow Robot
9dd8aad535
Merge pull request #104750 from sanposhiho/fix/bug/proxy/defer-with-os-exit
Fix(kube-proxy): remove os.Exit from cobra.Command
2021-11-16 21:13:53 -08:00
Kubernetes Prow Robot
c0b5ed7556
Merge pull request #105611 from damemi/simplified-multipoint-extension
Scheduler simplified MultiPoint plugin config
2021-11-16 17:44:12 -08:00
Kubernetes Prow Robot
1f6d5caa9a
Merge pull request #105437 from cmssczy/update-kubelet-configuration
migrate --register-with-taints to KubeletConfiguration
2021-11-16 17:44:00 -08:00
Kubernetes Prow Robot
8d9e424f73
Merge pull request #103447 from trierra/csi-translation-portworx
Csi translation portworx
2021-11-16 17:43:53 -08:00
Kubernetes Prow Robot
e14bdbaa1c
Merge pull request #105057 from jiahuif-forks/feature/enum-types-feature-enablement
Add Support for OpenAPIEnum in OpenAPI v2
2021-11-16 16:35:55 -08:00
Oksana Naumov
3af11fc12d Add support for Portworx to csi-translation lib
Signed-off-by: Oksana Naumov <trierra.dev@gmail.com>
2021-11-16 13:26:09 -08:00
Mike Dame
420c5308bb Add MultiPoint scheduler plugin config field 2021-11-16 14:56:33 -05:00
Kubernetes Prow Robot
45f77ca4ba
Merge pull request #104844 from aojea/clientgo_close_idle
CloseIdleConnections of wrapped Transport RoundTrippers
2021-11-16 08:45:27 -08:00
Kubernetes Prow Robot
6d1d8c73ee
Merge pull request #106316 from josephburnett/controller-v2
Watch HPA v2 instead of v1.
2021-11-16 06:41:38 -08:00
Antonio Ojea
15ea255457 don't use a custom dialer for the kubelet
Don't use a custom dialer for the kubelet if is not rotating
certificates, so we can reuse TCP connections because we don't need
a customer dialer.

Kubelet needs to be able to recover from stale http connections.
HTTP2 has a mechanism to detect broken connections by sending periodical pings.
HTTP1 only can have one persistent connection, and it will close all Idle connections
once the Kubelet heartbet fails. However, since there are many edge cases that we can't
control, users can still opt-in to the previous behavior for closing the connections by
setting the environment variable DISABLE_HTTP2.
2021-11-16 15:39:30 +01:00
caozhiyuan
bad4faf1b9 migrate --register-with-taints to KubeletConfiguration 2021-11-16 19:10:36 +08:00
Joseph Burnett
711f96e05e Watch HPA v2 instead of v1. 2021-11-16 11:13:21 +01:00
kerthcet
9600e8d93b fix kubelet flushlogs not working together with os.Exit()
Signed-off-by: kerthcet <kerthcet@gmail.com>
2021-11-16 13:27:37 +08:00
Kubernetes Prow Robot
66c342ba63
Merge pull request #95361 from humblec/rbd-migration
RBD in-tree plugin migration to CSI driver using migration translation lib
2021-11-15 19:53:25 -08:00
Humble Chirammal
7c40eb9ae0 Add support for rbd plugin to csi-translation-lib
In support of csi-migration proposal here:
https://github.com/kubernetes/community/blob/master/contributors/design-proposals/storage/csi-migration.md

Will help with migration of in-tree RBD plugin ( kubernetes.io/rbd)
to RBD CSI driver ( rbd.csi.ceph.com ).

Fixes https://github.com/kubernetes/enhancements/issues/2923

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2021-11-15 23:46:29 +05:30
Kubernetes Prow Robot
1c127d3682
Merge pull request #105706 from uthark/oatamanenko/upgrade-etcd-3.5.1
Upgrade etcd to 3.5.1
2021-11-15 10:04:59 -08:00
Mahendra Bishnoi
059849703b fix grammar 2021-11-13 23:23:04 +05:30
sanposhiho
c169d4d4d2 Fix: change not to print error log on RunE 2021-11-13 14:21:04 +09:00
sanposhiho
f80ddac1bc Fix: return error instead of os.Exit when something goes wrong 2021-11-13 14:20:56 +09:00
Kubernetes Prow Robot
dc10a566fd
Merge pull request #106370 from navist2020/kubeadm-certs-csr
kubeadm/certs/renew:remove deprecated flags csrOnly and csrPath
2021-11-12 13:38:41 -08:00
Kubernetes Prow Robot
763916aa2d
Merge pull request #106159 from soltysh/config_wrapper
Switch from arguments to an input structure for kubectl command
2021-11-12 10:24:28 -08:00
Neha Lohia
fa1b6765d5
move pkg/util/node to component-helpers/node/util (#105347)
Signed-off-by: Neha Lohia <nehapithadiya444@gmail.com>
2021-11-12 07:52:27 -08:00
Davanum Srinivas
b956055771
Update dims as approver for some top level dirs
- `staging`
- `plugin`
- `pkg`
- `cmd`

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-11-12 08:50:24 -05:00
navist2020
bc4bbd88b2 kubeadm/certs/renew:remove deprecated flags csrOnly and csrPath 2021-11-12 17:44:35 +08:00
Kubernetes Prow Robot
c98b388a84
Merge pull request #105450 from danwinship/ipvs-dead-code
Remove some dead code in the ipvs proxy
2021-11-11 20:50:27 -08:00
Kubernetes Prow Robot
35f9bcabf1
Merge pull request #105992 from hwdef/fix-kubeadm-2419
kubeadm: add mutation for Linux paths in KubeletConfiguration on Windows
2021-11-11 19:48:29 -08:00
hwdef
b985e094b0 kubeadm: fix absolute paths do not work properly in config files in windows 2021-11-12 10:42:46 +08:00
Kubernetes Prow Robot
2bd67845d4
Merge pull request #105550 from damemi/wire-contexts-rbac
Wire contexts to RBAC controllers
2021-11-11 15:15:25 -08:00
Kubernetes Prow Robot
7663bffd51
Merge pull request #106321 from neolit123/1.23-fix-e2e-test-failures-1
kubeadm: fix test failures in the e2e_kubeadm suite
2021-11-11 12:00:08 -08:00
Kubernetes Prow Robot
0fefe4e605
Merge pull request #106314 from shivanshu1333/fix/master/105841
Migrated remaining lines of `server.go` and `csi.go` to structured logging
2021-11-11 08:48:07 -08:00
Mike Dame
80c01707e0
Wire contexts to Batch controllers (#105491)
* Wire contexts to Batch controllers

* (hold) feedback + updates that overlap with Apps controllers

* fixup errors
2021-11-10 14:56:46 -08:00
Lubomir I. Ivanov
e1571bf665 kubeadm: fix typo in KubeProxyClusterRoleBindingName constant
kubeam:node-proxier -> kubeadm:node-proxier
This causes e2e test failures:
"[area-kubeadm] proxy addon kube-proxy ServiceAccount should
be bound to the system:node-proxier cluster role"

in:
- kubeadm-kinder-latest
- kubeadm-kinder-latest-on-...
- other tests
2021-11-10 21:19:30 +02:00
Shivanshu Raj Shrivastava
3142acbc8c
migrated remaining lines of server.go and csi.go to structured logging 2021-11-10 21:24:34 +05:30
Etienne Champetier
356d9e0626 kubeadm: fix inverted warning message
Before this commit when setting bindAddress to 1.2.3.4 the warning was:
The recommended value for "bindAddress" in "KubeProxyConfiguration" is: 1.2.3.4; the provided value is: 0.0.0.0

Signed-off-by: Etienne Champetier <e.champetier@ateme.com>
2021-11-09 20:54:57 -05:00
Jiahui Feng
9c05de2f31 prune enum when OpenAPIEnums is disabled. 2021-11-09 13:00:00 -08:00
Kubernetes Prow Robot
e759c32129
Merge pull request #106243 from calvin0327/fix-kubeadm-init-constant
fix some kubeadm init phase constants
2021-11-09 11:28:24 -08:00
Kubernetes Prow Robot
398e028d61
Merge pull request #106228 from sanchayanghosh/104868-scheduler-logging-config-format-incorrectly
Changed the Info type so that the config file can be displayed withou…
2021-11-09 11:28:12 -08:00
Kubernetes Prow Robot
5848dbaa80
Merge pull request #105741 from neolit123/1.23-kubeadm-kubelet-config-map-change
kubeadm: introduce the UnversionedKubeletConfigMap feature gate
2021-11-09 11:27:48 -08:00
wangyysde
d2abddd909 rename v2beta2 to v2
Signed-off-by: wangyysde <net_use@bzhy.com>

Generation swagger.json.

Use v2 path for hpa_cpu_field.

run update-codegen.sh

Signed-off-by: wangyysde <net_use@bzhy.com>
2021-11-09 10:34:54 +08:00
calvin
c5c9429d0e fix some kubeadm init phase constants 2021-11-09 10:30:01 +08:00
Lubomir I. Ivanov
68118d7319 kubeadm: remove unused / legacy function DownloadConfig
The function has been marked as deprecated for a long time
and has been unused in the code base.

Remove it.
2021-11-08 17:31:29 +02:00
Lubomir I. Ivanov
a6587f4ffb kubeadm: add the UnversionedKubeletConfigMap feature gate
Add the UnversionedKubeletConfigMap feature gate that can
be used to control legacy vs new behavior for naming the
default configmap used to store the KubeletConfiguration.

Update related unit tests.
2021-11-08 17:31:29 +02:00
sanchayanghosh
2131fdb84c
Changed the Info type so that the config file can be displayed without escape characters showing 2021-11-08 20:48:31 +05:45
Arda Güçlü
a8d2b3a792 Rename ServeWithListenerStopped to Serve in secure_serving
This PR removes Serve function and uses all required places
ServeWithListenerStopped which takes place new Serve function.

This function returns ListenerStopped channel can be used to drain
requests before shutting down the server.
2021-11-08 17:20:31 +03:00
Kubernetes Prow Robot
73f4064fff
Merge pull request #105295 from neolit123/1.23-add-output-v1alpha2
kubeadm: add a new output/v1alpha2 API; deprecate output/v1alpha1
2021-11-08 06:01:11 -08:00
Kubernetes Prow Robot
4ce435cc95
Merge pull request #105251 from calvin0327/issue-upgrade-coredns
Update corefile-migration to v1.0.14 and update coredns to 1.8.6
2021-11-05 14:48:39 -07:00
Kubernetes Prow Robot
dc93951ad0
Merge pull request #106090 from pohly/log-v-flags
component-base: move v/vmodule/log-flush-frequency into LoggingConfiguration
2021-11-04 12:34:34 -07:00
Kubernetes Prow Robot
6d30c96d4a
Merge pull request #106042 from chendave/aggregate
kubeadm: aggregate all the errors when the shared certs are validated
2021-11-04 10:06:15 -07:00
Maciej Szulik
baab99d04c
Switch from arguments to an input structure for kubectl command 2021-11-04 17:29:40 +01:00
Dave Chen
c85fb0e6ac Aggregate all the errors when the shared certs are validated
Instead of the individual error and return, it's better to aggregate all
the errors so that we can fix them all at once.

Take the chance to fix some comments, since kubeadm are not checking that
the certs are equal across controlplane.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-11-04 10:12:00 +08:00
Kubernetes Prow Robot
f5dd4d237f
Merge pull request #106105 from Huang-Wei/add-test
Add unit tests to cover scheduler's setup
2021-11-03 11:48:51 -07:00
Lubomir I. Ivanov
d3e1f87fca kubeadm: remove TODO about moving SchemeBuilder to k8s.io/api
This TODO is no longer in scope, thus remove it from
all register.go files under /app/apis.
2021-11-03 19:11:43 +02:00
Lubomir I. Ivanov
f73894359d kubeadm: update converters after the output/v1alpha2 addition
The addition of output/v1alpha2 made the converter-gen require
an explicit converter for:
kubeadm/v1beta2.BootstrapToken -> bootstraptoken/v1.BootstrapToken.

Add this converter under kubeadm/v1beta.
Use the converter in output/v1alpha1.
2021-11-03 19:11:43 +02:00
Kubernetes Prow Robot
5446b89857
Merge pull request #104470 from pacoxu/patch-4
Remove GAed feature gate CronJobControllerV2
2021-11-03 06:40:58 -07:00
Patrick Ohly
25907036ea kubelet: avoid deprecation remark for traditional logging flags
Just because the options can now also be set via a configuration file does not
mean that the command line flags should not be used anymore.
2021-11-03 12:02:48 +01:00
Patrick Ohly
4df70dfd41 component-base: initialize logging as soon as possible
In various places log messages where emitted as part of validation or even
before it (for example, cli.PrintFlags). Those log messages did not use the
final logging configuration, for example text output instead of JSON or not the
final verbosity. The last point became more obvious after moving the setup of
verbosity into logs.Options.Apply because PrintFlags never printed anything
anymore.

In order to force applications to deal with logging as soon as possible, the
Options.Validate and Options.Apply methods are now private. Applications should
use the new Options.ValidateAndApply directly after parsing.
2021-11-03 11:55:54 +01:00
Patrick Ohly
3948cb8d1b component-base: move v/vmodule/log-flush-frequency into LoggingConfiguration
These three options are the ones from logs.AddFlags which are not deprecated.
Therefore it makes sense to make them available also via the configuration file
support in the one command which currently supports that (kubelet).

Long-term, all commands should use LoggingConfiguration, either with a
configuration file (as in kubelet) or via flags (kube-scheduler,
kube-apiserver, kube-controller-manager).

Short-term, both approaches have to be supported. As the majority of the
commands only use logs.AddFlags, that function by default continues to register
the flags and only leaves that to Options.AddFlags when explicitly requested.

A drive-by bug fix is done for log flushing: the periodic flushing called
klog.Flush and therefore missed explicit flushing of the newer logr
backend. This bug was never present in any release Kubernetes and therefore the
fix is not submitted in a separate PR.
2021-11-03 07:41:46 +01:00
Wei Huang
98b22db672
Add unit tests to cover scheduler's setup 2021-11-02 21:19:25 -07:00
Kubernetes Prow Robot
aa0ea62489
Merge pull request #104903 from ikeeip/storageobjectinuseprotection_feature_ga_cleanup
Remove StorageObjectInUseProtection feature gate logic
2021-11-02 20:22:57 -07:00
Wei Huang
e30f9648cc
sched: ensure feature gate is honored when instantiating scheduler (#105915)
* sched: ensure feature gate is honored when instantiating scheduler

* fixup: address comments
2021-11-02 14:28:06 -07:00
Kubernetes Prow Robot
3fdeb490e0
Merge pull request #105510 from damemi/wire-contexts-bootstrap
Wire contexts to Bootstrap controllers
2021-11-02 14:27:42 -07:00
Konstantin Misyutin
808c8f42d5 Remove StorageObjectInUseProtection feature gate logic
This feature has graduated to GA in v1.11 and will always be
enabled. So no longe need to check if enabled.

Signed-off-by: Konstantin Misyutin <konstantin.misyutin@huawei.com>
2021-11-03 00:13:50 +03:00
Mike Dame
4960d0976a Wire contexts to Core controllers 2021-11-01 10:29:00 -04:00
Tim Hockin
11a25bfeb6
De-share the Handler struct in core API (#105979)
* De-share the Handler struct in core API

An upcoming PR adds a handler that only applies on one of these paths.
Having fields that don't work seems bad.

This never should have been shared.  Lifecycle hooks are like a "write"
while probes are more like a "read". HTTPGet and TCPSocket don't really
make sense as lifecycle hooks (but I can't take that back). When we add
gRPC, it is EXPLICITLY a health check (defined by gRPC) not an arbitrary
RPC - so a probe makes sense but a hook does not.

In the future I can also see adding lifecycle hooks that don't make
sense as probes.  E.g. 'sleep' is a common lifecycle request. The only
option is `exec`, which requires having a sleep binary in your image.

* Run update scripts
2021-10-29 13:15:11 -07:00
Kubernetes Prow Robot
c9ddd248b6
Merge pull request #105888 from neolit123/1.23-remove-reset-update-clusterstatus
kubeadm: remove the reset/update-cluster-status phase
2021-10-29 09:13:03 -07:00
Kubernetes Prow Robot
c592bd40f2
Merge pull request #105609 from pohly/generic-ephemeral-volume-ga
generic ephemeral volume GA
2021-10-28 17:36:50 -07:00
Kubernetes Prow Robot
12c4095462
Merge pull request #104775 from kerthcet/bug/fix-kubemark-log-defer-conflict-with-exit
fix hollownode flushlogs not working together with exit
2021-10-27 08:51:25 -07:00
Kubernetes Prow Robot
8bdf6af714
Merge pull request #105924 from Huang-Wei/revert-105712
Revert "sched: ensure --leader-elect* CLI args are honored"
2021-10-27 07:45:38 -07:00
Wei Huang
7505701044
Revert "sched: ensure --leader-elect* CLI args are honored"
This reverts commit 3c230af59c.
2021-10-26 15:18:13 -07:00
Kubernetes Prow Robot
7c53095218
Merge pull request #104748 from p0lyn0mial/not-found-handler
return 503 for aggregated APIs when the APIServiceRegistrationController hasn't finished installing all known APIServices
2021-10-26 14:25:09 -07:00
Shivanshu Raj Shrivastava
3c87c43cef
Migrated scheduler files server.go, node_label.go, csi.go, non_csi.go to structured logging (#105855)
* migrated server.go

* fixed migration

* resolving review comments

* added storageClass

* review comments

* review comments
2021-10-26 13:21:22 -07:00
Lubomir I. Ivanov
b9171aee20 kubeadm: remove the reset/update-cluster-status phase
The phase has been deprecated and a NO-OP since 1.22.
Remove the phase related code.
2021-10-25 22:47:15 +03:00
Kubernetes Prow Robot
9251115fa1
Merge pull request #105807 from jonyhy96/fix-magic-number
kubeadm: make constant of the magic-number in bootstraptoken util
2021-10-22 04:46:37 -07:00
Kubernetes Prow Robot
cc25656b00
Merge pull request #105030 from liggitt/json-stdlib
switch from json-iterator to forked stdlib json decoder
2021-10-21 20:40:37 -07:00
haoyun
9b5f28053c feat: make a const of magic-number
Signed-off-by: haoyun <yun.hao@daocloud.io>
Co-authored-by: Lubomir I. Ivanov <neolit123@gmail.com>
2021-10-22 09:53:07 +08:00
Kubernetes Prow Robot
f403aec124
Merge pull request #105753 from jonyhy96/test-patch-node
kubeadm: add unit tests for PatchNode error handling
2021-10-20 14:12:04 -07:00
Jordan Liggitt
bba877d3a6 Switch from json-iterator to utiljson 2021-10-20 12:49:23 -04:00
Debabrata Panigrahi
89062fea47
Updated kubelet server references about 4h hardcoded timeout (#104735)
* Updated non idle logging time

* Update cmd/kubelet/app/options/options.go

Co-authored-by: Jordan Liggitt <jordan@liggitt.net>

Co-authored-by: Jordan Liggitt <jordan@liggitt.net>
2021-10-20 09:23:57 -07:00
Shivanshu Raj Shrivastava
d3f81a1be6
Migrated server.go, ipvs/proxier.go(partial) to structured logging (#105769)
* fixed improperly migrated logs

* fixed improperly migrated logs

* fixed improperly migrated logs

* fixed improperly migrated logs

* Update cmd/kube-proxy/app/server.go

Co-authored-by: Marek Siarkowicz <marek.siarkowicz@protonmail.com>

* Update pkg/proxy/ipvs/proxier.go

Co-authored-by: Marek Siarkowicz <marek.siarkowicz@protonmail.com>

* Update pkg/proxy/ipvs/proxier.go

Co-authored-by: Marek Siarkowicz <marek.siarkowicz@protonmail.com>

* Update pkg/proxy/ipvs/proxier.go

Co-authored-by: Marek Siarkowicz <marek.siarkowicz@protonmail.com>

* Update pkg/proxy/ipvs/proxier.go

Co-authored-by: Marek Siarkowicz <marek.siarkowicz@protonmail.com>

Co-authored-by: Marek Siarkowicz <marek.siarkowicz@protonmail.com>
2021-10-20 02:54:11 -07:00
Wei Huang
3c230af59c
sched: ensure --leader-elect* CLI args are honored 2021-10-19 13:56:08 -07:00
Lukasz Szaszkiewicz
9e2bdfee02 rename to muxAndDiscoveryComplete 2021-10-19 13:26:59 +02:00
Lukasz Szaszkiewicz
53867975e7 apiserver: indroduces NotFoundHanlder
The new handler is meant to be executed at the end of the delegation chain.
It simply checks if the request have been made before the server has installed all known HTTP paths.
In that case it returns a 503 response otherwise it returns a 404.

We don't want to add additional checks to the readyz path as it might prevent fixing bricked clusters.
This specific handler is meant to "protect" requests that arrive before the paths and handlers are fully initialized.
2021-10-19 09:55:04 +02:00
Oleg Atamanenko
965f10f539 Upgrade etcd to 3.5.1 2021-10-18 23:09:27 -07:00
haoyun
a600e31c55 test: add test for PatchNode when error happend
Signed-off-by: haoyun <yun.hao@daocloud.io>
2021-10-19 11:01:01 +08:00
Lukasz Szaszkiewicz
7a342a0f8a kube-apiserver: wires the notFoundHandler 2021-10-18 12:41:42 +02:00
Kubernetes Prow Robot
9804a83d8f
Merge pull request #105343 from jonyhy96/fix-patch-node-once
kubeadm: fix some retry logic in PatchNodeOnce
2021-10-17 09:49:49 -07:00
yxxhero
feaa78380c Optimize Cobra parameters of Controller Manager
Signed-off-by: yxxhero <aiopsclub@163.com>
2021-10-17 18:57:23 +08:00
haoyun
bd8f26c2d7 fix: patchNode retry logic
Signed-off-by: haoyun <yun.hao@daocloud.io>
2021-10-17 12:36:36 +08:00
Kubernetes Prow Robot
3f85ed46db
Merge pull request #105649 from navist2020/kubeadm/kubeconfig/cfgPath
kubeadm/kubeconfig:validate flag --config to make sure it is not empty
2021-10-14 10:49:56 -07:00
Kubernetes Prow Robot
3aafe75698
Merge pull request #105461 from damemi/wire-contexts-autoscaling
Wire contexts to Autoscaling controllers
2021-10-14 06:59:33 -07:00
Kubernetes Prow Robot
f27e4714ba
Merge pull request #105377 from damemi/wire-contexts-apps
Wire contexts to Apps controllers
2021-10-14 06:59:19 -07:00
navist2020
cc2802d9bb validate flag cfgPath to make sure it is not empty 2021-10-14 11:05:06 +08:00
Mike Dame
41fcb95f2f Wire contexts to Apps controllers 2021-10-13 16:32:13 -04:00
Kubernetes Prow Robot
efce40b931
Merge pull request #105342 from jonyhy96/handle-cmd-error
kube-proxy: handle cmd error
2021-10-13 01:21:49 -07:00
Mike Dame
7780024916 Wire contexts to Autoscaling controllers 2021-10-12 14:34:05 -04:00
Kubernetes Prow Robot
4753fa5dee
Merge pull request #105608 from yxxhero/reduce_code
reduce code for NewSchedulerCommand func
2021-10-11 23:23:46 -07:00
calvin0327
941c78f411 Update corefile-migration to v1.0.14 and update coredns to 1.8.6 2021-10-12 11:03:52 +08:00
Patrick Ohly
a8c930ef46 generic ephemeral volume: graduation to GA
The feature gate gets locked to "true", with the goal to remove it in two
releases.

All code now can assume that the feature is enabled. Tests for "feature
disabled" are no longer needed and get removed.

Some code wasn't using the new helper functions yet. That gets changed while
touching those lines.
2021-10-11 20:54:20 +02:00
yxxhero
71a6bb3301 reduce code for NewSchedulerCommand func
Signed-off-by: yxxhero <aiopsclub@163.com>
2021-10-11 23:21:34 +08:00
jonyhy
1ff266b779 fix: ignore error
Signed-off-by: jonyhy <yun.hao@daocloud.io>
2021-10-09 09:26:27 +08:00
Kubernetes Prow Robot
835980ac67
Merge pull request #105424 from kerthcet/cleanup/remove-scheduler-policy-config
remove scheduler policy config
2021-10-08 10:57:23 -07:00
kerthcet
a6f695581b remove legacy scheduler policy config, as well as associated flags policy-config-file, policy-configmap, policy-configmap-namespace and use-legacy-policy-config
Signed-off-by: kerthcet <kerthcet@gmail.com>
2021-10-08 23:57:49 +08:00
kerthcet
722489db36 fix kubemark flushlogs not working together with os.Exit()
Signed-off-by: kerthcet <kerthcet@gmail.com>
2021-10-08 18:54:31 +08:00
Sahil Vazirani
3988405c8d
GA TTLAfterFinish 2021-10-07 16:58:50 -07:00
Mike Dame
3f0b6d390c Wire contexts to RBAC controllers 2021-10-07 15:04:49 -04:00
Kubernetes Prow Robot
9b45983d3c
Merge pull request #104251 from ravisantoshgudimetla/scheduling-v1beta3
Scheduling v1beta3
2021-10-07 10:47:32 -07:00
ravisantoshgudimetla
5c7f602f48 Make v1beta3 default 2021-10-07 10:58:06 -04:00
Kubernetes Prow Robot
84027bc07d
Merge pull request #104631 from perithompson/kp-userspace-deprecation
Adding deprecation notice to the userspace proxy-mode
2021-10-06 15:32:32 -07:00
Mike Dame
6ce2924818 Wire contexts to Bootstrap controllers 2021-10-06 10:27:32 -04:00
Kubernetes Prow Robot
04f747d09f
Merge pull request #104782 from kerthcet/cleanup/remove-cc-v1beta1
remove scheduler component config v1beta1
2021-10-04 08:53:08 -07:00
Dan Winship
508d574921 Remove some dead code in the ipvs proxy 2021-10-04 09:04:35 -04:00
Kubernetes Prow Robot
82da9bdaab
Merge pull request #105076 from pohly/log-flush-frequency-bug
initialize logging after flag parsing + refactor commands
2021-10-01 14:30:18 -07:00
Patrick Ohly
1957fb6508 command lines: harmonize command line parse error handling
The recommendation from #sig-cli was to print usage, then the error. Extra care
is taken to only print the usage instruction when the error really was about
flag parsing.

Taking kube-scheduler as example:

  $ _output/bin/kube-scheduler
  I0929 09:42:42.289039  149029 serving.go:348] Generated self-signed cert in-memory
  ...
  W0929 09:42:42.489255  149029 client_config.go:620] error creating inClusterConfig, falling back to default config: unable to load in-cluster configuration, KUBERNETES_SERVICE_HOST and KUBERNETES_SERVICE_PORT must be defined
  E0929 09:42:42.489366  149029 run.go:98] "command failed" err="invalid configuration: no configuration has been provided, try setting KUBERNETES_MASTER environment variable"

  $ _output/bin/kube-scheduler --xxx
  Usage:
    kube-scheduler [flags]

  ...
       --vmodule moduleSpec
                  comma-separated list of pattern=N settings for file-filtered logging

  Error: unknown flag: --xxx

The kubectl behavior doesn't change:

  $ _output/bin/kubectl get nodes
  Unable to connect to the server: dial tcp: lookup xxxx: No address associated with hostname

  $ _output/bin/kubectl --xxx
  Error: unknown flag: --xxx
  See 'kubectl --help' for usage.
2021-09-30 13:46:49 +02:00
Patrick Ohly
00e4a599f6 command lines: always show flags with hyphens
All Kubernetes commands should show flags with hyphens in their help text even
when the flag originally was defined with underscore. Converting a command to
this style is not breaking its command line API because the old-style parameter
with underscore is accepted as alias.

The easiest solution to achieve this is to set normalization shortly before
running the command in the new central cli.Run or the few places where that
function isn't used yet.

There may be some texts which depends on normalization at flag definition time,
like the --logging-format usage warning. Those get generated assuming that
hyphens will be used.
2021-09-30 13:46:49 +02:00
Patrick Ohly
21d1bcd6b8 initialize logging after flag parsing
It wasn't documented that InitLogs already uses the log flush frequency, so
some commands have called it before parsing (for example, kubectl in the
original code for logs.go). The flag never had an effect in such commands.

Fixing this turned into a major refactoring of how commands set up flags and
run their Cobra command:

- component-base/logs: implicitely registering flags during package init is an
  anti-pattern that makes it impossible to use the package in commands which
  want full control over their command line. Logging flags must be added
  explicitly now, something that the new cli.Run does automatically.

- component-base/logs: AddFlags would have crashed in kubectl-convert if it
  had been called because it relied on the global pflag.CommandLine. This
  has been fixed and kubectl-convert now has the same --log-flush-frequency
  flag as other commands.

- component-base/logs/testinit: an exception are tests where flag.CommandLine has
  to be used. This new package can be imported to add flags to that
  once per test program.

- Normalization of the klog command line flags was inconsistent. Some commands
  unintentionally didn't normalize to the recommended format with hyphens. This
  gets fixed for sample programs, but not for production programs because
  it would be a breaking change.

This refactoring has the following user-visible effects:

- The validation error for `go run ./cmd/kube-apiserver --logging-format=json
  --add-dir-header` now references `add-dir-header` instead of `add_dir_header`.

- `staging/src/k8s.io/cloud-provider/sample` uses flags with hyphen instead of
  underscore.

- `--log-flush-frequency` is not listed anymore in the --logging-format flag's
  `non-default formats don't honor these flags` usage text because it will also
  work for non-default formats once it is needed.

- `cmd/kubelet`: the description of `--logging-format` uses hyphens instead of
  underscores for the flags, which now matches what the command is using.

- `staging/src/k8s.io/component-base/logs/example/cmd`: added logging flags.

- `apiextensions-apiserver` no longer prints a useless stack trace for `main`
  when command line parsing raises an error.
2021-09-30 13:46:49 +02:00
Paco Xu
444001ed44 Remove GAed feature gate CronJobControllerV2 2021-09-30 13:49:51 +08:00
Kubernetes Prow Robot
bceefb7a86
Merge pull request #101125 from damemi/kcm-wire-contexts
Set up kube-controller-manager functions to accept contexts
2021-09-29 07:02:49 -07:00
Lubomir I. Ivanov
73d528dce9 kubeadm: make output/BootstrapToken use bootstraptoken/v1 2021-09-28 16:37:41 +03:00
Lubomir I. Ivanov
47af311ea4 kubeadm: mark output/v1alpha1 as deprecated 2021-09-28 16:37:40 +03:00
Lubomir I. Ivanov
473e781ccb kubeadm: set output/v1alpha2 as the priority version 2021-09-28 16:37:40 +03:00
Lubomir I. Ivanov
b92966aeac kubeadm: use output/v1alpha2 in kubeadm commands
Use the new API for "config images list" and
"token list".
2021-09-28 16:37:40 +03:00
Lubomir I. Ivanov
2d4fcedbcf kubeadm: add a new output/v1alpha2 API
The API is a copy of output/v1alpha1 with a minor difference
where output/v1alpha2.BootstrapToken embeds
bootstraptoken/v1.BootstrapToken instead of
kubeadm/v1beta2.BootstrapToken.

Embedding the later is an undesired binding between the "kubeadm"
and "output" groups, preventing the eventual deprecation and removal
of the kubeadm.v1beta2 API.

This new output API version, unlike v1alpha1, does not include
defaulting which is not needed.
2021-09-28 16:37:26 +03:00
Kubernetes Prow Robot
80e9eda95f
Merge pull request #105175 from sanposhiho/scheduler/usage-message
cmd/kube-scheduler: add usage message only when parsing flags failed
2021-09-28 05:44:43 -07:00
Kubernetes Prow Robot
bf000e8770
Merge pull request #104770 from pacoxu/dual-stack-ga-kubeadm
cleanup: DualStack GA for kubeadm
2021-09-28 03:42:42 -07:00
Paco Xu
751ad37a05 kubeadm: cleanup remove some empty feature gate for dual-stack 2021-09-28 15:34:26 +08:00
kerthcet
75a255d2ed remove scheduler component config v1beta1
Signed-off-by: kerthcet <kerthcet@gmail.com>
2021-09-28 13:13:17 +08:00