-
Notifications
You must be signed in to change notification settings - Fork 3.9k
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
Does priority expander do fallbacks? #2075
Comments
cc @Jeffwan |
If spot request can not fulfilled over As you said corresponding node group should be removed from priority list with a timeout, because spot capacity may be better after a while. Will come back to you later. |
@TarekAS I notice spot may have some issues if request can not be filled. Community has a PR to track this issue. #2008 Depends on if you use LauchConfiguration or LaunchTemplate, use mixed Instance policy as an example, If you don't set fix price (let ASG to manage price), you may not see this issue. Seems timer doesn't start if require can not be fulfilled. |
We have a very simple use-case. For each AZ, we have 1 Spot and 1 OnDemand ASGs that are identical. How can we effectively prefer scaling Spot ASGs over OnDemand? We do not want to use MixedInstancesPolicy due to the following concerns:
How are other people doing this? I've done some research and all I could find was using a Spot Rescheduler to mitigate this issue. I hope priority expander can help solve it. In the meantime, there should be a basic guide on how to set this up. Thanks! |
I confirmed with EC2 ASG team, no, fallback is not supported in MixedInstancePolicy.
To me, I think you may better to use different ASG for these kind of jobs and use node affinity to schedule pods on that ASG?
Priority expander can fallback to OnDemand, but there's no logic to fallback to Spot once Spot instance becomes cheaper.
Thanks. If we think there's limitation on Spot, we can reopen a closed PR and make ASG Spot available there. (But this solution won't guarantee lowest price, price model is kind of hacky) |
Definitely, that's what we're doing right now for "OnDemand" workloads. Therefore, even with MixedInstancePolicy, one would still need to create a dedicated ASG for on-demand workloads to guarantee availability. We just keep things simpler by creating separate ASGs for Spot and OnDemand. If only CA supported the
We use Launch Templates (automatic spot pricing). We're more concerned Spot instances becoming completely unavailable rather than expensive (it actually happened to us for 30 minutes). In case Spots become available again, would the priority expander be able to switch back to the higher-priority Spot ASGs? |
No, priority expander only works when there's a decision to made to choose right node groups. It doesn't actively change existing nodes. |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Stale issues rot after 30d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
If user looks for fall back options, here's one example I think can be used to move workloads back to Spot once it's available. |
Rotten issues close after 30d of inactivity. Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
@fejta-bot: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
If the ASG with highest priority fails to launch instances for some reason, does it fallback to lower priority ASGs?
My use-case is falling back from Spot ASGs to OnDemand ASGs in-case the there are no Spot instances available.
If not, then I would suggest something like a timeout on each priority.
The text was updated successfully, but these errors were encountered: