Commit Graph

351 Commits

Author SHA1 Message Date
Humble Chirammal
07ef65a834 make use of etcd v3.5.14 in the builds.
https://github.com/etcd-io/etcd/releases/tag/v3.5.14

This release has been built with GO 1.21.10

Signed-off-by: Humble Chirammal <humble.devassy@gmail.com>
2024-06-01 09:06:35 +05:30
xin.li
7771a58b46 kubeadm: remove some unused function
Signed-off-by: xin.li <xin.li@daocloud.io>
2024-05-29 11:26:36 +08:00
Lubomir I. Ivanov
5e290ebc90 switch k/k to pause version 3.10 2024-05-24 10:02:51 +03:00
Kubernetes Prow Robot
44c45484e0 Merge pull request #124465 from neolit123/1.31-add-etcd-livez-readyz
kubeadm: use etcd 3.5.11's /livez and /readyz endpoints for probes
2024-05-21 04:40:23 -07:00
Lubomir I. Ivanov
74e1438d86 kubeadm: add support for custom cert validity period in v1beta4
Allow the user to pass custom cert validity period with
ClusterConfiguration.CertificateValidityPeriod and
CACertificateValidityPeriod.

The defaults remain 1 year for regular cert and 10 years for CA.
Show warnings if the provided values are more than the defaults.

Additional changes:
- In "certs show-expiration" use HumanDuration() to print
more detailed durations instead of ShortHumanDuration().
- Add a new kubeadm util GetStartTime() which can be used
to consistently get a UTC time for tasks like writing certs
and unit tests.
- Update unit tests to validate the new customizable NotAfter.
2024-05-01 19:01:49 +03:00
Kubernetes Prow Robot
5291c11a0e Merge pull request #124468 from neolit123/1.31-improve-unit-test-performance-with-test-versions
kubeadm: improve performance of unit tests that need a k8s version
2024-04-24 01:20:17 -07:00
Lubomir I. Ivanov
a04cc020f1 kubeadm: make sure we only track >= 3 etcd versions at at time
There is no point to track more than 3 etcd versions at a time
where each etcd versions maps to a k8s CP version.

It's 3 instead of 2 (k8s CP / kubeadm version skew size) because
there is a period of time where the 3rd version (newest) will
be WIP at k/k master - e.g. at the time of this commit it's 1.31.

Add a unit test to block on this.

Also fixate the min etcd version to 3.5.11.
2024-04-23 17:07:06 +03:00
Lubomir I. Ivanov
59746fbf4f kubeadm: improve performance of unit tests that need a k8s version
The function KubernetesReleaseVersion is being called in
a number of locations during unit tests but by default it
uses a "fetch version from URL" approach.

- Update the function to return a placeholder version
during unit tests.
- Update unit tests for this function.
- Update strings / comments in other version_tests.go
locations.

The improvement is significant:

time go test k8s.io/kubernetes/cmd/kubeadm/app/... -count=1

before:
real    2m47.733s

after:
real    0m10.234s
2024-04-23 13:50:19 +03:00
Lan Liang
1dc735fd70 etcd: update to v3.5.13
Signed-off-by: Lan Liang <gcslyp@gmail.com>
2024-04-13 09:37:25 +00:00
Lubomir I. Ivanov
99313bea88 kubeadm: remove constants for mirror pod timeout
StaticPodMirroringTimeout and StaticPodMirroringRetryInterval
are use for just an API call to get Pods(). The already existing
constants.KubernetesAPICallRetryInterval
and kubeadmapi.GetActiveTimeouts().KubernetesAPICall.Duration
can be used for that instead.
2024-03-01 13:04:08 +02:00
Lubomir I. Ivanov
ded6354a8f kubeadm: add Timeouts struct to v1beta4.UpgradeConfiguration
Follow the same process of adding the Timeouts struct
to UpgradeConfiguration similarly to how it was done for
other API Kinds.

In the Timeouts struct include one new timeout:
- UpgradeManifests
2024-03-01 13:04:08 +02:00
calvin
466019b1b2 kubeadm: implementation of API types
Signed-off-by: calvin <wen.chen@daocloud.io>
Co-authored-by: Dave Chen <dave.chen@arm.com>
2024-02-29 13:14:21 +08:00
carlory
ea69a5ea98 in the new output API output.kubeadm.k8s.io/v1alpha3 modify the UpgradePlan structure to include a list of multiple available upgrades. 2024-02-27 15:05:29 +08:00
bzsuni
658e3308f3 etcd: Update to version 3.5.12
Signed-off-by: bzsuni <bingzhe.sun@daocloud.io>
2024-02-07 21:16:08 +08:00
Lubomir I. Ivanov
5f876b9d0a kubeadm: switch from ExponentialBackoff() to PollUntilContextTimeout()
Switch to PollUntilContextTimeout() everywhere to allow
usage of the exposed timeouts in the kubeadm API. Exponential backoff
options are more difficult to expose in this regard and a bit too
detailed for the common user - i.e. have "steps", "factor" and so on.
2024-01-14 15:07:56 +02:00
Lubomir I. Ivanov
caf5311413 kubeadm: start using the Timeouts struct values
Propagate usage of the Timeout struct values.
Apply sanitazation to timeout constants in contants.go.
2024-01-14 15:07:56 +02:00
Kubernetes Prow Robot
a56093db9f Merge pull request #121958 from neolit123/1.30-remove-kubelet-and-func
kubeadm: drop concurrency when waiting for kubelet /healthz
2023-12-25 15:52:25 +01:00
Mohamed Omar Zaian
c8a2d5684d etcd: Update to version 3.5.11 2023-12-20 11:18:35 +01:00
Lubomir I. Ivanov
557118897d kubeadm: drop concurrency when waiting for kubelet /healthz
The function wait.go#WaitForKubeletAndFunc() has been used in
a number of places in kubeadm. It starts a go routine to wait for
the kubelet /healthz and in parallel starts another go routine
to wait for an custom function.

This logic is problematic. If kubeadm is waiting for the kubelet
in parallel with something that requires the kubelet, the right
solution would be to first wait for the kubelet in serial and only
then proceed with the other action. The parallelism here particularly
during "init" required a unwanted "initial timeout" of 40s, before
the kubelet waiting even starts. In most cases, this makes the kubelet
waiter to not even start, while the main point of waiting becomes
the "other action".

- Remove the function WaitForKubeletAndFunc() from the Waiter interface.
- Rename the function WaitForHealthyKubelet() to just WaitForKubelet()
to be consistent with the naming WaitForAPI().
- Update WaitForKubelet() to not use TryRunCommand() and instead
use PollUntilContextTimeout().
- Remove the "initial timeout" of 40s in WaitForKubelet().
- Make both WaitForKubelet() and WaitForAPI() use similar error
handling and output.
- Update all usage of WaitForKubelet() to be a serial call before
any other action, such as another wait* call.
- Make the default wait timeout for the kubelet
/healthz to be 1 minute (kubeadmconstants.DefaultKubeletTimeout).
- Apply updates to all implementations of the Waiter interface.
2023-12-20 08:51:00 +02:00
SataQiu
477176a467 kubeadm: add supported etcd version for v1.30 2023-12-11 20:24:02 +08:00
Mohamed Omar Zaian
3c268b7524 etcd: Update to version 3.5.10 2023-11-02 10:30:41 +01:00
Kubernetes Prow Robot
c8125c4029 Merge pull request #121305 from neolit123/1.29-super-admin-conf
kubeadm: add support for separate super-admin.conf kubeconfig file
2023-10-27 08:51:31 +02:00
Lubomir I. Ivanov
98bed52fdd kubeadm: make super-admin.conf changes in app/constants
- Add the new file name: super-admin.conf and a function
to return its default path GetSuperAdminKubeConfigPath()
- Add the ClusterAdminsGroupAndClusterRoleBinding object name.
2023-10-25 11:46:49 +03:00
SataQiu
16b3acc27a cleanup UnknownCRISocket for unit tests 2023-10-24 16:46:51 +08:00
Paco Xu
7b1d87383e add kubelet policy skew test for kubeadm 2023-10-12 11:17:05 +08:00
Paco Xu
534a0941e8 kubeadm: change kubelet skew to apiserver to n-3 2023-09-22 20:46:29 +08:00
Kubernetes Prow Robot
4cb47f2ba1 Merge pull request #120116 from tukwila/update-coredns-v1.11.0
update coredns to v1.11.1
2023-08-26 10:17:21 -07:00
SataQiu
628bbb9ef8 kubeadm: add supported etcd version for v1.29 2023-08-26 20:43:04 +08:00
guangli.bao
78538bd303 update coredns to v1.11.0
update coredns to v1.11.1
update coredns-kubeadm to 1.11.1
bump up corefile-migration to v1.0.21 based on https://github.com/coredns/corefile-migration/releases/tag/v1.0.21
fix dns_test ut failure

