-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Use CurrentReplicas as a minimum for fallback replicas #6450
Comments
The proposal is changed to a new parameter |
I see the potential of this feature, but as I said in the original discussion, this only applies in one direction (and I'm not 100% sure about being the fallback the root issue). I think that we cloud improve the fallback feature with a dinamyc replica calculation, just setting the boundaries in both directions, something like: fallback:
failureThreshold: 3
replicas: 10
allowIn: bool
allowOut: bool We could use the new 2 fields to calculate the fallback replicas as:
This could give more control over how the fallback works, for example, I'd like to only ADD replicas in case of lost upstream but never remove them without upstream information WDYT? |
For a better understanding and summary of how it is now made in #6464 . A new parameter
If you choose If you choose |
Yeah, I see the use case of this new behavior, my point is that it's limited only scaling out and keeping the current value as minimum, but the opposite direction could happen, if I'm consuming messages from broker and I have included a DB in the formula, I could want to block the scaling out if I miss the DB info to ensure that I won't overload it, something like |
And maybe it's something that we could implement in the future if someone needs it, I just suggested the other direction to cover both cases at once if it's possible |
Yeah, that's a good idea indeed! So your behavior options could be:
For example:
With
With
|
that is a good point regarding boundaries in both ways, and imho one more reason to use
just before we merge it, is it worth exploring alternative names? I mean they are explanatory, correct, but I always have to stop for a second to be sure about which one means what. Alternatives that I thought about
|
I agree with better naming. It should be intuitively clear what the value means.
This because by Or am I seeing this wrong? |
Proposal
From the next discussion #6334 (Editing ScaledObject on Workload in Production).
My proposal is to add a new (boolean) parameter at the
fallback
:useCurrentReplicasAsMinimum
If this parameter is set to
true
and it ends up in a fallback, at least the number of replicas that are running at that moment will continue to run. If thefallback.replicas
is higher, this setting will be used.Use-Case
When you are running a large number of pods and something goes wrong, Keda uses a
fallback
(if configured). However, the difference between thefallback.replicas
and the current number of replicas can be large.Something going wrong can also be temporary, which means it can suddenly scale down considerably and then return to the correct number of replicas. With this feature we ensure that this does not happen.
Is this a feature you are interested in implementing yourself?
Yes
Anything else?
If you have any objections or questions regarding this issue, please let me know :)
The text was updated successfully, but these errors were encountered: