You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add instance requirements option for docker autoscaler asg (#1262)
## Description
Add an option to specify instance requirements instead of a using a
fixed list of instance types to provide greater flexibility and cost
optimization. This option allows ASG to dynamically select the best
instance types based on availability, price, and performance criteria
rather than being restricted to a predefined list and ensures better
spot instance allocation.
You can either use types as before:
```
runner_worker_docker_autoscaler_asg = {
subnet_ids = module.vpc.private_subnets
types = ["t3a.micro", "t3a.small", "t3.micro", "t3.small"]
enable_mixed_instances_policy = true
on_demand_percentage_above_base_capacity = 0
spot_allocation_strategy = "price-capacity-optimized"
}
```
Or you can use instance requirements:
```
runner_worker_docker_autoscaler_asg = {
subnet_ids = module.vpc.private_subnets
default_instance_type = "t3.small"
enable_mixed_instances_policy = true
on_demand_percentage_above_base_capacity = 0
spot_allocation_strategy = "price-capacity-optimized"
instance_requirements = [{
allowed_instance_types = ["t*"]
cpu_manufacturers = ["intel"]
burstable_performance = "included"
memory_mib = {
max = 8192
min = 1024
}
vcpu_count = {
max = 4
min = 2
}
}]
}
```
---------
Co-authored-by: Matthias Kay <matthias.kay@hlag.com>
Co-authored-by: Matthias Kay <github@matthiaskay.de>
spot_allocation_strategy = How to allocate capacity across the Spot pools. 'lowest-price' to optimize cost, 'capacity-optimized' to reduce interruptions.
804
804
spot_instance_pools = Number of Spot pools per availability zone to allocate capacity. EC2 Auto Scaling selects the cheapest Spot pools and evenly allocates Spot capacity across the number of Spot pools that you specify.
805
805
subnet_ids = The list of subnet IDs to use for the Runner Worker when the fleet mode is enabled.
806
+
default_instance_type = Default instance type for the launch template
806
807
types = The type of instance to use for the Runner Worker. In case of fleet mode, multiple instance types are supported.
807
808
upgrade_strategy = Auto deploy new instances when launch template changes. Can be either 'bluegreen', 'rolling' or 'off'.
809
+
instance_requirements = Override the instance type in the Launch Template with instance types that satisfy the requirements.
0 commit comments