These days you can increase and decrease an AWS spot fleet's target size without re-creating the whole fleet. (As long as the launch specifications stay the same.) This enables the cluster-autoscaler to smoothly increase or decrease a node group's capacity, whilst benefiting from using instance type diversity, and AWS's automatic price-based selection, to keep the total price low.
For basic support the cluster-autoscaler doesn't need to have a pricing model, just a range of min target fleet size to max target fleet size, and a unit amount to increase/decrease the target, that should guarantee and increase or decrease in size. E.g. min = 2, max = 10, unit = 2. If it is easier, you could limit the fleet launch specifications so the unit of increase/decrease is always '1' as with an ASG.
If this viable/sensible? What do people think?
cc: @mumoshu
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale
/remove-lifecycle stale
It's worth noting that we now have EC2 Fleets ... which probably means the effort should be applied to that since it supersedes Spot Fleets. Also, there's an issue requesting support for EC2 Fleets, see https://github.com/kubernetes/autoscaler/issues/838.
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale
Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle rotten
Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close
@fejta-bot: Closing this issue.
In response to this:
Rotten issues close after 30d of inactivity.
Reopen the issue with/reopen.
Mark the issue as fresh with/remove-lifecycle rotten.Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close
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.
Most helpful comment
/remove-lifecycle stale