Skip to content

Commit 73e6c20

Browse files
lukasmetznerelmikolmktfygraz-devSerenity611
authored
feat(blog): feature blog for watch based routes reconciliation (#52973)
* feat(blog): feature blog for watch based routes reconciliation Co-authored-by: Michael McCune <msm@opbstudios.com> Co-authored-by: Tim Bannister <193443691+lmktfy@users.noreply.github.com> Co-authored-by: Graziano Casto <graziano.casto@outlook.com> * docs: spelling and punctuation correction Co-authored-by: Susan Sica <90214772+Serenity611@users.noreply.github.com> * docs: apply review suggestions Co-authored-by: Graziano Casto <graziano.casto@outlook.com> --------- Co-authored-by: Michael McCune <msm@opbstudios.com> Co-authored-by: Tim Bannister <193443691+lmktfy@users.noreply.github.com> Co-authored-by: Graziano Casto <graziano.casto@outlook.com> Co-authored-by: Susan Sica <90214772+Serenity611@users.noreply.github.com>
1 parent c09dbe8 commit 73e6c20

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
---
2+
layout: blog
3+
title: "Kubernetes v1.35: Watch Based Route Reconciliation in the Cloud Controller Manager"
4+
date: 2025-10-27T08:30:00-07:00
5+
draft: true
6+
slug: watch-based-route-reconciliation-in-ccm
7+
author: >
8+
[Lukas Metzner](https://github.com/lukasmetzner) (Hetzner)
9+
---
10+
11+
Up to and including Kubernetes v1.34, the route controller in Cloud Controller Manager (CCM)
12+
implementations built using the [k8s.io/cloud-provider](https://github.com/kubernetes/cloud-provider) library reconciles
13+
routes at a fixed interval. This causes unnecessary API requests to the cloud provider when
14+
there are no changes to routes. Other controllers implemented through the same library already
15+
use watch-based mechanisms, leveraging informers to avoid unnecessary API calls. A new feature gate
16+
is being introduced in v1.35 to allow changing the behavior of the route controller to use watch-based informers.
17+
18+
## What's new?
19+
20+
The feature gate `CloudControllerManagerWatchBasedRoutesReconciliation` has been
21+
introduced to [k8s.io/cloud-provider](https://github.com/kubernetes/cloud-provider) in alpha stage by [SIG Cloud Provider](https://github.com/kubernetes/community/blob/master/sig-cloud-provider/README.md).
22+
To enable this feature you can use `--feature-gate=CloudControllerManagerWatchBasedRoutesReconciliation=true`
23+
in the CCM implementation you are using.
24+
25+
## About the feature gate
26+
27+
This feature gate will trigger the route reconciliation loop whenever a node is
28+
added, deleted, or the fields `.spec.podCIDRs` or `.status.addresses` are updated.
29+
30+
An additional reconcile is performed in a random interval between 12h and 24h,
31+
which is chosen at the controller's start time.
32+
33+
This feature gate does not modify the logic within the reconciliation loop.
34+
Therefore, users of a CCM implementation should not experience significant
35+
changes to their existing route configurations.
36+
37+
## How can I learn more?
38+
39+
For more details, refer to the [KEP-5237](https://kep.k8s.io/5237).

0 commit comments

Comments
 (0)