Skip to content

Commit f5345d1

Browse files
authored
chore(main): release v1.27.0 (#983)
### Attach Load Balancer to a Subnet If your CCM is configured for a Private Network, Load Balancers can now join one of its subnets. To place a Load Balancer in a specific subnet, use the new `load-balancer.hetzner.cloud/private-subnet-ip-range` annotation. Learn more about this feature [here](./docs/guides/load-balancer/private-networks.md). ### Watch-Based Route Reconciliation (Experimental) Currently, route reconciliation is performed at a fixed interval of 30s. This leads to unnecessary API requests, as a `GET /v1/networks/{id}` call is triggered every 30s, even when no changes have occurred. Upstream we have proposed an event-driven approach, similar to the mechanism used by other controllers such as the Load Balancer Controller. With this new approach, route reconciliation is triggered on node additions, node deletions, or when the `PodCIDRs` or `Addresses` of nodes change. Additionally, to ensure consistency, reconciliation will still occur periodically at a randomized interval between 12 and 24 hours. We are close to merging a [Kubernetes Enhancement Proposal (KEP)](kubernetes/enhancements#5289). Furthermore, a pull request containing the implementation is already open in the Kubernetes repository. #### Forked Upstream Libraries In this release, we replaced the upstream `controller-manager` and `cloud-provider` libraries with our own forks. These forks are based on the upstream `v0.34.1` release (aligned with Kubernetes v1.34.1) and include our patches on top. #### Enabling the Feature This feature is **disabled by default** and will not affect existing deployments unless explicitly enabled. We recommend testing it in a non-production environment before considering use in production. As the KEP has not yet been reviewed for production readiness, the feature gate name may change in an upcoming release. Since this feature is marked as experimental, such changes will not be considered breaking. To enable the feature, set the following Helm value: `args.feature-gates=CloudControllerManagerWatchBasedRoutesReconciliation=true`
1 parent 8026a38 commit f5345d1

File tree

6 files changed

+44
-5
lines changed

6 files changed

+44
-5
lines changed

CHANGELOG.md

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

3+
## [v1.27.0](https://github.com/hetznercloud/hcloud-cloud-controller-manager/releases/tag/v1.27.0)
4+
5+
### Attach Load Balancer to a Subnet
6+
7+
If your CCM is configured for a Private Network, Load Balancers can now join one of its subnets. To place a Load Balancer in a specific subnet, use the new `load-balancer.hetzner.cloud/private-subnet-ip-range` annotation. Learn more about this feature [here](./docs/guides/load-balancer/private-networks.md).
8+
9+
### Watch-Based Route Reconciliation (Experimental)
10+
11+
Currently, route reconciliation is performed at a fixed interval of 30s. This leads to unnecessary API requests, as a `GET /v1/networks/{id}` call is triggered every 30s, even when no changes have occurred.
12+
13+
Upstream we have proposed an event-driven approach, similar to the mechanism used by other controllers such as the Load Balancer Controller. With this new approach, route reconciliation is triggered on node additions, node deletions, or when the `PodCIDRs` or `Addresses` of nodes change. Additionally, to ensure consistency, reconciliation will still occur periodically at a randomized interval between 12 and 24 hours.
14+
15+
We are close to merging a [Kubernetes Enhancement Proposal (KEP)](https://github.com/kubernetes/enhancements/pull/5289). Furthermore, a pull request containing the implementation is already open in the Kubernetes repository.
16+
17+
#### Forked Upstream Libraries
18+
19+
In this release, we replaced the upstream `controller-manager` and `cloud-provider` libraries with our own forks. These forks are based on the upstream `v0.34.1` release (aligned with Kubernetes v1.34.1) and include our patches on top.
20+
21+
#### Enabling the Feature
22+
23+
This feature is **disabled by default** and will not affect existing deployments unless explicitly enabled. We recommend testing it in a non-production environment before considering use in production.
24+
25+
As the KEP has not yet been reviewed for production readiness, the feature gate name may change in an upcoming release. Since this feature is marked as experimental, such changes will not be considered breaking.
26+
27+
To enable the feature, set the following Helm value:
28+
29+
`args.feature-gates=CloudControllerManagerWatchBasedRoutesReconciliation=true`
30+
31+
### Features
32+
33+
- watch-based route reconciliation (#970)
34+
- set dns config via helm chart values (#1027)
35+
- support Kubernetes v1.34 and drop v1.30 (#1037)
36+
- **load-balancer**: attach load balancer to specific subnetwork (#1031)
37+
38+
### Bug Fixes
39+
40+
- feature gate cannot be enabled (#980)
41+
342
## [v1.27.0-alpha.1](https://github.com/hetznercloud/hcloud-cloud-controller-manager/releases/tag/v1.27.0-alpha.1)
443

544
This release introduces an experimental feature to address #395.

chart/.snapshots/default.yaml

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

chart/.snapshots/full.daemonset.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ spec:
9595
key: robot-user
9696
name: hcloud
9797
optional: true
98-
image: docker.io/hetznercloud/hcloud-cloud-controller-manager:v1.27.0-alpha.1 # x-releaser-pleaser-version
98+
image: docker.io/hetznercloud/hcloud-cloud-controller-manager:v1.27.0 # x-releaser-pleaser-version
9999
ports:
100100
- name: metrics
101101
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.27.0-alpha.1 # x-releaser-pleaser-version
4+
version: 1.27.0 # x-releaser-pleaser-version

deploy/ccm-networks.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ spec:
9292
secretKeyRef:
9393
key: network
9494
name: hcloud
95-
image: docker.io/hetznercloud/hcloud-cloud-controller-manager:v1.27.0-alpha.1 # x-releaser-pleaser-version
95+
image: docker.io/hetznercloud/hcloud-cloud-controller-manager:v1.27.0 # x-releaser-pleaser-version
9696
ports:
9797
- name: metrics
9898
containerPort: 8233

deploy/ccm.yaml

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

0 commit comments

Comments
 (0)