cluster-api-provider-aws
cluster-api-provider-aws copied to clipboard
Support for Capacity Reservation Groups and On-Demand Capacity Reservations (ODCR)
/kind feature
Due to many elements surrounding the capacity from AWS there are use cases where a company needs to secure capacity for a special event, or use specialized instance type where capacity can not be acquired due to capacity constraints in the standard on-demand pools (e.g. GPU instance types). In these cases companies can allocate or order capacity from AWS and have it delivered using on-demand capacity reservations (ODCRs).
While an Open ODCR at the account/region level can be used, this is problematic because you must cover all running instances within the region and the ODCR can not target a specific cluster or workload that the capacity was purchased for. The problem is compounded when there are multiple clusters that use the targeted instance type in the same account/region.
In order for a given worker node to utilize the ODCR capacity it must be referenced in the Launch Template or in the Launch parameters to a EC2 instance. These settings are not currently exposed to cluster operators to configure. By supporting the ability to create and associated Capacity Reservation Groups to the launch templates this allow cluster operator the flexibility to add ODCRs to the proper group. Groups also allow for a level of indirection to the ODCR, such that you can use ODCRs in multiple groups to allow support for targeting the capacity to a specific set of clusters and/or a specific set workloads on the clusters.
- Cluster-api-provider-aws version: 1.162.0
- Kubernetes version: (use
kubectl version): 1.26.9