bottlerocket-os / bottlerocket-os/bottlerocket
Prefer creation of gp3 volume in the default EBS volume option in EKS Managed NodeGroup
- Dominant language
- Rust
- Stars
- 9.7k
- Forks
- 586
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 11
Description
**What I'd like:**
Currently, Bottlerocket images default to creating two volumes (as explained in the [README](https://github.com/bottlerocket-os/bottlerocket?tab=readme-ov-file#default-volumes)), In my case , its creating the root gp3 volume of 2GB , but the other volume is still created in gp2
**Environment**
Region : ap-south-1
K8s version : v1.33 (recently updated)
Node Group : EKS Managed Nodegroups (not using karpenter currently)
AMI ID : ami-099d32f2fdc822de0 , AMi name : bottlerocket-aws-k8s-1.33-nvidia-x86_64-v1.56.0-36151b8b
I am not using any launch template as of now, I am using the basic UI flow of the EKS create managed node group console. The AMI shows correct device mapping but when instance is launched the EBS volume mentioned in the flow is created in gp2 format
I have added the following details
Disk size : 100GB , OS: bottlerocket nvidia , Capacity : ondemand, instance type g6.xlarge. Also happens in non nvidia images. Tried on a new nodegroup as well on an old node group which got updated to v1.33
**Any alternatives you've considered:**
Reported the case on AWS Developer Support as well. The current option was to use a launch template
**Support's answer** : This behavior appears to align with the current default handling of block device mappings for Bottlerocket-based node groups when a launch template is not used. We have seen similar feedback raised previously regarding this inconsistency compared to AL2023, where a single gp3 volume is correctly provisioned.
At this stage, there is no direct configuration available through the console to override this default behaviour for Bottlerocket-managed node groups. As such, the workaround I mentioned remains the viable approach for now.
I will be submitting this as a feature request to the service team to highlight the need for improved consistency and more explicit control over volume configuration. These requests are reviewed and prioritised internally, and implementation timelines can vary, so this may take some time before any changes are introduced
Contributor guide
Research direction
Start with the README's default-volumes section and the EKS Managed NodeGroup behavior described in the issue, then trace how Bottlerocket block device mappings are selected when no launch template is used. Compare the default mapping with the AL2023 behavior and verify that both volumes are provisioned as gp3 without changing launch-template flows.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, kubernetes
- Domain
- cloud, infrastructure, operating-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100