1.32¶
Canonical Kubernetes 1.32 - Release notes - 12 December 2024
Welcome to the first LTS release of Canonical Kubernetes! These release notes cover the highlights of this release.
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.32 - read more about the upstream release here.
User provided certificate validation - Now Canonical Kubernetes can validate user provided certificates allowing greater control over the cluster.
Additional CNIs - By adding the annotation
cni.exclusive
, users can now configure their Canonical Kubernetes cluster to add additional CNIs such as Multus providing greater networking possibilities.Configurable containerd installation - This new feature allows the user to specify the installation path of containerd at bootstrap and node join with
containerd-base-dir
. This means configurations files will not conflict with other containerd installations already on the host (for example from docker).
Also in this release¶
Update to CNI v1.6.0
Update go v1.23
Update How to use COS Lite tutorial to use k8s-operator charm
Update Dqlite to v1.17.1 LTS, go-dqlite to v2 and k8s-dqlite to v1.3.0
Update Microcluster to v2.1.0
Update LXD to v0.0.0-20241106165613-4aab50ec18c3
Implement Vale spellcheck for documentation
Use rock for MetalLB FRR instead of upstream
Add review Kubernetes authentication token RPC
Make updating documentation easier by implementing literalinclude
Checks k8s-related port availability in PreInitChecks
Add download links for long files
Add patches for Kubernetes 1.32
Minor SBOM improvements
Add proxy setting from /etc/environment to inspection report
Added test level tags
Deprecations and API changes¶
Upstream - For details of other deprecation notices and API changes for Kubernetes 1.32, please see the relevant sections of the upstream release notes.
Fixed bugs and issues¶
Fixed nightly tests (#876)
Fixed containerd pebble path (#874)
Fixed MicroK8s snap check (#861)
Set default k8s snap track for registry in integration tests (#852)
Fixed cilium ingress, refactor string literals (#848)
Removed hardened runner from CI (#847)
Increase integration test timeouts(#798)
Changed BusyBox image registry in our integration tests to avoid rate limit errors (#845)
Patch notices¶
Jun 5, 2025
Revert Cilium 1.17 upgrade due to compatibility issues (#1360) #1466
Ensure node is removed correctly from the cluster on an internal server error #1377
Add logging when rollout upgrade fails #1429
Add dqlite deb source lists manually for TICS job stability #1457
Fix test to retry snap install of pre-loaded snaps #1464
Update Kubernetes version to 1.32.5 #1443
Fix version upgrade test by setting default FLAVOR to classic #1446
Skip feature upgrades tests early if not required #1439
Fix inspection report to treat non-bootstrapped node as a control-plane node #1419
Fix failures in test_cilium_e2e #1417
Add quotations to service argument values to care for escape characters #1387
Fix indentation of config in our docs #1412
Fix typo in discourse link #1409
Set dqlite failure-domain based on the k8s node AZ label #1309
Address issue with parsing IPv6 endpoints for
k8s-apiserver-proxy.json
#1396Apply fix that allows BOM generation outside of Snapcraft #1390
Add snap patch notices to the release notes #1392
Ensure docs versions are correct #1383
Add support to run test upgrades without needing a local snap #1380
Update Kubernetes version to v1.32.4 #1335
Bump Cilium version to 1.17.1 and gateway API chart to v1.2.0. Also includes updates to ensure CNCF conformance #1360
Add charm patch notices to the release notes #1348
Fix typo in
proxy.md
#1361Bump CoreDNS version to 1.12 and chart to 1.39.2 #1356
Update CSI image versions #1154
Bump CoreDNS chart to 1.36.2 and image to 1.11.4-ck1 #1155
Update Juju links in our docs from juju/latest to juju/3.6 #1338
Bump MetalLB chart and images to 0.14.9 #1153
Add feature upgrades machinery #1296
Bump
rawfile-localpv
image to 0.8.2 #1329Update tests as we do not expect k8sd to be active after node removal #1319
Address error of worker nodes attempting to configure control plane elements during snap refreshes #1253
Add
tunnel-port
annotation to address possible Cilium conflict with fan networking #1305Disable markdown lint due to false positives #1313
Ignore _test packages in
godoc
generator #1308Bump golang.org/x/crypto to v0.35.0 #1304
Apr 23, 2025
Fix node removal waiting for services to terminate #1287
Ensure that post-refresh hook is only executed after snap refresh #1287
Update containerd to v1.6.38 and Kubernetes to v1.32.3 #1179
Pre-install xdelta3 to mitigate LXD rate-limit issues #1266
Apr 8, 2025
Ensure lock directory exists before creating file #1220
Move snapd sync to custom post-refresh hook #1209
Calculate changed files for markdown lint through git #1202
Fix link #1195
Temporarily disable snap/k8sd config sync during snap upgrade #1168
Adds non-default CoreDNS ServiceAccount #1109
Mar 24, 2025
Remove compromised dependency tj-actions/changed-files #1190
Run all tests on Kubernetes component / feature updates #1184
Fix test_mixed_versions_join test #1165
Add runc 1.2.5 arm patch and switch to noble 24.04 runners #1133
Use 1.32-classic/edge release in 1.32-release nightly tests #1157
Remove 1.31 release notes #1145
Mar 9th, 2025
Fix custom registry config name #1132
Fix configuration name #1130
Update containerd and runc versions #1115
Add fan-config instructions to OpenStack how-to guide #1073
Feb 22, 2025
Update Kubernetes version to 1.32.2 #1067
Address memory leak update k8s-dqlite version to v1.3.1 #1063
Fix spell check #1050
Fix pre-release update with same risk-level #1047
Fix custom containerd paths #1046
Add intermediate CA how-to #1027
Switch to cilium native routing mode for IPv6 only setup #1007
Remove obsolete LoadBalancer feature check #1037
Use ControlPlaneJoinConfig certificates during Control Plane Join #1029
Collect all inspection reports before cleaning up nodes #1034
Remove /src dir #1018
Enrich node configuration controller tests with signed ConfigMaps #1032
Avoid logging an error in
inspect.sh
if there are no core dumps #1028Add Dqlite configuration to troubleshooting page #1022
Fix typo in
setup-image.sh
#1024Split tutorial for CAPI, add capi troubleshooting pages #1019
Log a message if the cluster is uninitialized #1015
Add k8s inspect command #1016
Generate and collect core dumps #1014
Add warning for dual stack ingress #1008
Remove two-node HA page #1006
Fix config “show” command #1012
Apply small docs pages fixes #1011
Retry Temporary API Failures in Microcluster #992
Update Microcluster version to latest v2 #1010
Bump actions upload-artifact to v4 #1003
Document k8s-snap installation on development environments #995
Fix headers naming style in docs #1005
Enable cluster-config.load-balancer.l2-mode by default #1001
Don’t remove Kubernetes certificates and containerd if skipped #1002
Add package management with helm explanation page #964
Update outdated links in our docs #1004
Implement timeout in
inspect.sh
for k8s commands #990Fix token permissions alert #998
Fix snap tutorials section #983
Adds Prometheus how-to guide #944
Add missing commands to reference section in docs #976
Fix broken links for
ingress.md
in our docs #979Reorder explanation index, ensure header style consistency in our docs #978
Fix snap storage documentation #985
Improve security docs #980
Add upgrading explanation page #950
Update annotations doc page #974
Update config file reference page #977
Update bootstrap config reference page #975
Improve snap install docs #984
Fix type on proxy reference page #981
Update
inspect.sh
to collect dmesg logs and configurable number of snap log entries #982Update Microcluster to the latest v2 #968
Simplify the docs for installing via Terraform #948
DISA STIG hardening docs improvements #967
Update charm docs #958
Allow specifying service env variables #973
Add a contributing file #966
Update docs home page #951
Update networking docs #963
Clarify IPv6-only docs interface binding #972)
Update Kubernetes version to v1.32.1 #971
Add how-to troubleshoot page for charm deployments #953
Update CAPI docs #957
Add Load balancer explanation page #965
Add Cluster Configuration using Juju page #960
Fix service IP poller in test_ingress #956
Add image management how-to guide #954
Add snap troubleshooting how-to guide #943
Move charm install files to charm/howto/install #955
Add charm actions reference page #938
Change heading title to prerequisites in docs #959
Clarify node-labels are additive or destructive in our docs #949
Add custom bootstrap configuration documentation #935
Add basic operations with the charm tutorial #947
Add IPv6 load balancer tests #926
Add ports and services reference #945
Add ports and services reference page #946
Add high availability explanation page #940
Add how-to uninstall the snap page #941
Clean up k8s-dqlite state dir and stops it on remove hook #908
Add reference docs for charm configurations #939
Fix snap upgrade how-to guide #942
Add choosing an installation method documentation #933
Add snap upgrades how-to guide #934
Add CAPI bootstrap config docs #936
Automatically manage pre-release branches #916
Add test for deploying NVIDIA gpu-operator through Helm chart #929
Add a systemd override to add containerd defaults #932
Add charm upgrade documentation #881
Add docs for Juju custom configuration #937
Add alternative CNI how-to guide #900
CI improvements including TICs and Trivy tests #927
Include system information in the
inspect.sh
script #921Bump copyright headers #931
Ensure LXD is installed before attempting snap refresh #930
Retry seed loading in case snap is not ready yet #925
Add 1.32 charms release notes #913
Fix broken links in our docs #924
Bump golang.org/x/net to v0.33.0 #919
Fix containerd-related path cleanup on failed bootstrap/join and associated test #910
Fix all linter warnings in test harness #898
Update etcd how-to guide config option #918
Microcluster schema change warning #922
Add Terraform documentation for k8s and k8s-worker charms #920
Move doc files under /src to fix edit docs button #917
Add 1.32 release docs #899
Fix dual-stack yaml indentation #914
Completely remove LocalHarness #912
Remove duplicate github actions #892
Remove manual provider config for clusterctl in CAPI docs #911
Bump golang.org/x/crypto from v0.28.0 to v0.31.0 #909
Restructure the CIS and DISA STIG hardening guides #890
Add how-to guide on OpenStack integration #855
Ensure containerd-related directories removed on failed bootstrap/join-cluster #863
Update CNI to v1.6.0, Kubernetes to v1.32.0 and Go to 1.23/stable #896
Exit early if node name is not provided in CLI #895
Remove 1.30 branch from automatic updates #893
Add unit test ValidateCAPIAuthTokenAccessHandler #885
Add unit test ValidateNodeTokenAccessHandler #880
Bump Kubernetes version to v1.32.4 #887
Update the DISA doc #884
Add 1.32 to supported releases #883
Bump GitPython to 3.1.41 #997
Bump Jinja2 version to 3.1.5 #1000
Update Microcluster to latest v2 #987
Jan 16, 2025
Contributors¶
Many thanks to @neoaggelos, @bschimke95, @evilnick, @eaudetcobello, @louiseschmidtgen, @mateoflorido, @berkayoz, @addyess, @HomayoonAlimohammadi, @ktsakalozos, @kwmonroe, @maci3jka, @petrutlucian94, @nhennigan, @claudiubelu, @aznashwan, @YanisaHS, @hemanthnakkina, @dulmandakh, @perk.