Skip to content

Upgrades k8s to v1.35.8, along with other resources and services - #950

Open
nkinkade wants to merge 1 commit into
mainfrom
sandbox-kinkade-k8s135
Open

Upgrades k8s to v1.35.8, along with other resources and services#950
nkinkade wants to merge 1 commit into
mainfrom
sandbox-kinkade-k8s135

Conversation

@nkinkade

@nkinkade nkinkade commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Upgrades the platform cluster from k8s v1.34.4 to v1.35.8, along with related components:

Component Old New
kubernetes v1.34.4 v1.35.8
crictl v1.34.0 v1.35.0
CNI plugins v1.9.0 v1.9.1
flannel v0.28.1 0.28.9
flannel CNI plugin v1.9.0-flannel1 v1.9.1-flannel3
tooling (kubernetes/release) v0.19.0 v0.21.1
etcdctl v3.6.5 v3.6.6 (matches etcd deployed by kubeadm v1.35)
helm v4.1.1 v4.2.4
vector 0.53.0 (chart 0.50.0) 0.58.0 (chart 0.58.0)
kured 1.21.0 (chart 5.11.0) 1.23.0 (chart 6.1.0)
cert-manager v1.19.3 v1.21.1

Notes from the changelog review:

  • k8s 1.35 makes cgroup v1 a hard kubeadm preflight failure and removes the kubelet --pod-infra-container-image flag and several locked-GA feature gates. None of these affect our nodes/configs (all nodes are cgroup v2, none of the removed flags/gates are set). The kubeadm config API remains v1beta4, so no template changes were needed.
  • Vector v0.57.0 disabled ${VAR} interpolation in config files by default, which our customConfig relies on (VECTOR_SELF_NODE_NAME). The vector values now set VECTOR_DANGEROUSLY_ALLOW_ENV_VAR_INTERPOLATION=true to retain the previous behavior.
  • flannel's Docker Hub image tags dropped their v prefix as of 0.28.6, so K8S_FLANNEL_VERSION now matches the image tag format.
  • kubernetes/release deleted the cmd/kubepkg systemd unit templates, which had silently broken the kubelet.service/10-kubeadm.conf downloads in bootstraplib.sh and add_k8s_virtual_node.sh (even at the currently-pinned v0.19.0). Both now fetch from the cmd/krel path, matching epoxy-images.
  • The kured chart 5.x→6.x breaking change (serviceAccount.extraAnnotations rendering) does not affect our values; cert-manager 1.20/1.21 breaking changes don't intersect our overrides, and both support k8s 1.35.

Status: the mlab-sandbox control plane has already been upgraded to v1.35.8 via upgrade_api_cluster.sh, and the sandbox build of this branch deployed the workload updates successfully.

DO NOT MERGE until the mlab-staging control plane has been manually upgraded (the usual k8s-upgrade sequencing).

🤖 Generated with Claude Code


This change is Reviewable

Version bumps:
- k8s v1.34.4 -> v1.35.8 (kubeadm-deployed etcd moves 3.6.5 -> 3.6.6)
- crictl v1.34.0 -> v1.35.0
- CNI plugins v1.9.0 -> v1.9.1
- flannel v0.28.1 -> 0.28.9 (Docker Hub tags lost their 'v' prefix as of
  0.28.6, so the variable now matches the image tag format)
- flannel CNI plugin v1.9.0-flannel1 -> v1.9.1-flannel3
- tooling (kubernetes/release) v0.19.0 -> v0.21.1
- etcdctl v3.6.5 -> v3.6.6
- helm v4.1.1 -> v4.2.4
- vector 0.53.0 -> 0.58.0 (chart 0.50.0 -> 0.58.0)
- kured 1.21.0 -> 1.23.0 (chart 5.11.0 -> 6.1.0)
- cert-manager v1.19.3 -> v1.21.1

Vector v0.57.0 disabled env var interpolation in config files by default,
which our customConfig depends on, so the vector values now set
VECTOR_DANGEROUSLY_ALLOW_ENV_VAR_INTERPOLATION=true to keep the previous
behavior.

kubernetes/release removed the cmd/kubepkg systemd unit templates, which
broke the kubelet.service/10-kubeadm.conf downloads in bootstraplib.sh and
add_k8s_virtual_node.sh. Both now fetch from the cmd/krel path, matching
what epoxy-images already does.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants