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 #1396

  • Apply 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 #1361

  • Bump 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 #1329

  • Update 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 #1305

  • Disable markdown lint due to false positives #1313

  • Ignore _test packages in godoc generator #1308

  • Bump 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 #1028

  • Add Dqlite configuration to troubleshooting page #1022

  • Fix typo in setup-image.sh #1024

  • Split 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 #990

  • Fix 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 #979

  • Reorder 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 #982

  • Update 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 #921

  • Bump 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

  • Bump Kubernetes version v1.32.1 #969

  • Remove matrix link from docs #962

  • Add 1.32 release notes for snap and charm #913 and #928

Contributors

Many thanks to @neoaggelos, @bschimke95, @evilnick, @eaudetcobello, @louiseschmidtgen, @mateoflorido, @berkayoz, @addyess, @HomayoonAlimohammadi, @ktsakalozos, @kwmonroe, @maci3jka, @petrutlucian94, @nhennigan, @claudiubelu, @aznashwan, @YanisaHS, @hemanthnakkina, @dulmandakh, @perk.