Releases: hetznercloud/hcloud-cloud-controller-manager
v1.25.1-rc.0
Bug Fixes
- binaries are missing in the release (#930)
v1.25.1
v1.25.0
v1.24.0
Improved Robot Support in hcloud-cloud-controller-manager
The hcloud-cloud-controller-manager now forwards InternalIPs
by default on Robot nodes when the --node-ip
flag is used. If the provided IP is not already registered as an ExternalIP
and matches the expected address family, it will be forwarded automatically during initialization.
This allows the use of vSwitch IPs in private networks and Load Balancers.
🔗 Learn more in our updated Robot documentation
📘 Follow our how-to-guide to set up Load Balancers with vSwitch IPs.
Features
- robot: forward InternalIPs by default on Robot nodes (#865)
- load-balancer: enable use-private-ip annotation for Robot servers (#898)
Bug Fixes
- load-balancer: don't print entire node object when adding robot target (#904)
v1.23.0
v1.22.0
This release includes an extension of our current metrics to also include the internals of k8s.io/cloud-provider
with respect to the work queue depth and requests to the Kubernetes API.
Besides having all data available, this will also help us with debugging #661.
Features
v1.21.0
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
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
v1.19.0
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
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)