The module should be refactored to create multiple node groups using set(s) of AWS EC2 Instance Classes that correlate to a StreamNative cluster size.
The node groups should have a desired_capacity setting of 0, allowing them to scale up/down according to what workloads are being scheduled by the StreamNative control plane.
Depending on regional availability:
- c6i.large, c6i.xlarge, c6i.2xlarge, c6i.4xlarge
Or:
- c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge
Other requirements:
- The name structure should match the naming pattern
"snc-*-pool*"
- Have some variation of the instance class in their name
- The node group name should have a unique suffix
Nice to have:
- Include a taint that designates its instance class (micro, tiny, small, medium, large, xlarge, xxlarge). This will require some coordination with the control plane, so it should not be used until it is supported on workloads. Example value structure:
taints = [{
key = "reserveGroup"
value = "micro"
effect = "NO_SCHEDULE"
}]
The module should be refactored to create multiple node groups using set(s) of AWS EC2 Instance Classes that correlate to a StreamNative cluster size.
The node groups should have a
desired_capacitysetting of0, allowing them to scale up/down according to what workloads are being scheduled by the StreamNative control plane.Depending on regional availability:
Or:
Other requirements:
"snc-*-pool*"Nice to have: