Skip to content

Releases: hetznercloud/hcloud-cloud-controller-manager

v1.21.0

26 Nov 10:26
2316769
Compare
Choose a tag to compare

Feature Highlights & Upgrade Notes

Load Balancer IPs set to Private IPs

If networking support is enabled, the load balancer IPs are now populated with the private IPs, unless the load-balancer.hetzner.cloud/disable-private-ingress annotation is set to true. Please make sure that you configured the annotation according to your needs, for example if you are using external-dns.

Provided-By Label

We introduced a the label instance.hetzner.cloud/provided-by, which will be automatically added to all new nodes. This label can have the values cloud or robot to distinguish between our products. We use this label in the csi-driver to ensure the daemonset is only running on cloud nodes. We recommend to add this label to your existing nodes with the appropriate value.

  • kubectl label node $CLOUD_NODE_NAME instance.hetzner.cloud/provided-by=cloud
  • kubectl label node $ROBOT_NODE_NAME instance.hetzner.cloud/provided-by=robot

Load Balancer IPMode Proxy

Kubernetes KEP-1860 added a new field to the Load Balancer Service Status that allows us to mark if the IP address we add should be considered as a Proxy (always send traffic here) and VIP (allow optimization by keeping the traffic in the cluster).

Previously Kubernetes considered all IPs as VIP, which caused issues when when the PROXY protocol was in use. We have previously recommended to use the annotation load-balancer.hetzner.cloud/hostname to workaround this problem.

We now set the new field to Proxy if the PROXY protocol is active so the issue should no longer appear. If you only added the load-balancer.hetzner.cloud/hostname annotation for this problem, you can remove it after upgrading.

Further information:

Features

  • service: Specify private ip for loadbalancer (#724)
  • add support & tests for Kubernetes 1.31 (#747)
  • helm: allow setting extra pod volumes via chart values (#744)
  • instance: add label to distinguish servers from Cloud and Robot (#764)
  • emit event when robot server name and node name mismatch (#773)
  • load-balancer: Set IPMode to "Proxy" if load balancer is configured to use proxy protocol (#727) (#783)
  • routes: emit warning if cluster cidr is misconfigured (#793)
  • load-balancer: ignore nodes that don't use known provider IDs (#780)
  • drop tests for kubernetes v1.27 and v1.28

Bug Fixes

  • populate ingress private ip when disable-private-ingress is false (#715)
  • wrong version logged on startup (#729)
  • invalid characters in label instance-type of robot servers (#770)
  • no events are emitted as broadcaster has no sink configured (#774)

Kubernetes Support

This version was tested with Kubernetes 1.29 - 1.31. Furthermore, we dropped v1.27 and v1.28 support.

v1.20.0

08 Jul 10:32
dfef366
Compare
Choose a tag to compare

1.20.0 (2024-07-08)

Features

  • add support & tests for Kubernetes 1.29 (#600) (e8fabda)
  • add support & tests for Kubernetes 1.30 (#679) (0748b6e)
  • drop tests for kubernetes v1.25 (#597) (58261ec)
  • drop tests for kubernetes v1.26 (#680) (9c4be01)
  • emit Kubernetes events for error conditions (#598) (e8f9199)
  • helm,manifests: only specify container args instead of command (#691) (2ba4058)
  • helm: allow setting affinity for deployment (#686) (1a8ea95)
  • read HCLOUD_TOKEN from file (#652) (a4343b8)

Bug Fixes

  • routes: many requests for outdated routes by rate limiting (#675) (e283b7d)

v1.19.0

07 Dec 14:44
4fc5527
Compare
Choose a tag to compare

1.19.0 (2023-12-07)

Features

  • chart: add daemonset and node selector (#537) (a94384f)
  • config: stricter validation for settings HCLOUD_LOAD_BALANCERS_ENABLED, HCLOUD_METRICS_ENABLED & HCLOUD_NETWORK_ROUTES_ENABLED (#546) (335a2c9)
  • helm: remove "v" prefix from chart version (#565) (f11aa0d), closes #529
  • load-balancer: handle planned targets exceedings max targets (#570) (8bb131f)
  • remove unused variable NODE_NAME (#545) (a659408)
  • robot: handle ratelimiting with constant backoff (#572) (2ddc201)
  • support for Robot servers (#561) (65dea11)

v1.19.0-rc.0

01 Dec 11:39
ff24e7b
Compare
Choose a tag to compare
v1.19.0-rc.0 Pre-release
Pre-release

1.19.0-rc.0 (2023-12-01)

Features

  • chart: add daemonset and node selector (#537) (a94384f)
  • config: stricter validation for settings HCLOUD_LOAD_BALANCERS_ENABLED, HCLOUD_METRICS_ENABLED & HCLOUD_NETWORK_ROUTES_ENABLED (#546) (335a2c9)
  • helm: remove "v" prefix from chart version (#565) (f11aa0d), closes #529
  • load-balancer: handle planned targets exceedings max targets (#570) (8bb131f)
  • remove unused variable NODE_NAME (#545) (a659408)
  • robot: handle ratelimiting with constant backoff (#572) (2ddc201)
  • support for Robot servers (#561) (65dea11)

v1.18.0

18 Sep 11:58
9e2926c
Compare
Choose a tag to compare

1.18.0 (2023-09-18)

Features

  • build with Go 1.21 (#516) (7bf7e71)
  • chart: configure additional tolerations (#518) (0d25cb6), closes #512
  • chart: support running multiple replicas with leader election (4b18ee5)
  • load-balancer: Add new node-selector annotation (#514) (db2e6dc)
  • test against kubernetes v1.28 and drop v1.24 (#500) (3adf781)

v1.17.2

18 Aug 11:11
34fb818
Compare
Choose a tag to compare

1.17.2 (2023-08-18)

Bug Fixes

  • deploy: do not bind webhook port 10260 (#495) (52c5f38)

v1.17.1

19 Jul 10:18
7258f4a
Compare
Choose a tag to compare

1.17.1 (2023-07-19)

Bug Fixes

  • deploy: make last resource name configurable (#477) (79ee405)
  • deploy: manifests have wrong namespace "default" (#476) (d800781), closes #475

v1.17.0

18 Jul 14:03
d048de2
Compare
Choose a tag to compare

1.17.0 (2023-07-18)

Features

Bug Fixes

  • helm-chart: resource namespace and name (#462) (0c4eee6)
  • routes: deleting wrong routes when other server has same private IP (#472) (5461038), closes #470

v1.16.0

16 Jun 14:18
185a5c0
Compare
Choose a tag to compare

1.16.0 (2023-06-16)

Features

  • helm: allow to manually set network name or ID (#458) (8410277)

Bug Fixes

  • ci: qemu binfmt wrappers during release (#421) (84a7541)
  • routes: Only delete routes in the Cluster CIDR (#432) (c35d292)

Continuous Integration

v1.15.0

12 Apr 08:07
Compare
Choose a tag to compare

Affordable, sustainable & powerful! 🚀You can now get one of our Arm64 CAX servers to optimize your operations while minimizing your costs!
Discover Ampere’s efficient and robust Arm64 architecture and be ready to get blown away with its performance. 😎

Learn more: https://www.hetzner.com/news/arm64-cloud

What's Changed

  • fix(deps): update kubernetes packages to v0.26.3 by @renovate in #404
  • chore(deps): update golangci/golangci-lint docker tag to v1.52.0 by @renovate in #405
  • feat(helm): env var config by @samcday in #406
  • chore(chart): basic README by @samcday in #407
  • fix(chart): README typo by @samcday in #409
  • chore(deps): update golangci/golangci-lint docker tag to v1.52.1 by @renovate in #410
  • chore(deps): update actions/stale action to v8 by @renovate in #411
  • chore(deps): update golangci/golangci-lint docker tag to v1.52.2 by @renovate in #413
  • refactor: Update & Fix golangci-lint by @apricote in #408
  • feat: new dev/test environment by @samcday in #414
  • fix(ci): run e2e tests on main by @samcday in #416
  • feat(goreleaser): produce OCI manifest images by @samcday in #417
  • feat: publish ARM container images by @apricote in #420

Full Changelog: v1.14.2...v1.15.0