atlassian / escalator

Escalator is a batch or job optimized horizontal autoscaler for Kubernetes
Apache License 2.0
662 stars 59 forks source link

Add support for one-shot capacity using AWS Fleet #153

Closed mcrute closed 5 years ago

mcrute commented 5 years ago

This PR adds support for acquiring all desired scale-up capacity at one time using the EC2 Fleet API.

To use this create an instance launch template and add the ID to your Escalator configuration. The presence of this setting will cause Escalator to use the fleet API to acquire the capacity in one-shot and add it into the autoscaling group rather than changing the desired instance count of the autoscaling group and waiting for instances to be delivered. If there are not sufficient instances available to satisfy the scaling request the request will fail and try again next time Escalator checks for scaling-up the cluster.

coreyjohnston commented 5 years ago

Hi Mike,

Thanks very much for contributing Fleet support! We'll take a look and be in touch shortly.

mcrute commented 5 years ago

Thanks @awprice! Sorry for the slow follow-up. I've posted updates to most of your review notes. I'll follow up with the configuration re-arrangement as well as validation of the AZ balancing shortly.

awprice commented 5 years ago

Thanks @awprice! Sorry for the slow follow-up. I've posted updates to most of your review notes. I'll follow up with the configuration re-arrangement as well as validation of the AZ balancing shortly.

Awesome! I'll keep an eye out for it.

mcrute commented 5 years ago

Thanks for the approval @awprice! Is there anything else that needs to be done before this can be merged?

awprice commented 5 years ago

Thanks for the approval @awprice! Is there anything else that needs to be done before this can be merged?

Apologies, I was going to get one of my coworkers to check over it, then we are good to merge and release.

cc @patrickshan @Jacobious52