Skip to content

Commit 2316769

Browse files
authored
chore(main): release v1.21.0 (#806)
<!-- section-start changelog --> ### Feature Highlights &amp; 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: - kubernetes/enhancements#1860 - #160 (comment) ### Features - **service**: Specify private ip for loadbalancer (#724) - add support &amp; 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 &#34;Proxy&#34; 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&#39;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. <!-- section-end changelog --> --- <details> <summary><h4>PR by <a href="https://github.com/apricote/releaser-pleaser">releaser-pleaser</a> 🤖</h4></summary> If you want to modify the proposed release, add you overrides here. You can learn more about the options in the docs. ## Release Notes ### Prefix / Start This will be added to the start of the release notes. ```rp-prefix ### 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: - kubernetes/enhancements#1860 - #160 (comment) ``` ### Suffix / End This will be added to the end of the release notes. ```rp-suffix ### Kubernetes Support This version was tested with Kubernetes 1.29 - 1.31. Furthermore, we dropped v1.27 and v1.28 support. ``` </details> Co-authored-by: releaser-pleaser <>
1 parent 0764db5 commit 2316769

File tree

6 files changed

+56
-5
lines changed

6 files changed

+56
-5
lines changed

CHANGELOG.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,56 @@
11
# Changelog
22

3+
## [v1.21.0](https://github.com/hetznercloud/hcloud-cloud-controller-manager/releases/tag/v1.21.0)
4+
5+
### Feature Highlights &amp; Upgrade Notes
6+
7+
#### Load Balancer IPs set to Private IPs
8+
9+
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`.
10+
11+
#### Provided-By Label
12+
13+
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.
14+
15+
- `kubectl label node $CLOUD_NODE_NAME instance.hetzner.cloud/provided-by=cloud`
16+
- `kubectl label node $ROBOT_NODE_NAME instance.hetzner.cloud/provided-by=robot`
17+
18+
#### Load Balancer IPMode Proxy
19+
20+
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).
21+
22+
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.
23+
24+
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.
25+
26+
Further information:
27+
28+
- https://github.com/kubernetes/enhancements/issues/1860
29+
- https://github.com/hetznercloud/hcloud-cloud-controller-manager/issues/160#issuecomment-788638132
30+
31+
### Features
32+
33+
- **service**: Specify private ip for loadbalancer (#724)
34+
- add support &amp; tests for Kubernetes 1.31 (#747)
35+
- **helm**: allow setting extra pod volumes via chart values (#744)
36+
- **instance**: add label to distinguish servers from Cloud and Robot (#764)
37+
- emit event when robot server name and node name mismatch (#773)
38+
- **load-balancer**: Set IPMode to &#34;Proxy&#34; if load balancer is configured to use proxy protocol (#727) (#783)
39+
- **routes**: emit warning if cluster cidr is misconfigured (#793)
40+
- **load-balancer**: ignore nodes that don&#39;t use known provider IDs (#780)
41+
- drop tests for kubernetes v1.27 and v1.28
42+
43+
### Bug Fixes
44+
45+
- populate ingress private ip when disable-private-ingress is false (#715)
46+
- wrong version logged on startup (#729)
47+
- invalid characters in label instance-type of robot servers (#770)
48+
- no events are emitted as broadcaster has no sink configured (#774)
49+
50+
### Kubernetes Support
51+
52+
This version was tested with Kubernetes 1.29 - 1.31. Furthermore, we dropped v1.27 and v1.28 support.
53+
354
## [1.20.0](https://github.com/hetznercloud/hcloud-cloud-controller-manager/compare/v1.19.0...v1.20.0) (2024-07-08)
455

556

chart/.snapshots/default.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ spec:
8585
key: robot-user
8686
name: hcloud
8787
optional: true
88-
image: docker.io/hetznercloud/hcloud-cloud-controller-manager:v1.20.0 # x-releaser-pleaser-version
88+
image: docker.io/hetznercloud/hcloud-cloud-controller-manager:v1.21.0 # x-releaser-pleaser-version
8989
ports:
9090
- name: metrics
9191
containerPort: 8233

chart/.snapshots/full.daemonset.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ spec:
9494
key: robot-user
9595
name: hcloud
9696
optional: true
97-
image: docker.io/hetznercloud/hcloud-cloud-controller-manager:v1.20.0 # x-releaser-pleaser-version
97+
image: docker.io/hetznercloud/hcloud-cloud-controller-manager:v1.21.0 # x-releaser-pleaser-version
9898
ports:
9999
- name: metrics
100100
containerPort: 8233

chart/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
apiVersion: v2
22
name: hcloud-cloud-controller-manager
33
type: application
4-
version: 1.20.0 # x-releaser-pleaser-version
4+
version: 1.21.0 # x-releaser-pleaser-version

deploy/ccm-networks.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ spec:
9191
secretKeyRef:
9292
key: network
9393
name: hcloud
94-
image: docker.io/hetznercloud/hcloud-cloud-controller-manager:v1.20.0 # x-releaser-pleaser-version
94+
image: docker.io/hetznercloud/hcloud-cloud-controller-manager:v1.21.0 # x-releaser-pleaser-version
9595
ports:
9696
- name: metrics
9797
containerPort: 8233

deploy/ccm.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ spec:
8383
key: robot-user
8484
name: hcloud
8585
optional: true
86-
image: docker.io/hetznercloud/hcloud-cloud-controller-manager:v1.20.0 # x-releaser-pleaser-version
86+
image: docker.io/hetznercloud/hcloud-cloud-controller-manager:v1.21.0 # x-releaser-pleaser-version
8787
ports:
8888
- name: metrics
8989
containerPort: 8233

0 commit comments

Comments
 (0)