Commit Graph

1566 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
SataQiu
c51ce945a5 kubeadm: add missing --cri-socket flag for upload-certs phase 2022-12-13 16:59:17 +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
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
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
SataQiu
69547267ef kubeadm: remove unused command flag constants 2022-11-13 17:56:58 +08: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
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
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
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
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
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
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
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
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
SataQiu
61cd585ad2 kubeadm: remove redundant import alias and unused apiclient util funcs 2022-09-28 12:36:54 +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
Paco Xu
241445759e add go:build no windows for some control-plane related UT for kubeadm 2022-09-26 17:17:41 +08: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
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
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
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
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
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
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
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