Search code examples
amazon-web-servicesamazon-ec2amazon-eks

Is it possible all involved AWS Spot capacity pools are empty or don't have enough capacity for EKS cluster requirements


In that article it's advised to use Spot instances as a worker node on a cluster https://aws.amazon.com/ru/blogs/compute/cost-optimization-and-resilience-eks-with-spot-instances/

As far as I understand resiliance is being reached by increasing a Spot capacity pools, e.g. using 6 AZs as a best practice.

Is it possible situation when all required Spot capacity pools are empty or don't have enough capacity to meet cluster requirements, i.e. downtimes are possible, even though very rare? But for business requirements sensitive for uptime, even that "very rare" is vital.


Solution

  • It is rare, but not impossible, for spot capacity for a particular instance type to be unavailable across all AZs in a region. That is why you should follow the best practices and use a mix of instance types/sizes. This will decrease the likelihood that you will get Insufficient Capacity Exceeded (ICEd). If you want to use Spot with Kubernetes, I recommend you use Karpenter. With Karpenter you can create provisioners for specific instance types/sizes and specify your preferred purchasing option (on-demand/spot/both). You can also configure it to fail-back to on-demand when there is no Spot capacity available.