Commit Graph

12457 Commits

Author SHA1 Message Date
Siyuan Zhang
40cddbe215 add emulated-version flag to kube-scheduler to control the feature gate.
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2024-07-09 09:04:41 -07:00
cyclinder
87129c350a kubelet: Add a TopologyManager policy options: "max-allowable-numa-nodes"
Signed-off-by: cyclidner <kuocyclinder@gmail.com>
2024-07-09 22:26:24 +08:00
Kubernetes Prow Robot
79fee524e6 Merge pull request #125483 from wojtek-t/storage_readiness_hook
Implement resilient watchcache initialization post-start-hook
2024-07-01 13:48:29 -07:00
Wojciech Tyczyński
a5772bd425 Implement resilient watchcache initialization post-start-hook 2024-07-01 12:54:57 +02:00
Kubernetes Prow Robot
d729af9446 Merge pull request #125591 from p0lyn0mial/upstream-promote-watch-list-to-beta
Promote WatchList feature to Beta
2024-07-01 02:31:14 -07:00
Kubernetes Prow Robot
93d56511e6 Merge pull request #125021 from aojea/servicecidrbeta
KEP-1880 Multiple Service CIDRs: Graduate to Beta (2/2)
2024-06-30 08:53:25 -07:00
Antonio Ojea
0e1f9dadd6 modify components to use the networking v1beta1 API 2024-06-30 09:48:46 +00:00
SataQiu
d9001c7b00 kubeadm: the '--feature-gates' flag is deprecated and no-op for 'kubeadm upgrade apply/plan' 2024-06-30 11:22:24 +08:00
Alex Stundzia
58ff17bbfa When using external CA, look for common trust anchor within CA bundle. 2024-06-28 18:04:31 -05:00
Christian Schlotter
8871513c1b review fixes 2024-06-28 17:15:51 +02:00
Kubernetes Prow Robot
5e331569e4 Merge pull request #125779 from SataQiu/fix-upgrade-diff-20240628
kubeadm: fix a bug where the path of the manifest can not be specified when 'upgrade diff' specified a config file
2024-06-28 07:04:00 -07:00
Christian Schlotter
e51b55b451 kubeadm: feature gate ControlPlaneKubeletLocalMode on upgrade 2024-06-28 13:31:26 +02:00
Kubernetes Prow Robot
e832b70230 Merge pull request #125545 from claudiubelu/unittests-12
unittests: Fixes unit tests for Windows (part 12)
2024-06-28 03:57:56 -07:00
Christian Schlotter
241c1c7737 kubeadm: feature gate ControlPlaneKubeletLocalMode on init 2024-06-28 12:57:51 +02:00
SataQiu
7c2384d374 kubeadm: mark '--api-server-manifest', '--controller-manager-manifest' and '--scheduler-manifest' as deprecated flags 2024-06-28 18:53:05 +08:00
SataQiu
975f1c978d kubeadm: fix a bug where the path of the manifest can not be specified when 'upgrade diff' specified a config file 2024-06-28 18:01:19 +08:00
Claudiu Belu
b5e3b81de6 unittests: Fixes unit tests for Windows (part 12)
Currently, there are some unit tests that are failing on Windows due
to various reasons:

- IPVS proxy mode is not supported on Windows.
- pkg/kubelet/cri/remote was moved to cri-client.
2024-06-28 08:05:38 +00:00
Kubernetes Prow Robot
d40676c227 Merge pull request #122047 from aojea/treeless
KEP-1880 Multiple Service CIDRs: Graduate to Beta (1/2)
2024-06-28 01:00:20 -07:00
Kubernetes Prow Robot
522e2e5066 Merge pull request #124917 from vinayakankugoyal/kep4633
KEP-4633: Only allow anonymous auth for configured endpoints.
2024-06-27 20:39:51 -07:00
Vinayak Goyal
5e6a4937f5 KEP-4633: Allow health-only anonymous auth mode.
Signed-off-by: Vinayak Goyal <vinaygo@google.com>
2024-06-28 00:30:05 +00:00
Antonio Ojea
9b1bad431b implement dual write on Service ClusterIP allocator
MultiCIDRServiceAllocator implements a new ClusterIP allocator based on
IPAddress object to solve the problems and limitations caused by
existing bitmap allocators.

