1.36¶
Canonical Kubernetes 1.36 LTS - Release notes - 24 August 2026
Welcome to the second LTS release of Canonical Kubernetes!
Requirements and compatibility¶
Canonical Kubernetes can be installed on a variety of operating systems using several methods. For specific requirements, see the installation guides.
What’s new¶
Kubernetes 1.36 - read more about the upstream release here.
kube-proxy replacement - Clusters bootstrapped with the default Cilium network no longer deploy
kube-proxy. Service routing is handled by Cilium’s eBPF datapath instead. Clusters upgraded from earlier releases will continue to runkube-proxyuntil you opt in withsudo k8s set network.kube-proxy-enabled=false. See the service routing explanation for more information.k8s-dqlite datastore removed - The
k8s-dqlitedatastore, deprecated in 1.35, has been removed. The only supported datastore is nowetcd, but users still have the option to deploy an external datastore. Refreshing a cluster that still usesk8s-dqliteis blocked; there is no migration path.Cilium 1.19 and networking updates
Cilium and Cilium-Operator upgraded to 1.19.4.
Gateway API CRDs upgraded from v1.2.0 to v1.4.1.
gateway.networking.k8s.io/v1.
MetalLB 0.16.1 and multi-peer BGP - The MetalLB controller and speaker are now upgraded to v0.16.1. BGP mode can now be configured with multiple peers, each with its own ASN, port and node selector, using the
k8sd/v1alpha1/metallb/bgp-peersannotation. See the multi-peer BGP guide.s390x and ppc64el support - The snap is now built for the
s390xandppc64elarchitectures in addition toamd64andarm64.Dedicated containerd base directory flag -
k8s bootstrapandk8s join-clusteraccept a--containerd-base-dirflag, so a dedicated containerd installation path no longer requires a configuration file.k8sd moved to its own repository - The
k8sddaemon is now developed in canonical/k8sd and consumed by the snap as a build component.
Also in this release¶
Update Go to 1.26 (FIPS)
Update containerd to v2.3.3
Update runc to v1.4.3
Update etcd to v3.6.13
Update cni-plugins to v1.9.1
Update Helm to v4.2.4
Update CoreDNS to 1.14.6
Update metrics-server to 0.9.0
Update CSI node driver registrar to 2.16.0
Update CSI provisioner to 6.2.0
Update CSI resizer to 2.1.0
Update CSI snapshotter to 8.5.0
Update microcluster to v3.1.1
Update the public API to k8s-snap-api v2
Control-plane-only controllers no longer run on worker nodes
Removed the obsolete CIS generator tool
Deprecations and API changes¶
Upstream - Please review the upstream release notes, which include deprecation notices and API changes for Kubernetes 1.36.
The
k8s-dqlitedatastore option has been removed. There is no update or migration path for deployments using this datastore.kube-proxy-client-crt,kube-proxy-client-keyandextra-node-kube-proxy-argsare deprecated. Setting them does not raise an error, but the values are ignored while the default Cilium network is enabled, since nokube-proxyis deployed in that case. They are still honoured when the default network is disabled andkube-proxyruns.The FRR-backed MetalLB BGP mode is no longer shipped. Only L2 mode and the native MetalLB BGP backend are supported.
Fixed bugs and issues¶
Fixed a containerd side-load images plugin initialization race (#2300, #2415)
Prevent a control plane node from joining with the same name as an existing worker node (#2263, k8sd#4)
Snap revert no longer fails when reverting to the currently installed version (#2273)
Disable volume resizing for local-storage (#2235)
Use etcd learner mode during node join to prevent quorum loss (k8sd#28)
Resume the
k8s-configwatch after etcd compaction (k8sd#44)Honor
AnnotationDisableSeparateFeatureUpgradesduring node joins (#2622, k8sd#53)
Upgrade notes¶
See our upgrade notes page for instructions on how to upgrade to 1.36.
Note
Clusters using the removed k8s-dqlite datastore cannot be upgraded to 1.36.
The snap refresh is rejected and the cluster stays on its current revision.