Skip to content

Commit e1c11fd

Browse files
committed
Merge branch 'improvement/bump-kubernetes-1.33.7' into q/133.0
2 parents d191683 + b206411 commit e1c11fd

File tree

3 files changed

+24
-22
lines changed

3 files changed

+24
-22
lines changed

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,15 @@
44

55
### Enhancements
66

7+
- Bump Kubernetes version to [1.33.7](https://github.com/kubernetes/kubernetes/releases/tag/v1.33.7)
8+
(PR[#4769](https://github.com/scality/metalk8s/pull/4769))
9+
10+
- Bump etcd version to [3.5.26](https://github.com/etcd-io/etcd/releases/tag/v3.5.26)
11+
(PR[#4769](https://github.com/scality/metalk8s/pull/4769))
12+
13+
- Bump CoreDNS version to [1.12.4](https://github.com/coredns/coredns/releases/tag/v1.12.4)
14+
(PR[#4769](https://github.com/scality/metalk8s/pull/4769))
15+
716
- Support etcd distroless images for Kubernetes 1.33+. Above etcd 3.5.21, etcd images are now distroless and upstreamed to the etcd project.
817
(PR[#4740](https://github.com/scality/metalk8s/pull/4740))
918

buildchain/buildchain/versions.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
# Project-wide versions {{{
2020

2121
K8S_VERSION_MAJOR: str = "1"
22-
K8S_VERSION_MINOR: str = "32"
22+
K8S_VERSION_MINOR: str = "33"
2323
K8S_VERSION_PATCH: str = "7"
2424

2525
K8S_SHORT_VERSION: str = f"{K8S_VERSION_MAJOR}.{K8S_VERSION_MINOR}"
@@ -80,7 +80,7 @@ def load_version_information() -> None:
8080
"2cb86b2d8326a987546dc7fb393f43d43d478fea12ce3ce4accbda571f47f86b"
8181
)
8282

83-
ETCD_VERSION: str = "3.5.21"
83+
ETCD_VERSION: str = "3.5.26"
8484
ETCD_IMAGE_VERSION: str = f"{ETCD_VERSION}-0"
8585
NGINX_IMAGE_VERSION: str = "1.27.5-alpine"
8686
NODEJS_IMAGE_VERSION: str = "20.11.1"
@@ -131,8 +131,8 @@ def _version_prefix(version: str, prefix: str = "v") -> str:
131131
),
132132
Image(
133133
name="coredns",
134-
version="v1.12.2",
135-
digest="sha256:af8c8d35a5d184b386c4a6d1a012c8b218d40d1376474c7d071bb6c07201f47d",
134+
version="v1.12.4",
135+
digest="sha256:986f04c2e15e147d00bdd51e8c51bcef3644b13ff806be7d2ff1b261d6dfbae1",
136136
),
137137
Image(
138138
name="dex",
@@ -142,7 +142,7 @@ def _version_prefix(version: str, prefix: str = "v") -> str:
142142
Image(
143143
name="etcd",
144144
version=ETCD_IMAGE_VERSION,
145-
digest="sha256:d58c035df557080a27387d687092e3fc2b64c6d0e3162dc51453a115f847d121",
145+
digest="sha256:97b4a5c4f11b202d6ea637e2b34654b11eb98bbebb23e15db797a74c7914a2d7",
146146
),
147147
Image(
148148
name="grafana",
@@ -157,22 +157,22 @@ def _version_prefix(version: str, prefix: str = "v") -> str:
157157
Image(
158158
name="kube-apiserver",
159159
version=_version_prefix(K8S_VERSION),
160-
digest="sha256:e04f6223d52f8041c46ef4545ccaf07894b1ca5851506a9142706d4206911f64",
160+
digest="sha256:9585226cb85d1dc0f0ef5f7a75f04e4bc91ddd82de249533bd293aa3cf958dab",
161161
),
162162
Image(
163163
name="kube-controller-manager",
164164
version=_version_prefix(K8S_VERSION),
165-
digest="sha256:6c7f288ab0181e496606a43dbade954819af2b1e1c0552becf6903436e16ea75",
165+
digest="sha256:9585226cb85d1dc0f0ef5f7a75f04e4bc91ddd82de249533bd293aa3cf958dab",
166166
),
167167
Image(
168168
name="kube-proxy",
169169
version=_version_prefix(K8S_VERSION),
170-
digest="sha256:8d589a18b5424f77a784ef2f00feffac0ef210414100822f1c120f0d7221def3",
170+
digest="sha256:9585226cb85d1dc0f0ef5f7a75f04e4bc91ddd82de249533bd293aa3cf958dab",
171171
),
172172
Image(
173173
name="kube-scheduler",
174174
version=_version_prefix(K8S_VERSION),
175-
digest="sha256:1c35a970b4450b4285531495be82cda1f6549952f70d6e3de8db57c20a3da4ce",
175+
digest="sha256:9585226cb85d1dc0f0ef5f7a75f04e4bc91ddd82de249533bd293aa3cf958dab",
176176
),
177177
Image(
178178
name="kube-state-metrics",

scripts/backup.sh.in

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -125,26 +125,19 @@ backup_etcd() {
125125
# Note: etcd image in Kubernetes 1.33+ is distroless (no shell), so we must
126126
# exec etcdctl directly without using "sh -c".
127127
# etcd 3.4+ defaults to API v3, so ETCDCTL_API=3 is no longer required.
128+
# In distroless images, the root filesystem is read-only, so we save the
129+
# snapshot to /var/lib/etcd which is a writable mounted volume.
128130
crictl exec -i "$etcd_container" \
129131
etcdctl \
130132
--endpoints=https://127.0.0.1:2379 \
131133
--cert=/etc/kubernetes/pki/etcd/salt-master-etcd-client.crt \
132134
--key=/etc/kubernetes/pki/etcd/salt-master-etcd-client.key \
133135
--cacert=/etc/kubernetes/pki/etcd/ca.crt \
134-
snapshot save "$etcd_snapshot"
135-
136-
local -r rootfs_v1="/run/containerd/io.containerd.runtime.v1.linux/k8s.io/${etcd_container}/rootfs"
137-
local -r rootfs_v2="/run/containerd/io.containerd.runtime.v2.task/k8s.io/${etcd_container}/rootfs"
138-
local rootfs=''
139-
if test -d "${rootfs_v2}"; then
140-
rootfs="${rootfs_v2}"
141-
elif test -d "${rootfs_v1}"; then
142-
rootfs="${rootfs_v1}"
143-
else
144-
die "Unable to find etcd container rootfs"
145-
fi
136+
snapshot save "/var/lib/etcd/${etcd_snapshot}"
146137

147-
local -r snapshot_file="${rootfs}/${etcd_snapshot}"
138+
# In distroless images, we need to retrieve the snapshot from the mounted
139+
# volume path on the host (/var/lib/etcd), not from the container rootfs.
140+
local -r snapshot_file="/var/lib/etcd/${etcd_snapshot}"
148141
if ! test -f "${snapshot_file}"; then
149142
die "etcd snapshot file not found"
150143
fi

0 commit comments

Comments
 (0)