However, during the rollout of new versions, deployments need to support
a skew of one version between kube-apiservers. To avoid the possible
problem where there are multiple Services requests on the skewed
apiservers and that both allocate the same IP to different Services,
the new allocator will implement a dual-write strategy under the
feature gate DisableAllocatorDualWrite.

After the MultiCIDRServiceAllocator is GA, the DisableAllocatorDualWrite
can be enabled safely as all apiservers will run with the new
allocators. The graduation of DisableAllocatorDualWrite can also
be used to clean up the opaque API object that contains the old bitmaps.

If MultiCIDRServiceAllocator is enabled and DisableAllocatorDualWrite is disable
and is a new environment, there is no bitmap object created, hence, the
apiserver will initialize it to be able to write on it.
2024-06-27 11:33:36 +00:00
SataQiu
7120b3902c kubeadm: improve the error/warning messages of 'validateSupportedVersion' to include the checked resource kind 2024-06-27 18:47:09 +08:00
SataQiu
6190152abd kubeadm: update the long description about 'kubeadm config' command 2024-06-27 15:54:42 +08:00
Lukasz Szaszkiewicz
825091693d kube-controller-manager: enable WatchListClient 2024-06-27 09:01:06 +02:00
Kubernetes Prow Robot
921b69b133 Merge pull request #125582 from chrischdi/pr-kubeadm-kep-4471
kubeadm: implement ControlPlaneKubeletLocalMode
2024-06-26 20:40:12 -07:00
Kubernetes Prow Robot
3084c15dd9 Merge pull request #125723 from p0lyn0mial/upstream-refactor-watch-list-kcm-units
kube-controller-manager: refactor watchlist unit tests
2024-06-26 15:15:22 -07:00
Kubernetes Prow Robot
b29dce0757 Merge pull request #125627 from yt-huang/clean-up
drop deprecated PollWithContext and adopt PollUntilContextTimeout ins…
2024-06-26 10:58:55 -07:00
Lukasz Szaszkiewicz
cc7063e96d kube-controller-manager: refactor watchlist unit tests 2024-06-26 12:47:46 +02:00
Siyuan Zhang
379676c4be add DefaultComponentGlobalsRegistry flags in ServerRunOptions
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2024-06-25 22:12:11 +00:00
Siyuan Zhang
4352c4ad27 Add version mapping in ComponentGlobalsRegistry.
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2024-06-25 22:12:11 +00:00
Siyuan Zhang
701e5fc374 Add composition flags for emulation version and feature gate.
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2024-06-25 22:12:11 +00:00
Siyuan Zhang
403301bfdf apiserver: Add API emulation versioning.
Co-authored-by: Siyuan Zhang <sizhang@google.com>
Co-authored-by: Joe Betz <jpbetz@google.com>
Co-authored-by: Alex Zielenski <zielenski@google.com>

Signed-off-by: Siyuan Zhang <sizhang@google.com>
2024-06-25 22:12:11 +00:00
Christian Schlotter
038a94804e kubeadm: implement ControlPlaneKubeletLocalMode 2024-06-24 17:03:33 +02:00
Kubernetes Prow Robot
10ae1dbb52 Merge pull request #125636 from my-git9/certsunused
kubeadm: Remove unused function in phases/certs
2024-06-24 02:00:56 -07:00
Kubernetes Prow Robot
498f88803e Merge pull request #125121 from chendave/emeritus
Move myself(chendave) to the list of emeritus
2024-06-24 00:16:56 -07:00
xin.li
71d3f9e249 Remove unused function in phases/certs
Signed-off-by: xin.li <xin.li@daocloud.io>
2024-06-22 18:47:28 +08:00
yintong.huang
2db1b321e0 drop deprecated PollWithContext and adopt PollUntilContextTimeout instead
Signed-off-by: yintong.huang <yintong.huang@daocloud.io>
2024-06-21 19:23:31 +08:00
Marko Mudrinić
33466a6606 kubeadm: Add '--yes' flag to the list of allowed flags
Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
2024-06-18 13:04:17 +02:00
Lubomir I. Ivanov
09078d4810 kubeadM: allow conversion of TimeoutForControlPlane
v1beta3.ClusterConfiguration.APIServer.TimeoutForControlPlane
must be migrated to {Init|Join}Configuration.Timeouts.
.ControlPlaneComponentHealthCheck.

To achieve this sort of cross-Kind migration do the following:
- Use a temporary, thread-safe variable in timeoututils.go
- Make the order of GVKs in documentMapToInitConfiguration
deterministic.
2024-06-17 10:07:33 +03:00
Lubomir I. Ivanov
4af99cd676 kubeadm: deprecate v1beta3
Mark v1beta3 as deprecated by showing a warning when used
and write a note about it in the doc.go file.
2024-06-17 10:07:33 +03:00
Lubomir I. Ivanov
bc92a0dfe9 kubeadm: continue supporting extraArgs flags for v1beta4
Flags for kubeadm init such as --apiserver-extra-args prior
to v1beta4 used a map[string]string for pflag.Value storage. This no
longer works since v1beta4 extra args are a slice of Arg.

Add a new flag type argSlice and implement a solution for
parsing these flags.

At the same time deprecate these flags and show a warning
that users should use config.
2024-06-17 10:07:32 +03:00
Lubomir I. Ivanov
cc539cd600 kubeadm: more validation for Upgrade|ResetConfiguration
- Add unit tests for ValidateUpgrade|ResetConfiguration
- Add two more validation points in ValidateUpgradeConfiguration
2024-06-17 10:07:32 +03:00
Lubomir I. Ivanov
8a5f849c66 kubeadm: keep v1beta3 only in required code paths
Use v1beta4 everywhere and only use v1beta3
in a few required locations:
- kubeadm-config map handling
- unit and integration tests
2024-06-17 10:07:32 +03:00
Lubomir I. Ivanov
d0c656dc19 kubeadm: don't default ExtraEnvs to an empty slice
Instead of defaulting ExtraEnvs for CP components to an empty
slice when converting from/to v1beta3 keep it nil.

This allows for expecting a nil value in the internal
config, similarly to ExtraArgs.
2024-06-17 10:07:32 +03:00
Lubomir I. Ivanov
66c7fc5ab4 kubeadm: update migration logic from v1beta3 to 4
Treat v1beta4 as non experimental API when migrating.
Update unit tests.
2024-06-17 10:07:32 +03:00
Lubomir I. Ivanov
fb1fcd2d3b kubeadm: move v1beta4 to high priority in API scheme 2024-06-17 10:07:32 +03:00
Lubomir I. Ivanov
b9f7661ab8 kubeadm: add missing "kubeadm config print upgrade-defaults" 2024-06-17 10:07:32 +03:00
Lubomir I. Ivanov
6544d19796 kubeadm: update godoc and comments for v1beta4
- Include some more examples related to v1beta4 in the doc.go.
- Fix some typos in v1beta4 field comments.
- Add missing JSON tag for UpgradeConfiguration.Apply.SkipPhases.
2024-06-17 10:07:32 +03:00
Lubomir I. Ivanov
bca0f0836f kubeadm: fix a bug in v1beta3.JoinConfiguration.Discovery.Timeout
After the introduction of v1beta4 if the user inputs the old
v1beta3 discovery timeout the value is ignored. Fix that
by introducing a conversion to v1beta4.

Co-authored-by: penghez (GitHub handle)
2024-06-13 09:41:07 +03:00
Kubernetes Prow Robot
9c5643f8fc Merge pull request #125390 from TommyStarK/kube-apiserserver/remove-deprecated-otel-NewNoopTracerProvider
kube-apiserver: remove deprecated otel NewNoopTracerProvider
2024-06-11 17:49:44 -07:00