Skip to main content

v1.24.X

Upgrade Notice

Before upgrading from earlier releases, be sure to read the Kubernetes Urgent Upgrade Notes.

VersionRelease dateKubernetesKineSQLiteEtcdContainerdRuncFlannelMetrics-serverTraefikCoreDNSHelm-controllerLocal-path-provisioner
v1.24.17+k3s1Sep 05 2023v1.24.17v0.10.23.42.0v3.5.3-k3s1v1.7.3-k3s1v1.1.8v0.21.3-k3s1.23v0.6.3v2.9.10v1.10.1v0.15.4v0.0.24
v1.24.16+k3s1Jul 27 2023v1.24.16v0.10.13.39.2v3.5.3-k3s1v1.7.1-k3s1v1.1.7v0.21.3-k3s1.23v0.6.3v2.9.10v1.10.1v0.15.2v0.0.24
v1.24.15+k3s1Jun 26 2023v1.24.15v0.10.13.39.2v3.5.3-k3s1v1.7.1-k3s1v1.1.7v0.21.3-k3s1.23v0.6.3v2.9.10v1.10.1v0.15.0v0.0.24
v1.24.14+k3s1May 26 2023v1.24.14v0.10.13.39.2v3.5.3-k3s1v1.7.1-k3s1v1.1.7v0.21.3-k3s1.23v0.6.2v2.9.10v1.10.1v0.14.0v0.0.24
v1.24.13+k3s1Apr 20 2023v1.24.13v0.9.93.39.2v3.5.3-k3s1v1.6.19-k3s1v1.1.5v0.21.3-k3s1.23v0.6.2v2.9.4v1.10.1v0.13.3v0.0.24
v1.24.12+k3s1Mar 27 2023v1.24.12v0.9.93.39.2v3.5.3-k3s1v1.6.19-k3s1v1.1.4v0.21.3-k3s1.23v0.6.2v2.9.4v1.9.4v0.13.1v0.0.23
v1.24.11+k3s1Mar 10 2023v1.24.11v0.9.93.39.2v3.5.3-k3s1v1.6.15-k3s1v1.1.4v0.21.1-k3s1.23v0.6.2v2.9.4v1.9.4v0.13.1v0.0.23
v1.24.10+k3s1Jan 26 2023v1.24.10v0.9.63.39.2v3.5.3-k3s1v1.6.15-k3s1v1.1.4v0.20.2-k3s1.23v0.6.2v2.9.4v1.9.4v0.13.1v0.0.23
v1.24.9+k3s2Jan 11 2023v1.24.9v0.9.63.39.2v3.5.3-k3s1v1.6.14-k3s1v1.1.4v0.20.2-k3s1.23v0.6.2v2.9.4v1.9.4v0.13.1v0.0.23
v1.24.9+k3s1Dec 20 2022v1.24.9v0.9.63.39.2v3.5.3-k3s1v1.6.12-k3s1v1.1.4v0.20.2-k3s1.23v0.6.2v2.9.4v1.9.4v0.13.1v0.0.23
v1.24.8+k3s1Nov 18 2022v1.24.8v0.9.63.39.2v3.5.3-k3s1v1.6.8-k3s1v1.1.4v0.20.1-k3s1.23v0.6.1v2.9.4v1.9.4v0.13.0v0.0.23
v1.24.7+k3s1Oct 25 2022v1.24.7v0.9.33.36.0v3.5.3-k3s1v1.6.8-k3s1v1.1.4v0.19.2v0.6.1v2.9.1v1.9.1v0.12.3v0.0.21
v1.24.6+k3s1Sep 28 2022v1.24.6v0.9.33.36.0v3.5.3-k3s1v1.6.8-k3s1v1.1.4v0.19.2v0.5.2v2.6.2v1.9.1v0.12.3v0.0.21
v1.24.4+k3s1Aug 25 2022v1.24.4v0.9.33.36.0v3.5.3-k3s1v1.5.13-k3s1v1.1.3v0.19.1v0.5.2v2.6.2v1.9.1v0.12.3v0.0.21
v1.24.3+k3s1Jul 19 2022v1.24.3v0.9.33.36.0v3.5.3-k3s1v1.5.13-k3s1v1.1.3v0.18.1v0.5.2v2.6.2v1.9.1v0.12.3v0.0.21
v1.24.2+k3s2Jul 06 2022v1.24.2v0.9.33.36.0v3.5.3-k3s1v1.5.13-k3s1v1.1.2v0.18.1v0.5.2v2.6.2v1.9.1v0.12.3v0.0.21
v1.24.2+k3s1Jun 27 2022v1.24.2v0.9.13.36.0v3.5.3-k3s1v1.6.6-k3s1v1.1.2v0.18.1v0.5.2v2.6.2v1.9.1v0.12.3v0.0.21
v1.24.1+k3s1Jun 11 2022v1.24.1v0.9.13.36.0v3.5.3-k3s1v1.5.11-k3s1v1.1.1v0.17.0v0.5.2v2.6.2v1.9.1v0.12.1v0.0.21

Release v1.24.17+k3s1

This release updates Kubernetes to v1.24.17, and fixes a number of issues.

IMPORTANT

This release includes support for remediating CVE-2023-32187, a potential Denial of Service attack vector on K3s servers. See https://github.com/k3s-io/k3s/security/advisories/GHSA-m4hf-6vgr-75r2 for more information, including mandatory steps necessary to harden clusters against this vulnerability.

For more details on what's new, see the Kubernetes release notes.

Changes since v1.24.16+k3s1:

  • Update cni plugins version to v1.3.0 (#8087)
  • Etcd snapshots retention when node name changes (#8124)
  • August Test Backports (#8128)
  • Backports for 2023-08 release (#8135)
    • K3s's external apiserver listener now declines to add to its certificate any subject names not associated with the kubernetes apiserver service, server nodes, or values of the --tls-san option. This prevents the certificate's SAN list from being filled with unwanted entries.
    • K3s no longer enables the apiserver's enable-aggregator-routing flag when the egress proxy is not being used to route connections to in-cluster endpoints.
    • Updated the embedded containerd to v1.7.3+k3s1
    • Updated the embedded runc to v1.1.8
    • User-provided containerd config templates may now use {{ template "base" . }} to include the default K3s template content. This makes it easier to maintain user configuration if the only need is to add additional sections to the file.
    • Bump docker/docker module version to fix issues with cri-dockerd caused by recent releases of golang rejecting invalid host headers sent by the docker client.
    • Updated kine to v0.10.2
  • K3s etcd-snapshot delete fail to delete local file when called with s3 flag (#8146)
  • Fix for cluster-reset backup from s3 when etcd snapshots are disabled (#8168)
  • Fixed the etcd retention to delete orphaned snapshots based on the date (#8191)
  • Additional backports for 2023-08 release (#8214)
    • The version of helm used by the bundled helm controller's job image has been updated to v3.12.3
    • Bumped dynamiclistener to address an issue that could cause the apiserver/supervisor listener on 6443 to stop serving requests on etcd-only nodes.
    • The K3s external apiserver/supervisor listener on 6443 now sends a complete certificate chain in the TLS handshake.
  • Fix runc version bump (#8243)
  • Update to v1.24.17 (#8240)
  • Add new CLI flag to enable TLS SAN CN filtering (#8260)
    • Added a new --tls-san-security option. This flag defaults to false, but can be set to true to disable automatically adding SANs to the server's TLS certificate to satisfy any hostname requested by a client.
  • Add RWMutex to address controller (#8276)

Release v1.24.16+k3s1

This release updates Kubernetes to v1.24.16, and fixes a number of issues.

For more details on what's new, see the Kubernetes release notes.

Changes since v1.24.14+k3s1:

  • Fix code spell check (#7861)
  • Remove file_windows.go (#7857)
  • Allow k3s to customize apiServerPort on helm-controller (#7872)
  • Fix rootless node password (#7899)
  • Backports for 2023-07 release (#7910)
    • Resolved an issue that caused agents joined with kubeadm-style bootstrap tokens to fail to rejoin the cluster when their node object is deleted.
    • The k3s certificate rotate-ca command now supports the data-dir flag.
  • Adding cli to custom klipper helm image (#7916)
    • The default helm-controller job image can now be overridden with the --helm-job-image CLI flag
  • Generation of certs and keys for etcd gated if etcd is disabled (#7946)
  • Don't use zgrep in check-config if apparmor profile is enforced (#7955)
  • Fix image_scan.sh script and download trivy version (#7950) (#7970)
  • Adjust default kubeconfig file permissions (#7985)
  • Update to v1.24.16 (#8023)

Release v1.24.15+k3s1

This release updates Kubernetes to v1.24.15, and fixes a number of issues.

For more details on what's new, see the Kubernetes release notes.

Changes since v1.24.14+k3s1:

  • E2E Backports - June (#7726)
    • Shortcircuit commands with version or help flags #7683
    • Add Rotation certification Check, remove func to restart agents #7097
    • E2E: Sudo for RunCmdOnNode #7686
  • Fix spelling check (#7753)
  • Backport version bumps and bugfixes (#7719)
    • The bundled metrics-server has been bumped to v0.6.3, and now uses only secure TLS ciphers by default.
    • The coredns-custom ConfigMap now allows for *.override sections to be included in the .:53 default server block.
    • The K3s core controllers (supervisor, deploy, and helm) no longer use the admin kubeconfig. This makes it easier to determine from access and audit logs which actions are performed by the system, and which are performed by an administrative user.
    • Bumped klipper-lb image to v0.4.4 to resolve an issue that prevented access to ServiceLB ports from localhost when the Service ExternalTrafficPolicy was set to Local.
    • Make LB image configurable when compiling k3s
    • K3s now allows nodes to join the cluster even if the node password secret cannot be created at the time the node joins. The secret create will be retried in the background. This resolves a potential deadlock created by fail-closed validating webhooks that block secret creation, where the webhook is unavailable until new nodes join the cluster to run the webhook pod.
    • The bundled containerd's aufs/devmapper/zfs snapshotter plugins have been restored. These were unintentionally omitted when moving containerd back into the k3s multicall binary in the previous release.
    • The embedded helm controller has been bumped to v0.15.0, and now supports creating the chart's target namespace if it does not exist.
  • Remove unused libvirt config (#7759)
  • Add format command on Makefile (#7764)
  • Update Kubernetes to v1.24.15 (#7785)

Release v1.24.14+k3s1

This release updates Kubernetes to v1.24.14, and fixes a number of issues.

For more details on what's new, see the Kubernetes release notes.

Changes since v1.24.13+k3s1:

  • Add E2E testing in Drone (#7376)
  • Add integration tests for etc-snapshot server flags (#7379)
  • CLI + Config Enhancement (#7407)
    • --Tls-sans now accepts multiple arguments: --tls-sans="foo,bar"
    • Prefer-bundled-bin: true now works properly when set in config.yaml.d files
  • Migrate netutil methods into /utils/net.go (#7435)
  • Bump Runc + Containerd + Docker for CVE fixes (#7453)
  • Bump kube-router version to fix a bug when a port name is used (#7462)
  • Kube flags and longhorn tests 1.24 (#7467)
  • Local-storage: Fix permission (#7472)
  • Backport version bumps and bugfixes (#7516)
    • K3s now retries the cluster join operation when receiving a "too many learners" error from etcd. This most frequently occurred when attempting to add multiple servers at the same time.
    • K3s once again supports aarch64 nodes with page size > 4k
    • The packaged Traefik version has been bumped to v2.9.10 / chart 21.2.0
    • K3s now prints a more meaningful error when attempting to run from a filesystem mounted noexec.
    • K3s now exits with a proper error message when the server token uses a bootstrap token id.secret format.
    • Fixed an issue where Addon, HelmChart, and HelmChartConfig CRDs were created without structural schema, allowing the creation of custom resources of these types with invalid content.
    • Servers started with the (experimental) --disable-agent flag no longer attempt to run the tunnel authorizer agent component.
    • Fixed an regression that prevented the pod and cluster egress-selector modes from working properly.
    • K3s now correctly passes through etcd-args to the temporary etcd that is used to extract cluster bootstrap data when restarting managed etcd nodes.
    • K3s now properly handles errors obtaining the current etcd cluster member list when a new server is joining the managed etcd cluster.
    • The embedded kine version has been bumped to v0.10.1. This replaces the legacy lib/pq postgres driver with pgx.
    • The bundled CNI plugins have been upgraded to v1.2.0-k3s1. The bandwidth and firewall plugins are now included in the bundle.
    • The embedded Helm controller now supports authenticating to chart repositories via credentials stored in a Secret, as well as passing repo CAs via ConfigMap.
  • Bump containerd/runc to v1.7.1-k3s1/v1.1.7 (#7536)
    • The bundled containerd and runc versions have been bumped to v1.7.1-k3s1/v1.1.7
  • Wrap error stating that it is coming from netpol (#7549)
  • Update to v1.24.14-k3s1 (#7577)

Release v1.24.13+k3s1

This release updates Kubernetes to v1.24.13, and fixes a number of issues.

For more details on what's new, see the Kubernetes release notes.

Changes since v1.24.12+k3s1:

  • Enhance check-config (#7165)
  • Remove deprecated nodeSelector label beta.kubernetes.io/os (#6970) (#7122)
  • Backport version bumps and bugfixes (#7229)
    • The bundled local-path-provisioner version has been bumped to v0.0.24
    • The bundled runc version has been bumped to v1.1.5
    • The bundled coredns version has been bumped to v1.10.1
    • When using an external datastore, K3s now locks the bootstrap key while creating initial cluster bootstrap data, preventing a race condition when multiple servers attempted to initialize the cluster simultaneously.
    • The client load-balancer that maintains connections to active server nodes now closes connections to servers when they are removed from the cluster. This ensures that agent components immediately reconnect to a current cluster member.
    • Fixed a race condition during cluster reset that could cause the operation to hang and time out.
  • Updated kube-router to move the default ACCEPT rule at the end of the chain (#7222)
    • The embedded kube-router controller has been updated to fix a regression that caused traffic from pods to be blocked by any default drop/deny rules present on the host. Users should still confirm that any externally-managed firewall rules explicitly allow traffic to/from pod and service networks, but this returns the old behavior that was relied upon by some users.
  • Update klipper lb and helm-controller (#7241)
  • Update Kube-router ACCEPT rule insertion and install script to clean rules before start (#7277)
    • The embedded kube-router controller has been updated to fix a regression that caused traffic from pods to be blocked by any default drop/deny rules present on the host. Users should still confirm that any externally-managed firewall rules explicitly allow traffic to/from pod and service networks, but this returns the old behavior that was relied upon by some users.
  • Update to v1.24.13-k3s1 (#7284)

Release v1.24.12+k3s1

This release updates Kubernetes to v1.24.12, and fixes a number of issues.

For more details on what's new, see the Kubernetes release notes.

Changes since v1.24.11+k3s1:

  • Update flannel and kube-router (#7063)
  • Bump various dependencies for CVEs (#7042)
  • Enable dependabot (#7046)
  • Wait for kubelet port to be ready before setting (#7065)
    • The agent tunnel authorizer now waits for the kubelet to be ready before reading the kubelet port from the node object.
  • Improve support for rotating the default self-signed certs (#7080)
    • The k3s certificate rotate-ca checks now support rotating self-signed certificates without the --force option.
  • Adds a warning about editing to the containerd config.toml file (#7076)
  • Update to v1.24.12-k3s1 (#7105)

Release v1.24.11+k3s1

This release updates Kubernetes to v1.24.11, and fixes a number of issues.

For more details on what's new, see the Kubernetes release notes.

Changes since v1.24.10+k3s1:

  • Add jitter to scheduled snapshots and retry harder on conflicts (#6783)
    • Scheduled etcd snapshots are now offset by a short random delay of up to several seconds. This should prevent multi-server clusters from executing pathological behavior when attempting to simultaneously update the snapshot list ConfigMap. The snapshot controller will also be more persistent in attempting to update the snapshot list.
  • Bump cri-dockerd (#6799)
    • The embedded cri-dockerd has been updated to v0.3.1
  • Bugfix: do not break cert-manager when pprof is enabled (#6838)
  • Bump vagrant boxes to fedora37 (#6859)
  • Fix cronjob example (#6865)
  • Ensure flag type consistency (#6868)
  • Wait for cri-dockerd socket (#6854)
  • Consolidate E2E tests (#6888)
  • Ignore value conflicts when reencrypting secrets (#6918)
  • Allow ServiceLB to honor ExternalTrafficPolicy=Local (#6908)
    • ServiceLB now honors the Service's ExternalTrafficPolicy. When set to Local, the LoadBalancer will only advertise addresses of Nodes with a Pod for the Service, and will not forward traffic to other cluster members.
  • Use default address family when adding kubernetes service address to SAN list (#6905)
    • The apiserver advertised address and IP SAN entry are now set correctly on clusters that use IPv6 as the default IP family.
  • Fix issue with servicelb startup failure when validating webhooks block creation (#6920)
    • The embedded cloud controller manager will no longer attempt to unconditionally re-create its namespace and serviceaccount on startup. This resolves an issue that could cause a deadlocked cluster when fail-closed webhooks are in use.
  • Backport user-provided CA cert and kubeadm bootstrap token support (#6930)
    • K3s now functions properly when the cluster CA certificates are signed by an existing root or intermediate CA. You can find a sample script for generating such certificates before K3s starts in the github repo at contrib/util/certs.sh.
    • K3s now supports kubeadm style join tokens. k3s token create now creates join token secrets, optionally with a limited TTL.
    • K3s agents joined with an expired or deleted token stay in the cluster using existing client certificates via the NodeAuthorization admission plugin, unless their Node object is deleted from the cluster.
  • Fix access to hostNetwork port on NodeIP when egress-selector-mode=agent (#6937)
    • Fixed an issue that would cause the apiserver egress proxy to attempt to use the agent tunnel to connect to service endpoints even in agent or disabled mode.
  • Update flannel to v0.21.1 (#6925)
  • Allow for multiple sets of leader-elected controllers (#6942)
    • Fixed an issue where leader-elected controllers for managed etcd did not run on etcd-only nodes
  • Fix etcd and ca-cert rotate issues (#6955)
  • Fix ServiceLB dual-stack ingress IP listing (#6988)
    • Resolved an issue with ServiceLB that would cause it to advertise node IPv6 addresses, even if the cluster or service was not enabled for dual-stack operation.
  • Bump kine to v0.9.9 (#6976)
    • The embedded kine version has been bumped to v0.9.9. Compaction log messages are now omitted at info level for increased visibility.
  • Update to v1.24.11-k3s1 (#7009)

Release v1.24.10+k3s1

This release updates Kubernetes to v1.24.10+k3s1, and fixes a number of issues.

For more details on what's new, see the Kubernetes release notes.

Changes since v1.24.9+k3s2:

  • Pass through default tls-cipher-suites (#6731)
    • The K3s default cipher suites are now explicitly passed in to kube-apiserver, ensuring that all listeners use these values.
  • Bump containerd to v1.6.15-k3s1 (#6736)
    • The embedded containerd version has been bumped to v1.6.15-k3s1
  • Bump action/download-artifact to v3 (#6748)

Release v1.24.9+k3s2

This release updates containerd to v1.6.14 to resolve an issue where pods would lose their CNI information when containerd was restarted.

Changes since v1.24.9+k3s1:

  • Backport missing E2E test commits (#6616)
  • Bump containerd to v1.6.14-k3s1 (#6695)
    • The embedded containerd version has been bumped to v1.6.14-k3s1. This includes a backported fix for containerd/7843 which caused pods to lose their CNI info when containerd was restarted, which in turn caused the kubelet to recreate the pod.

Release v1.24.9+k3s1

⚠️ WARNING

This release is affected by https://github.com/containerd/containerd/issues/7843, which causes the kubelet to restart all pods whenever K3s is restarted. For this reason, we have removed this K3s release from the channel server. Please use v1.24.9+k3s2 instead.

This release updates Kubernetes to v1.24.9, and fixes a number of issues.

Breaking Change: K3s no longer includes swanctl and charon binaries. If you are using the ipsec flannel backend, please ensure that the strongswan swanctl and charon packages are installed on your node before upgrading K3s to this release.

For more details on what's new, see the Kubernetes release notes.

Changes since v1.24.8+k3s1:

  • Remove stuff which belongs in the windows executor implementation (#6502)
  • Github CI Updates (#6535)
  • Fix log for flannelExternalIP use case (#6540)
  • Switch from Google Buckets to AWS S3 Buckets (#6570)
  • Change secrets-encryption flag to GA (#6591)
  • Update flannel to v0.20.2 (#6589)
  • Backports for 2022-12 (#6599)
    • Added new prefer-bundled-bin flag which force K3s to use its bundle binaries over that of the host tools
    • The embedded containerd version has been updated to v1.6.10-k3s1
    • The rootless port-driver, cidr, mtu, enable-ipv6, and disable-host-loopback settings can now be configured via environment variables.
    • The embedded Load-Balancer controller image has been bumped to klipper-lb:v0.4.0, which includes support for the LoadBalancerSourceRanges field.
    • The embedded Helm controller image has been bumped to klipper-helm:v0.7.4-build20221121
    • The embedded cloud-controller-manager's metrics listener on port 10258 is now disabled when the --disable-cloud-controller flag is set.
    • Deployments for K3s packaged components now have consistent upgrade strategy and revisionHistoryLimit settings, and will not override scaling decisions by hardcoding the replica count.
    • The packaged metrics-server has been bumped to v0.6.2
    • The embedded k3s-root version has been bumped to v0.12.0, based on buildroot 2022.08.1.
    • The embedded swanctl and charon binaries have been removed. If you are using the ipsec flannel backend, please ensure that the strongswan swanctl and charon packages are installed on your node before upgrading k3s.
  • Update node12->node16 based GH actions (#6595)
  • Update to v1.24.9-k3s1 (#6623)
  • Bump containerd to v1.6.12-k3s1 (#6630)
    • The embedded containerd version has been bumped to v1.6.12
  • Preload iptable_filter/ip6table_filter (#6647)

Release v1.24.8+k3s1

This release updates Kubernetes to v1.24.8, and fixes a number of issues.

For more details on what's new, see the Kubernetes release notes.

Changes since v1.24.7+k3s1:

  • Add the gateway parameter in netplan (#6341)
  • Add a netpol test for podSelector & ingress type (#6348)
  • Upgrade kube-router to v1.5.1 (#6356)
  • Bump install tests OS images (#6379)
  • Add test for node-external-ip config parameter (#6363)
  • Update Flannel to v0.20.1 (#6418)
  • Backports for 2022-11
  • The packaged traefik helm chart has been bumped to v19.0.0, enabling ingressclass support by default.
  • The packaged local-path-provisioner has been bumped to v0.0.23
  • The packaged coredns has been bumped to v1.9.4
  • Fix incorrect defer usage
  • The bundled traefik has been updated to v2.9.4 / helm chart v18.3.0
  • Use debugger-friendly compile settings if debug is set
  • Add test for node-external-ip config parameter
  • Convert containerd config.toml.tmpl linux template to v2 syntax
  • Replace fedora-coreos with fedora 36 for install tests
  • Fixed an issue that would prevent the deploy controller from handling manifests that include resource types that are no longer supported by the apiserver.
  • The embedded helm controller has been bumped to v0.13.0
  • The bundled traefik helm chart has been updated to v18.0.0
  • Add hardened cluster and upgrade tests
  • Bump kine to v0.9.6 / sqlite3 v3.39.2 (cve-2022-35737)
  • Bumped dynamiclistener library to v0.3.5 (#6411)
  • Add some helping logs to avoid wrong configs (#6432)
  • Change the priority of address types depending on flannel-external-ip (#6434)
  • log kube-router version when starting netpol controller (#6439)
  • K3s now indicates specifically which cluster-level configuration flags are out of sync when critical configuration differs between server nodes. (#6446)
  • Pull traefik helm chart directly from GH (#6469)
  • Update to v1.24.8 (#6479)
  • The packaged traefik helm chart has been bumped to 19.0.4 (#6495)
  • Move traefik chart repo again (#6509)

Release v1.24.7+k3s1

This release updates Kubernetes to v1.24.7, and fixes a number of issues.

The K3s CIS Hardening Guide has been updated to include configuration changes required to support embedding ServiceLB in the cloud controller manager. If you have followed the hardening guide, please update your policies and RBAC in accordingly.

For more details on what's new, see the Kubernetes release notes.

Changes since v1.24.6+k3s1:

  • Add flannel-external-ip when there is a k3s node-external-ip (#6189)
  • Backports for 2022-10 (#6227)
    • The embedded metrics-server version has been bumped to v0.6.1
    • The ServiceLB (klipper-lb) service controller is now integrated into the K3s stub cloud controller manager.
    • Events recorded to the cluster by embedded controllers are now properly formatted in the service logs.
    • Fixed an issue with the apiserver network proxy that caused kubectl exec to occasionally fail with error dialing backend: EOF
    • Fixed an issue with the apiserver network proxy that caused kubectl exec and kubectl logs to fail when a custom kubelet port was used, and the custom port was blocked by firewall or security group rules.
    • The embedded Traefik version has been bumped to v2.9.1 / chart 12.0.0
  • Replace deprecated ioutil package (#6235)
  • Fix dualStack test (#6250)
  • Update to v1.24.7-k3s1 (#6270)
  • Add ServiceAccount for svclb pods (#6276)
  • Return ProviderID in URI format (#6287)
  • Corrected CCM RBAC to allow for removal of legacy service finalizer during upgrades. (#6307)
  • Added a new --flannel-external-ip flag. (#6322)
    • When enabled, Flannel traffic will now use the nodes external IPs, instead of internal.
    • This is meant for use with distributed clusters that are not all on the same local network.

Release v1.24.6+k3s1

This release updates Kubernetes to v1.24.6, and fixes a number of issues.

For more details on what's new, see the Kubernetes release notes.

Changes since v1.24.4+k3s1:

  • Remove --containerd flag from windows kubelet args (#6028)
  • Mark v1.24.4+k3s1 as stable (#6036)
  • E2E: Add support for CentOS 7 and Rocky 8 (#6015)
  • Convert install tests to run PR build of k3s (#6003)
  • CI: update Fedora 34 -> 35 (#5996)
  • Fix dualStack test and change ipv6 network prefix (#6023)
  • Fix e2e tests (#6018)
  • Update Flannel version to fix older iptables version issue. (#6088)
  • The bundled version of runc has been bumped to v1.1.4 (#6072)
  • The embedded containerd version has been bumped to v1.6.8-k3s1 (#6079)
  • Bulk Backport of Testing Changes (#6085)
  • Add validation check to confirm correct golang version for Kubernetes (#6113)
  • Update to v1.24.5 (#6143)
  • Update to v1.24.6-k3s1 (#6164)

Release v1.24.4+k3s1

This release updates Kubernetes to v1.24.4, and fixes a number of issues.

This release restores use of the --docker flag to the v1.24 branch. See docs/adrs/cri-dockerd.md for more information.

For more details on what's new, see the Kubernetes release notes.

Changes since v1.24.3+k3s1:

  • Put the terraform tests into their own packages and cleanup the test runs (#5861)
  • Bumped rootlesskit to v1.0.1 (#5773)
  • The initial health-check time for the etcd datastore has been raised from 10 to 30 seconds. (#5882)
  • Fixed a regression that caused systemd cgroup driver autoconfiguration to fail on server nodes. (#5851)
  • The embedded network policy controller has been updated to kube-router v1.5.0 (#5789)
  • The configured service CIDR is now passed to the Kubernetes controller-manager via the --service-cluster-ip-range flag. Previously this value was only passed to the apiserver. (#5894)
  • Updated dynamiclistener to fix a regression that prevented certificate renewal from working properly. (#5896)
  • Promote v1.24.3+k3s1 to stable (#5889)
  • ADR: Depreciating and Removing Old Flags (#5890)
  • K3s no longer sets containerd's enable_unprivileged_icmp and enable_unprivileged_ports options on kernels that do not support them. (#5913)
  • The etcd error on incorrect peer urls now correctly includes the expected https and 2380 port. (#5909)
  • When set, the agent-token value is now written to $datadir/server/agent-token, in the same manner as the default (server) token is written to $datadir/server/token (#5906)
  • Deprecated flags now warn of their v1.25 removal (#5937)
  • Fix secrets reencryption for clusters with 8K+ secrets (#5936)
  • Bumped minio-go to v7.0.33. This adds support for IMDSv2 credentials. (#5928)
  • Upgrade GH Actions macos-10.15 to macos-12 (#5953)
  • Added dualstack IP auto detection (#5920)
  • The --docker flag has been restored to k3s, as a shortcut to enabling embedded cri-dockerd (#5916)
  • Update MAINTAINERS with new folks and departures (#5948)
  • Removing checkbox indicating backports (#5947)
  • fix checkError in terraform/testutils (#5893)
  • Add scripts to run e2e test using ansible (#5134)
  • Updated flannel to v0.19.1 (#5962)
  • Update run scripts (#5979)
  • Convert install/cgroup tests to yaml based config (#5992)
  • E2E: Local cluster testing (#5977)
  • Add nightly install github action (#5998)
  • Convert codespell from Drone to GH actions (#6004)
  • Update to v1.24.4 (#6014)

Release v1.24.3+k3s1

This release updates Kubernetes to v1.24.3, and fixes a number of issues.

For more details on what's new, see the Kubernetes release notes.

Changes since v1.24.2+k3s2:

  • Updated rancher/remotedialer to address a potential memory leak. (#5784)
  • The embedded runc binary has been bumped to v1.1.3 (#5783)
  • Fixed a regression that caused some containerd labels to be empty in cadvisor pod metrics (#5812)
  • Replace dapper testing with regular docker (#5805)
  • Promote v1.23.8+k3s2 to stable (#5814)
  • Fixed an issue that would cause etcd restore to fail when restoring a snapshot made with secrets encryption enabled if the --secrets-encryption command was not included in the config file or restore command. (#5817)
  • Fix deletion of svclb DaemonSet when Service is deleted
  • Fixed a regression that caused ServiceLB DaemonSets to remain present after their corresponding Services were deleted. Manual cleanup of orphaned svclb-* DaemonSets from the kube-system namespace may be necessary if any LoadBalancer Services were deleted while running an affected release. (#5824)
  • Address issues with etcd snapshots
  • Scheduled etcd snapshots are now compressed when snapshot compression is enabled.
  • The default etcd snapshot timeout has been raised to 5 minutes. Only one scheduled etcd snapshot will run at a time. If another snapshot would occur while the previous snapshot is still in progress, an error will be logged and the second scheduled snapshot will be skipped.
  • S3 objects for etcd snapshots are now labeled with the correct content-type when compression is not enabled. (#5833)
  • Update to v1.24.3 (#5870)

Release v1.24.2+k3s2

This fixes several issues in the v1.24.2+k3s1 and prior releases.

Changes since v1.24.2+k3s1:

  • Bumped kine to fix an issue where namespaced lists that included a field-selector on metadata.name would fail to return results when using a sql storage backend. (#5795)
  • K3s will no longer log panics after upgrading directly from much older kubernetes releases, or when deploying services with type: externalname. (#5771)
  • Fixed an issue that prevented kubectl logs and other functionality that requires a connection to the agent from working correctly when the server's --bind-address flag was used, or when k3s is used behind a http proxy. (#5780)
  • Fixed an issue that prevented newer versions of k3s from joining clusters that do not have egress-selector-mode support. (#5785)
  • Remove go-powershell dead dependency (#5777)

Release v1.24.2+k3s1

This release updates Kubernetes to v1.24.2, and fixes a number of issues.

For more details on what's new, see the Kubernetes release notes.

Changes since v1.24.1+k3s1:

  • Remove kube-ipvs0 interface when cleaning up (#5644)
  • The --flannel-wireguard-mode switch was added to the k3s cli to configure the wireguard tunnel mode with the wireguard native backend (#5552)
  • Introduce the flannelcniconf flag to set the desired flannel cni configuration (#5656)
  • Integration Test: Startup (#5630)
  • E2E Improvements and groundwork for test-pad tool (#5593)
  • Update SECURITY.md (#5607)
  • Introduce --enable-pprof flag to optionally run pprof server (#5527)
  • E2E: Dualstack test (#5617)
  • Pods created by ServiceLB are now all placed in the kube-system namespace, instead of in the same namespace as the Service. This allows for enforcing Pod Security Standards in user namespaces without breaking ServiceLB. (#5657)
  • E2E: testpad prep, add alternate scripts location (#5692)
  • Add arm tests and upgrade tests (#5526)
  • Delay service readiness until after startuphooks have finished (#5649)
  • Disable urfave markdown/man docs generation (#5566)
  • The embedded etcd snapshot controller will no longer fail to process snapshot files containing characters that are invalid for use in ConfigMap keys. (#5702)
  • Environment variables prefixed with CONTAINERD_ now take priority over other existing variables, when passed through to containerd. (#5706)
  • The embedded etcd instance no longer accepts connections from other nodes while resetting or restoring. (#5542)
  • Enable compatibility tests for k3s s390x (#5658)
  • Containerd: Enable enable_unprivileged_ports and enable_unprivileged_… (#5538)
  • The embedded Helm controller now properly updates Chart deployments when HelmChartConfig resources are updated or deleted. (#5731)
  • Update to v1.24.2 (#5749)

Release v1.24.1+k3s1

This release updates Kubernetes to v1.24.1, and fixes a number of issues.

For more details on what's new, see the Kubernetes release notes.

Changes since v1.24.0+k3s1:

  • Objects will be removed from Kubernetes when they are removed from manifest files. (#5560)
  • Remove errant unversioned etcd go.mod entry (#5548)
  • Pass the node-ip values to kubelet (#5579)
  • The integrated apiserver network proxy's operational mode can now be set with --egress-selector-mode. (#5577)
  • remove dweomer from maintainers (#5582)
  • Bump dynamiclistener to v0.3.3 (#5554)
  • Update to v1.24.1-k3s1 (#5616)
  • Re-add --cloud-provider=external kubelet arg (#5628)
  • Revert "Give kubelet the node-ip value (#5579)" (#5636)