Commit Graph

11659 Commits

Author SHA1 Message Date
Dan Winship
e2900da46a Remove unnecessary utiliptables.Interface arg from local detectors
getLocalDetector() used to pass a utiliptables.Interface to
NewDetectLocalByCIDR() so that NewDetectLocalByCIDR() could verify
that the passed-in CIDR was of the same family as the iptables
interface. It would make more sense for getLocalDetector() to verify
this itself and just *not call NewDetectLocalByCIDR* if the families
don't match, and that's what the code does now. So there's no longer
any need to pass the utiliptables.Interface to the local detector.
2023-07-05 09:11:23 -04:00
Dan Winship
7690c6e812 Simplify getDualStackLocalDetectorTuple
Since the single-stack and dual-stack local-detector-getters now have
the same behavior in terms of error-checking and dual-stack config, we
can just replace the contents of getDualStackLocalDetectorTuple() with
a pair of calls to getLocalDetector().
2023-07-05 09:09:54 -04:00
Dan Winship
cefd50a753 Improve the single-stack LocalDetector behavior
1. When bringing up a single-stack kube-proxy in a dual-stack cluster,
allow using either the primary or secondary IP family.

2. Since the earlier config-checking code will already have bailed out
if the single-stack configuration is unusably broken, we don't need to
do that here. Instead, just return a no-op local detector if there are
no usable CIDRs of the expected IP family.
2023-07-05 09:06:25 -04:00
Dan Winship
bfccfa7016 Add names to the getLocalDetector unit tests, use t.Run 2023-07-05 09:06:25 -04:00
Kubernetes Prow Robot
4c18d40af1 Merge pull request #119075 from chendave/test_gv
kubeadm: check the GV after the config migration
2023-07-04 22:00:54 -07:00
Kubernetes Prow Robot
76227fdb3d Merge pull request #118874 from my-git9/dns-ut
kubeadm: increase ut coverage kubeadm/app/phases/dns
2023-07-04 19:30:54 -07:00
Dave Chen
31943cc3f4 kubeadm: check the GV after the config migration
Signed-off-by: Dave Chen <dave.chen@arm.com>
2023-07-05 10:04:12 +08:00
Kubernetes Prow Robot
68b7685b2a Merge pull request #119081 from sttts/sttts-public-ip-validation-move
kube-apiserver: move "public IP matches IP family" check to option validation
2023-07-04 14:28:54 -07:00
Dr. Stefan Schimanski
4149933ed2 kube-apiserver: move "public IP matches IP family" check to option validation 2023-07-04 22:28:27 +02:00
Kubernetes Prow Robot
8d0e46a5ec Merge pull request #119041 from sttts/sttts-move-back-master-count
cmd/kube-apiserver: move back master count variable from generic controlplane
2023-07-04 13:22:54 -07:00
Kubernetes Prow Robot
0235a5a206 Merge pull request #118707 from pacoxu/unwanted-status-order
update the unwanted-dependencies order
2023-07-04 12:20:54 -07:00
xin.li
c26e1ba10c [UT] increase coverage kubeadm/app/phases/dns
Signed-off-by: xin.li <xin.li@daocloud.io>
2023-07-04 22:11:32 +08:00
Kubernetes Prow Robot
3149875175 Merge pull request #119059 from pacoxu/migrate-experimental-v1beta4
kubeadm: fix "migrate config --allow-experimental-api" to print v1beta4 kubeadm configurations instead of v1beta3
2023-07-04 06:28:53 -07:00
Kubernetes Prow Robot
75889ecec5 Merge pull request #119003 from danwinship/proxy-single-dual
do a better job of validating IP family of kube-proxy config
2023-07-04 02:16:53 -07:00
Paco Xu
01b1174c11 kubeadm: fix "migrate config --allow-experimental-api" to print v1beta4 kubeadm configurations instead of v1beta3 2023-07-04 15:20:43 +08:00
Kubernetes Prow Robot
746b88c6ff Merge pull request #118867 from chendave/env_custom
kubeadm: Support custom env in control plane component
2023-07-03 22:02:52 -07:00
Dave Chen
c68a6b0745 kubeadm: fix fuzzing for ExtraEnvs defined in the control plane component
Signed-off-by: Dave Chen <dave.chen@arm.com>
2023-07-04 10:01:26 +08:00
Dave Chen
80b035a116 kubeadm: Support custom env in control plane component
Signed-off-by: Dave Chen <dave.chen@arm.com>
2023-07-04 09:57:07 +08:00
Dan Winship
a966d18608 Double-check the proxy configuration vs the available IP families 2023-07-03 08:34:06 -04:00
Dr. Stefan Schimanski
36e458612a cmd/kube-apiserver: move back master count variable from generic controlplane 2023-07-03 13:20:29 +02:00
Kubernetes Prow Robot
14b08b82e4 Merge pull request #118941 from neolit123/1.28-restore-test-function-for-config-migrate
kubeadm: restore and generalize the TestMigrateOldConfig test
2023-07-01 03:18:48 -07:00
Dan Winship
1f2bf32e95 Figure out single-stack/dual-stack support before creating the proxier
Rather than having this as part of createProxier(), explicitly figure
out what IP families the proxier can support beforehand, and bail out
if this conflicts with the detected IP family.
2023-06-30 17:43:04 -04:00
Dan Winship
8abfa89e82 Move proxy platformSetup call, and do LocalDetector setup from there 2023-06-30 17:39:36 -04:00
Dan Winship
ebb0fdd4f6 Don't explicitly filter config.NodePortAddresses by IP family
There's no need to do this any more: proxyutil.NodePortAddresses does
it itself.
2023-06-30 12:32:59 -04:00
Dan Winship
a74b9fde3a Don't pass around full node in proxy constructor, just pass PodCIDRs 2023-06-30 11:30:17 -04:00
Lubomir I. Ivanov
0537c1da56 kubeadm: move migrate / validate tests out of config_tests.go
Place the tests in common_tests.go on the backend side in
common_tests.go. A test for migrate TestMigrateOldConfig
was already present there. Apply slightly better coverage to it
and rename desc -> name.

Fix typo in argument oldConfig -> config in ValidateConfig().
2023-06-30 18:14:10 +03:00
Kubernetes Prow Robot
7bac0cee89 Merge pull request #118946 from SataQiu/clean-kubeadm-20230629
kubeadm: remove unused Kind and Resource functions from output API
2023-06-29 02:51:47 -07:00
Kubernetes Prow Robot
4036b6fb41 Merge pull request #118922 from champtar/kubeadm-backdate-ca
kubeadm: backdate generated CAs
2023-06-28 12:28:56 -07:00
SataQiu
24f4785e3e kubeadm: remove unused Kind and Resource functions from output API 2023-06-29 00:16:38 +08:00
SataQiu
90f82d05ce kubeadm: remove unused Kind and Resource functions from kubeadm internal API 2023-06-28 23:36:53 +08:00
Lubomir I. Ivanov
fd15c6791a kubeadm: restore and generalize the TestMigrateOldConfig test
The test required two APIs to be available to test for migration.
Keep it simple and use a variable "gv" on top of the function body
to easily swap the version to be tested once an old API is deleted.
e.g. currently v1beta3 is the "old" API, v1beta4 is the "new" one.

Ultimately, this test only makes sure that the expected kinds are
available post migration.
2023-06-28 18:21:57 +03:00
Kubernetes Prow Robot
52457842d1 Merge pull request #117055 from cyclinder/csi_migration
remove CSI-migration gate
2023-06-28 04:28:31 -07:00
Kubernetes Prow Robot
ddbf3575a7 Merge pull request #116729 from AxeZhan/handlers_sync
[Scheduler] Make sure handlers have synced before scheduling
2023-06-28 01:26:31 -07:00
Etienne Champetier
812556365b kubeadm: backdate generated CAs by 5 minutes
This allow for a small time jump backward after
certificates generation.

Signed-off-by: Etienne Champetier <e.champetier@ateme.com>
2023-06-28 00:12:29 -04:00
Kubernetes Prow Robot
1c32c3bd9f Merge pull request #118866 from neolit123/1.28-add-v1beta4-to-scheme
kubeadm: add v1beta4 to scheme; add --allow-experimental-api flag
2023-06-27 08:56:44 -07:00
kidddddddddddddddddddddd
9c7166ff63 wait for eventhandlers to sync before run scheduler 2023-06-27 23:19:34 +08:00
Kubernetes Prow Robot
f7967af3bd Merge pull request #118633 from sttts/sttts-controlplane-split
kube-apiserver: split apart generic control plane options
2023-06-26 13:56:29 -07:00
Dr. Stefan Schimanski
764da8a01d FIXUP: cmd/kube-apiserver/app/options: split apart controlplane part 2023-06-26 21:50:38 +02:00
Dr. Stefan Schimanski
1b3779baa0 MOVE: cmd/kube-apiserver/app/options: split apart controlplane part 2023-06-26 21:50:37 +02:00
Kubernetes Prow Robot
96d853f4b8 Merge pull request #118870 from SataQiu/kubeadm-clean-v1beta4
kubeadm: remove unused Kind and Resource functions from v1beta4 API
2023-06-26 09:40:29 -07:00
SataQiu
4298953c26 kubeadm: remove unused Kind and Resource functions from v1beta4 API 2023-06-26 22:11:52 +08:00
Dr. Stefan Schimanski
6e079545c4 cmd/kube-apiserver: move options completion into options package 2023-06-26 15:20:40 +02:00
Lubomir I. Ivanov
f04484fe77 kubeadm: add the --allow-experimental-api flag to "config" commands
Add the flag --allow-experimental-api to the "config migrate" and
"config validate" commands. The flag allows validating / migrating-to
a unreleased / experimental API version.

Add a new experimentalAPIVersions map in validateSupportedVersion()
that contains v1beta4.
2023-06-26 13:50:47 +03:00
Lubomir I. Ivanov
0774f779d5 kubeadm: add v1beta4 to the kubeadm API scheme
The highest priority is still v1beta3.
2023-06-26 13:43:47 +03:00
Kubernetes Prow Robot
027ac5a426 Merge pull request #118762 from neolit123/1.28-kubeadm-add-v1beta4-boilerplate
kubeadm: add v1beta4 API boilerplate
2023-06-25 22:05:08 -07:00
Kubernetes Prow Robot
4f6a750bbf Merge pull request #115813 from atiratree/controller-aliases
Introduce controller aliases for KCM and CCM
2023-06-22 04:55:39 -07:00
Kubernetes Prow Robot
28296ba59e Merge pull request #113994 from mengjiao-liu/contextual-logging-controller-certificates
certificate controller: use contextual logging
2023-06-21 09:03:42 -07:00
Lubomir I. Ivanov
edb59e9bc7 kubeadm: move token defaulting and related constants to token package
Move the defaulting of the BootstrapToken type inside the
bootstraptoken/v1 package. This prevents an error where
codegen complains that a defaulter for the type exists in both
the kubeadm v1beta3 and v1beta4.

Adapt kubeadm code to use the defaulter function and constants
that were moved to bootstraptoken/v1.

NOTE: technically this is a breaking change for direct users of
v1beta3/SetDefaults_BootstrapToken().
2023-06-21 13:34:21 +03:00
Kubernetes Prow Robot
2d60430a16 Merge pull request #118730 from my-git9/ut-features
[UT] increase coverage ut for kubeadm/app/features
2023-06-20 07:54:36 -07:00
Lubomir I. Ivanov
eecac05871 kubeadm: add v1beta4 API boilerplate
Create v1beta4 by copying v1beta3.
2023-06-20 14:33:30 +03:00