diff --git a/kubernetes/kubernetes-1.32.2/debian/deb_folder/patches/Revert-kubeadm-use-new-etcd-livez-and-readyz-endpoint.patch b/kubernetes/kubernetes-1.32.2/debian/deb_folder/patches/Revert-kubeadm-use-new-etcd-livez-and-readyz-endpoint.patch new file mode 100644 index 000000000..c2c5cacf3 --- /dev/null +++ b/kubernetes/kubernetes-1.32.2/debian/deb_folder/patches/Revert-kubeadm-use-new-etcd-livez-and-readyz-endpoint.patch @@ -0,0 +1,121 @@ +From 39fcdd692beb7cc0e3d6a528f964bb891ba4d71f Mon Sep 17 00:00:00 2001 +From: Boovan Rajendran +Date: Mon, 14 Apr 2025 06:26:59 -0400 +Subject: [PATCH] Revert "kubeadm: use new etcd /livez and /readyz endpoints" + +This reverts commit eeac2dda7091c1f1ea100e7637291bba2345bb0b and +partially reverts commit a04cc020f1b3992fcf185ef2b1bf12c55815fb5a +to install K8s 1.32.2 with the existing etcd version 3.4. This patch +needs to be removed after upgrading the etcd version to >= 3.5.11. +--- + cmd/kubeadm/app/constants/constants.go | 2 +- + cmd/kubeadm/app/constants/constants_test.go | 12 ++++-------- + cmd/kubeadm/app/phases/etcd/local.go | 9 +++------ + cmd/kubeadm/app/phases/etcd/local_test.go | 13 ++----------- + 4 files changed, 10 insertions(+), 26 deletions(-) + +diff --git a/cmd/kubeadm/app/constants/constants.go b/cmd/kubeadm/app/constants/constants.go +index 3cff2113fa0..6c89e075dc0 100644 +--- a/cmd/kubeadm/app/constants/constants.go ++++ b/cmd/kubeadm/app/constants/constants.go +@@ -323,7 +323,7 @@ const ( + KubeletHealthzPort = 10248 + + // MinExternalEtcdVersion indicates minimum external etcd version which kubeadm supports +- MinExternalEtcdVersion = "3.5.11-0" ++ MinExternalEtcdVersion = "3.4.13-4" + + // DefaultEtcdVersion indicates the default etcd version that kubeadm uses + DefaultEtcdVersion = "3.5.16-0" +diff --git a/cmd/kubeadm/app/constants/constants_test.go b/cmd/kubeadm/app/constants/constants_test.go +index 779ec5fda9a..5a46ee20b0c 100644 +--- a/cmd/kubeadm/app/constants/constants_test.go ++++ b/cmd/kubeadm/app/constants/constants_test.go +@@ -98,15 +98,11 @@ func TestGetStaticPodFilepath(t *testing.T) { + } + } + +-func TestEtcdSupportedVersionLength(t *testing.T) { +- const max = 4 +- if len(SupportedEtcdVersion) > max { +- t.Fatalf("SupportedEtcdVersion must not include more than %d versions", max) +- } +-} +- + func TestEtcdSupportedVersion(t *testing.T) { + var supportedEtcdVersion = map[uint8]string{ ++ 13: "3.2.24", ++ 14: "3.3.10", ++ 15: "3.3.10", + 16: "3.3.17-0", + 17: "3.4.3-0", + 18: "3.4.3-0", +@@ -125,7 +121,7 @@ func TestEtcdSupportedVersion(t *testing.T) { + }, + { + kubernetesVersion: "1.10.1", +- expectedVersion: version.MustParseSemantic("3.3.17-0"), ++ expectedVersion: version.MustParseSemantic("3.2.24"), + expectedWarning: true, + expectedError: false, + }, +diff --git a/cmd/kubeadm/app/phases/etcd/local.go b/cmd/kubeadm/app/phases/etcd/local.go +index 9e9b19004af..9b04e684c55 100644 +--- a/cmd/kubeadm/app/phases/etcd/local.go ++++ b/cmd/kubeadm/app/phases/etcd/local.go +@@ -226,12 +226,9 @@ func GetEtcdPodSpec(cfg *kubeadmapi.ClusterConfiguration, endpoint *kubeadmapi.A + v1.ResourceMemory: resource.MustParse("100Mi"), + }, + }, +- // The etcd probe endpoints are explained here: +- // https://github.com/kubernetes/kubeadm/issues/3039 +- LivenessProbe: staticpodutil.LivenessProbe(probeHostname, "/livez", probePort, probeScheme), +- ReadinessProbe: staticpodutil.ReadinessProbe(probeHostname, "/readyz", probePort, probeScheme), +- StartupProbe: staticpodutil.StartupProbe(probeHostname, "/readyz", probePort, probeScheme, componentHealthCheckTimeout), +- Env: kubeadmutil.MergeKubeadmEnvVars(cfg.Etcd.Local.ExtraEnvs), ++ LivenessProbe: staticpodutil.LivenessProbe(probeHostname, "/health?exclude=NOSPACE&serializable=true", probePort, probeScheme), ++ StartupProbe: staticpodutil.StartupProbe(probeHostname, "/health?serializable=false", probePort, probeScheme, componentHealthCheckTimeout), ++ Env: kubeadmutil.MergeKubeadmEnvVars(cfg.Etcd.Local.ExtraEnvs), + }, + etcdMounts, + // etcd will listen on the advertise address of the API server, in a different port (2379) +diff --git a/cmd/kubeadm/app/phases/etcd/local_test.go b/cmd/kubeadm/app/phases/etcd/local_test.go +index 50cd5a96c6c..e04c8655eb5 100644 +--- a/cmd/kubeadm/app/phases/etcd/local_test.go ++++ b/cmd/kubeadm/app/phases/etcd/local_test.go +@@ -129,22 +129,13 @@ spec: + failureThreshold: 8 + httpGet: + host: 127.0.0.1 +- path: /livez ++ path: /health?exclude=NOSPACE&serializable=true + port: 2381 + scheme: HTTP + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 15 + name: etcd +- readinessProbe: +- failureThreshold: 3 +- httpGet: +- host: 127.0.0.1 +- path: /readyz +- port: 2381 +- scheme: HTTP +- periodSeconds: 1 +- timeoutSeconds: 15 + resources: + requests: + cpu: 100m +@@ -153,7 +144,7 @@ spec: + failureThreshold: 24 + httpGet: + host: 127.0.0.1 +- path: /readyz ++ path: /health?serializable=false + port: 2381 + scheme: HTTP + initialDelaySeconds: 10 +-- +2.25.1 + diff --git a/kubernetes/kubernetes-1.32.2/debian/deb_folder/patches/series b/kubernetes/kubernetes-1.32.2/debian/deb_folder/patches/series new file mode 100644 index 000000000..b5d329396 --- /dev/null +++ b/kubernetes/kubernetes-1.32.2/debian/deb_folder/patches/series @@ -0,0 +1 @@ +Revert-kubeadm-use-new-etcd-livez-and-readyz-endpoint.patch