Changelog for Kubernetes 1.36
Versions
The deployed Kubernetes patch version varies based on when your cluster is deployed or upgraded. We strive to use the latest versions available.
Current release leverages Kubernetes 1.36. Official release blogpost found here with corresponding official changelog.
Optional addons
- ingress-nginx is provided with version v1.15.1
- cert-manager is provided with version v1.21.1
- envoy-gateway is provided as an opt-in addon with version v1.7.1, disabled by default.
Major changes
cloud-provider-openstack and cinder-csi aligned with Kubernetes 1.36
Both components are bumped to v1.36.0 to align with this Kubernetes release.
- Upstream changed the cloud-controller-manager DaemonSet to select control-plane nodes via
affinity.nodeAffinityinstead ofnodeSelector. Our existing control-plane exclusion patch still applies and is unaffected.
calico upgraded to v3.32.1
Upstream renamed the adminnetworkpolicies and baselineadminnetworkpolicies CRDs into a single clusternetworkpolicies CRD. If you have manifests or tooling that reference the old CRD names directly, update them to the new one.
cert-manager upgraded to v1.21.1 — review before relying on the following
This upgrade crosses a cert-manager minor version and ships three breaking changes:
- The
cert-manager-tokenrequestRole/RoleBinding has been removed from the chart. This only matters if something usesserviceAccountRefpointing at the cert-manager controller’s own ServiceAccount (e.g. Vault IRSA auth, or an old Route53 workflow). - The metrics Service port was renamed from
tcp-prometheus-servicemonitortohttp-metrics. This only matters if something scrapes it by name. - The
cert-manager-editClusterRole no longer grantscreate/patch/updateonChallenge/Orderresources (security hardening, GHSA-8rvj-mm4h-c258). This only matters for tooling that creates those resources directly instead of viaCertificate.
Routine addon bumps
- coredns upgraded from 1.13.1 to 1.14.6.
- metrics-server upgraded from v0.8.0 to v0.9.0.
Noteworthy changes in upcoming versions.
Announcement of changes in future versions.
Scheduled for upcoming releases:
- We’ll remove the legacy
nodelocaldnswhere still deployed. Relevant only if the cluster was created before v1.26. - Ingress-nginx controller will be fully deprecated from our management, following the news. The
envoy-gatewayaddon, available since v1.35, is the first building block of its replacement.
Is downtime expected?
The cluster control plane should remain available during the upgrade; however, pods will be restarted when workloads are migrated to new nodes. Plan for short pod restarts during the upgrade.
Known issues.
Custom node taints and labels lost during upgrade.
Custom taints and labels on worker and control-plane nodes may be lost during the upgrade. We recommend auditing and reapplying any critical custom taints/labels via automation (e.g., cluster bootstrap, configuration management, or a post-upgrade job).
There is a label that is persistent across upgrades that can be used to direct workload to particular nodegroups. Example on how to use it:
spec:
template:
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: nodegroup.node.cluster.x-k8s.io
operator: In
values:
- worker1
Snapshots are not working.
There is currently a limitation in the snapshot controller: it is not topology-aware. As a result, snapshot behavior may be unreliable for topology-sensitive volumes. Avoid depending on snapshots for cross-zone/region recovery until a topology-aware snapshot controller is available or confirm your storage driver’s snapshot semantics.