kubernetes-sigs / kubernetes-sigs/cluster-api
Feature: ReconcilerRateLimiting
- Dominant language
- Go
- Stars
- 4.3k
- Forks
- 1.6k
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 113
Description
* One-line description: Enables reconciler rate-limiting (currently 1 request / 1 second)
* Feature gate state:
* [x] Alpha (disabled per default): v1.12
* [x] Beta (enabled per default): v1.13
* [ ] Stable (feature gate removed): TBD
* PRs:
* [x] https://github.com/kubernetes-sigs/cluster-api/pull/13006
* [x] https://github.com/kubernetes-sigs/cluster-api/pull/13040
* [x] https://github.com/kubernetes-sigs/cluster-api/pull/13373
* [ ] https://github.com/kubernetes-sigs/cluster-api/pull/13416
* Next steps:
* [x] Export capicontrollerutil so it can be used in providers: https://github.com/kubernetes-sigs/cluster-api/pull/13363
* [ ] Check if we can de-duplicate requeue logic in the ClusterCache
* [ ] Try to find a way to avoid duplicating the CR metrics (very likely would require changes to CR) (also consider if there are other things in the Reconcile wrapper that could be moved to CR or be made easier by changes to CR)
* [ ] [Entirely TBD] Ideas for further features for the reconcile wrapper:
* [ ] Getting the object and dealing with not found
* [ ] Standardization of finalizer / pause handling
* [ ] Emitting an event e.g. on errors
Today our reconcilers are reconciling on all incoming events which is way too often. The goal of this feature is to rate-limit our controllers to reduce overall resource consumption.
As we are close to code-freeze and in an abundance of caution we are adding this behind a feature gate.
We are planning to graduate quickly once appropriate scale testing has been done.
Contributor guide
Assessment
This issue has not been assessed yet.