Signed-off-by: guangli.bao <guangli.bao@daocloud.io>
2023-08-26 17:15:46 +08:00
Kubernetes Prow Robot
95c8d61918 Merge pull request #113583 from chendave/POC_resetCfg
kubeadm: implementation of `ResetConfiguration` API types
2023-07-14 04:05:48 -07:00
Dave Chen
2e6715bc77 kubeadm: implementation of ResetConfiguration API types
Signed-off-by: Dave Chen <dave.chen@arm.com>
2023-07-14 17:03:31 +08:00
Kubernetes Prow Robot
20e60a03df Merge pull request #110863 from claudiubelu/path-filepath-update-2
Replaces path.Operation with filepath.Operation (part 2)
2023-07-13 09:56:37 -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
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
Lubomir I. Ivanov
ede2ec22b6 kubeadm: drop older etcd versions from kubeadm support
- drop versions < 1.22 in the etcd map
- use 3.5.9-0 for >= 1.22 versions
- make the minimum version for external etcd 3.4.13-4 and max 3.5.9-0
- update images_test to not rely on a pinned etcd version in tests

note: the image 3.4.18-0 was never released in registry.k8s.io!
2023-06-18 15:38:53 +03:00
Kubernetes Prow Robot
15a1f9a39d Merge pull request #117921 from kkkkun/clean-up-etcd-version
clean up unsupport etcd version
2023-05-18 20:30:28 -07:00
kkkkun
8b4840aa37 clean up unsupport etcd version
Signed-off-by: kkkkun <scuzk373x@gmail.com>
2023-05-17 16:35:50 +08:00
Humble Chirammal
e3eb4bd0c5 updating dependencies.yaml for etcd v3.5.9 version
Signed-off-by: Humble Chirammal <humble.devassy@gmail.com>
2023-05-16 20:27:17 +05:30
kkkkun
c56839c0a1 etcd: Update version to 3.5.8
Signed-off-by: kkkkun <scuzk373x@gmail.com>
2023-05-06 17:29:47 +08:00
SataQiu
170d5ef9fa code cleanup for kubeadm 2023-04-26 23:51:39 +08:00
guangli.bao
046bb89256 supported version of etcd 3.5.7-0 for Kubernetes v1.27.0-rc.0
Signed-off-by: guangli.bao <guangli.bao@daocloud.io>
2023-04-08 17:56:21 +08:00
Paco Xu
b24725eed7 update coredns to v1.10.1
Signed-off-by: Paco Xu <paco.xu@daocloud.io>
2023-02-26 09:25:40 +08:00
Mohamed Zaian
90570b7595 etcd: Update to version 3.5.7 2023-01-27 17:24:00 +01: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
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
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
Paco Xu
75f89875f8 use etcd 3.5.6-0 after promotion 2022-11-24 09:45:56 +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
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