-
-
Notifications
You must be signed in to change notification settings - Fork 332
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
Controller: Allow reconciling resources in parallel #346
Comments
Yeah, I that matches my rules as well. Architecture-wise, async ought to mean rule But the problem case is rule I can see a potential way this could be done by having a three queues;
It might be a bit hairy getting the scheduler to "rebalance" the queues on every event depending on what's in progress, but we could potentially break up the big |
Yup, that's what I was thinking too. Though And I'm not really sure about a good design for asking what is still supposed to be a stream for something like "give me anything except for these objects". |
This is a first step towards allowing parallel reconcilers, while respecting the laws laid out in kube-rs#346.
This isn't really documented properly ATM, but my mental rules for the controller are roughly the following:
Currently we uphold these rules by effectively running each controller "single-tasked", but that makes kube-runtime pretty much unusable for some kinds of operators. For example, a single Rook orchestration can easily take multiple minutes (most of which is spent waiting for the managed services).
However, there are some things that'd have to be resolved when tackling this..
The text was updated successfully, but these errors were encountered: