Skip to content

CCM: watch-based route controller reconciliation using informers #5237

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
4 tasks
lukasmetzner opened this issue Apr 10, 2025 · 6 comments
Open
4 tasks

CCM: watch-based route controller reconciliation using informers #5237

lukasmetzner opened this issue Apr 10, 2025 · 6 comments
Labels
sig/cloud-provider Categorizes an issue or PR as relevant to SIG Cloud Provider.

Comments

@lukasmetzner
Copy link

lukasmetzner commented Apr 10, 2025

Enhancement Description

The cloud-controller-manager includes several controllers, one of which is the routes controller. Currently, this controller reconciles cloud routes at a fixed interval (default: 10 seconds), resulting in unnecessary API calls to cloud providers.

In contrast, other controllers like the service and node controllers have already adopted a more efficient watch-based approach using informers.

This enhancement proposes introducing a new feature gate in the cloud-controller-manager to enable an informer-based reconciliation mechanism for the routes controller, reducing redundant API traffic and improving efficiency.

  • One-line enhancement description (can be used as a release note): Introduce watch-based reconciliation in the cloud-controller-managers route controller
  • Kubernetes Enhancement Proposal: TBD
  • Discussion Link: meeting notes
  • Primary contact (assignee): @lukasmetzner @apricote
  • Responsible SIGs: cloud-provider
  • Enhancement target (which target equals to which milestone):
    • Alpha release target (x.y): 1.34
    • Beta release target (x.y): 1.35
    • Stable release target (x.y): 1.36
  • Alpha
@k8s-ci-robot k8s-ci-robot added the needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. label Apr 10, 2025
@lukasmetzner
Copy link
Author

/sig cloud-provider

@k8s-ci-robot k8s-ci-robot added sig/cloud-provider Categorizes an issue or PR as relevant to SIG Cloud Provider. and removed needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. labels Apr 10, 2025
@lukasmetzner lukasmetzner changed the title CCM: event-based route controller reconciliation using informers CCM: watch-based route controller reconciliation using informers Apr 10, 2025
@aojea
Copy link
Member

aojea commented Apr 10, 2025

I personally do not think we need a KEP for this, we have made this sort of changes on the past in this area and is how we implement all of our controllers, so this is more about cleaning tech debt.

I'm happy to help with the review since the change seems relatively simple, but I leave the final decision to cloud provider leads @cheftako @elmiko WDYT?

@lukasmetzner
Copy link
Author

lukasmetzner commented Apr 10, 2025

I have brought this to the sig/cloud-provider meeting and the decision was to create a KEP. The meeting is unfortunetly not yet uploaded, so I have added a link to the meeting notes for now.

Not everyone was present in the meeting, maybe we want to discuss this here?

It is my first contribution, so I am unopinionated if this should have a KEP ^^

@elmiko
Copy link
Contributor

elmiko commented Apr 16, 2025

apologies on the late upload for the meeting, it should be available now.

i was not at the meeting in question, but given the scope of this change and what @aojea is saying, i tend to agree that we probably don't need a new KEP for this work.

i would like to see us document the change in the cloud-provider repo somewhere, but we can leave that up to the review process.

@aojea
Copy link
Member

aojea commented Apr 16, 2025

i was not at the meeting in question, but given the scope of this change and what @aojea is saying, i tend to agree that we probably don't need a new KEP for this work.

@elmiko my apologies, I was checking the PR and what it seemed a simpler change at first time can have some edges that makes a mini-KEP and a feature gate to rollout safely the change required ... it is not a complex change, but since this is revendored in the cloud providers is better to be safe than sorry

@elmiko
Copy link
Contributor

elmiko commented Apr 16, 2025

no worries @aojea , and thank you for double checking. my main goal is to make sure that we fully document this so that users do not experience those edge cases. i tend to default towards making a KEP since that it usually a nice place to document.

i did check the other KEPs in the sig cloud-provider directory and i don't think updating any of those would be sufficient.

so, if we are in agreement, then perhaps @lukasmetzner should continue with the KEP?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
sig/cloud-provider Categorizes an issue or PR as relevant to SIG Cloud Provider.
Projects
None yet
Development

No branches or pull requests

4 participants