aws / aws/aws-cdk

(aws-eks): Modifying instance-types on managed-node-group shouldn't roll the whole node-group.

Open
#20,823 1 comment 18 reactions 0 assignees View on GitHub
@aws-cdk/aws-eks @aws-cdk/aws-eks-v2-alpha effort/medium feature-request p2
Dominant language
TypeScript
Stars
12.9k
Forks
4.6k
Avg merge
2d 3h
Merged PRs (30d)
83

Description

### Describe the feature

As instance-types are added or removed from a managed node group then I would like just the underlying auto-scaling-group to update to reflect the change.

### Use Case

The idea is that when I modify the list of instance-types in the node-group (adding or deleting one in the list), then the whole node group should not roll. Depending on the size of the cluster this can take quite some time to complete.

The instances-types are mapped to an auto-scaling-group. Would be nice on cloudformation deploy that just this resource was updated.

### Proposed Solution

```
const launchTemplate = new LaunchTemplate(this, 'lt');

this.cluster.addNodegroupCapacity('node-group-xyz', {
launchTemplateSpec: {
id: launchTemplate.launchTemplateId!,
version: launchTemplate.latestVersionNumber,
},
capacityType: CapacityType.SPOT,
instanceTypes: [
new InstanceType('c5a.8xlarge'),
new InstanceType('c5ad.8xlarge'),
new InstanceType('c6a.8xlarge'),
new InstanceType('c5.9xlarge'),
new InstanceType('c5d.9xlarge'),
],
});
```

if i added `new InstanceType('c5n.9xlarge'),` to the list then i would like just the autoscaler to reflect this change without the whole node group rolling.

### Other Information

This may be similar to https://github.com/aws/aws-cdk/issues/18478

### Acknowledgements

- [ ] I may be able to implement this feature request
- [ ] This feature might incur a breaking change

### CDK version used

2.24.1

### Environment details (OS name and version, etc.)

amazon-linux-2

Contributor guide

Open the contributing guide

Research direction

Start by comparing this request with issue #18478 and tracing how the EKS managed node group and its instanceTypes are synthesized into CloudFormation. Verify whether CloudFormation can update the underlying Auto Scaling Group without replacing or rolling the node group; done means adding or removing an instance type changes only that capacity configuration and preserves existing nodes.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, kubernetes, typescript
Domain
cloud, devops, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.