Releases: vitobotta/hetzner-k3s
Releases · vitobotta/hetzner-k3s
v2.4.5
Fixes
- Fixed an issue in the GitHub Actions workflow that caused the binary for Intel-based Macs to be incorrectly built for ARM architecture instead of x86.
If hetzner-k3s is useful to you or your company, please consider sponsoring its development.
Sponsorship helps ensure continued maintenance and new features. Thank you to our current sponsors! 🙏
v2.4.4
Improvements
- We no longer wait for a whole hour when the Hetzner API rate limit is reached, but only the amount of time actually necessary
- Added proper retry mechanism for possible network errors and similar when calling the Hetzner API
- Improved timeout handling when calling the Hetzner API
- Improved handling of concurrency when creating and setting up nodes
- Improved and simplified setup of custom iptables firewall used for large clusters where the Hetzner firwall is not sufficient and thus is not used
- When the custom firewall logic is updated, now we can apply the necessary configuration changes to existing clusters' nodes by rerunning the
createcommand - The
createcommand when run on an existing cluster will now update the lists of allowed networks automatically, without requiring manual updating - Various improvements to the codebase
Fixes
- Fix macOS CI by upgrading image from macos-13 → macos-14 - by @artem-zinnatullin
v2.4.3
New
- Added CI Workflow to build code on PRs. This allows contributors to get their code compiled on their PRs. - by @artem-zinnatullin
Fixes
- Added pagination support for the Server Types API. This change fixes a problem that was stopping people from creating nodes with the new instance types that Hetzner recently introduced. - by @artem-zinnatullin
Improvements
- Moved settings for the manifest URLs, cluster autoscaler, embedded registry mirror and local path storage class to the relevant addon sections in the configuration file. - by @KaulSe
Other updates
- Upgraded default Hetzner CSI driver version to v2.18.3
- Upgraded default Hetzner Cloud Controller Manager version to v1.28.0
- Upgraded default Cluster Autoscaler version to v1.34.2
- Upgraded default System Upgrade Controller version to v0.18.0
Upgrading
- If you have specified some custom manifest URLs in the
manifestssection of the configuration file, you need to move each of them to the relevant addon section:manifests.cloud_controller_manager_manifest_url->addons.cloud_controller_manager.manifest_urlmanifests.csi_driver_manifest_url->addons.csi_driver.manifest_urlmanifests.system_upgrade_controller_deployment_manifest_url->addons.system_upgrade_controller.deployment_manifest_urlmanifests.system_upgrade_controller_crd_manifest_url->addons.system_upgrade_controller.crd_manifest_urlmanifests.cluster_autoscaler_manifest_url->addons.cluster_autoscaler.manifest_urlmanifests.cluster_autoscaler_container_image_tag->addons.cluster_autoscaler.container_image_tag
- The
cluster_autoscalersection has been moved from the root of the config file toaddons.cluster_autoscaler. E.g.cluster_autoscaler.scan_intervalis nowaddons.cluster_autoscaler.scan_interval, and so on.
- The
embedded_registry_mirrorsection has been moved from the root of the configuration file toaddons. E.g.embedded_registry_mirror.enabledis nowaddons.embedded_registry_mirror.enabled
- The
local_path_storage_classsection has been moved from the root of the config file toaddons. E.g.local_path_storage_class.enabledis nowaddons.local_path_storage_class.enabled
- If you haven't specified the manifest URL for the Hetzner Cloud Controller Manager, you need to follow the instructions in this page to finalize the upgrade of CCM to v1.28.0. In particular, you'll need to delete an old
ClusterRoleBindingthat is no longer needed with the new CCM version.
v2.4.2
Fixes
- Added pagination support for the Server Types API. This change fixes a problem that was stopping people from creating nodes with the new instance types that Hetzner recently introduced. - by @artem-zinnatullin
v2.4.1
New
- It's now possible to configure custom firewall rules when using the Hetzner firewall. By KaulSe
Fixes
- Create a temp file for the default Cilium Helm values file if no custom file is given. Before this change, we used stdin instead of a regular file - but that did not work correctly on some platforms. By clouedoc
v2.4.0
Fixes
- Fixed a validation that required that all workers stay in the same network zone as the masters, even when the private network is turned off.
- Fixed a validation that required that all masters stay in the same network zone even when using an external datastore for the Kubernetes control plane
Improvements
- Fewer k3s server restarts when running the
createcommand again after replacing one master.
v2.3.9
Fixes
- Fixed a problem with labels and taints - it was caused by slashes in their names being escaped twice.
- Fixed a problem that might have stopped master1 from being replaced in highly available control planes.
Improvements
- Added a check to make sure the SSH key in the config file stays the same as the one already in Hetzner- if they do not match, it can cause issues when nodes use different keys.
Miscellaneous
- Defaulted Hetzner CSI driver to version v2.17.0
v2.3.8
New
- It is now possible to toggle on/off the installation of
- Hetzner Cloud Controller manager
- Hetzner CSI driver
- Traefik ingress controller
- ServiceLB
- metrics-server
See the addons section in the configuration example in this page. - by KaulSe
Improvements
- The k3s token is now cached for the whole create command process - this helps speed up some steps. Before this update, it was fetched from the masters several times, which made the process a little slower.
v2.3.7
Improvements
- We now stop early when running the
createcommand to update the config on an existing cluster with a highly available control plane - if setting up the first master fails. This helps protect the other masters that may still be working fine from breaking changes.