-
Notifications
You must be signed in to change notification settings - Fork 512
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Suggestion: Publish AWS AMIs using gp3 block devices as default #4000
Comments
Hi @jfrancisco0, thanks for bringing this up. It is a very valid suggestion to make the default volume type to However, it has been a while since the last time we perform that evaluation. I will work with the team to run another boot time tests and see if we see better result. Again, thanks for bringing this to our attention, I will keep you posted with my testing. |
Thanks for following up @ytsssun! 😄 |
Hi, we're using a lot of instances with Bottlerocket and using GP3 for the root volume would definetly lower the costs quite a bit. Thanks |
You can override the volume type at run-instances but the tool you are using to launch Bottlerocket would need to be able to do this. If you are using
This will set the data volume to 80GB and |
@yeazelm maybe... I'm using the https://github.com/terraform-aws-modules/terraform-aws-eks module, so I will try on the eks_managed_node_groups pass the following config:
What do you think? Would this work for xvda (root) and xvdb (data)? |
That should work @flaviomoringa, but keep in mind that the root volume will not use any more space than the default 2GB (or 4GB for NVIDIA variants) so you should keep that to 2GB to reduce cost as well. All data is written to the second volume so you shouldn't need to worry too much about the root volume ( |
ah.. good to know @yeazelm .... but it's 2Gb or 20Gb? by default seems to be creating 20Gb. |
It should be 2GB, not 20GB. For example, here is the latest aws-k8s-1.30 AMI data:
Note the 2 for the root volume and 20 for the data volume. |
You're absolutely right... 20 is the EKS default node storage size. |
It worked very well, and I saw no noticeable performance lost when compared with before. Therefore changing the AMI default volume configs to use GP3 for the volumes does seem a good approach... it would save us some money. I've alse made a comment regarding this on issue 4078 Thanks |
@yeazelm a question regarding the 2 Gb root volume (4Gb nvidia): Due to how Bottlerocket updates work, where basically the full OS is retrieved ( downloading the update into a separate partition and then rebooting the instance into that new partition), are you sure 2Gb is enough? seems to be a bit short to store an update? Any thoughts on that? |
Hey @flaviomoringa, we try to keep the OS footprint as minimal as possible and we tend to not include more utilities in the root filesystem to be able to fit in it in a small volume. We are already looking at other features like compressing the kernel modules with ZSTD, or compressing the entire root filesystem to reduce the footprint even more 👍 . |
@flaviomoringa to add to what @arnaldo2792 just said. We carve off half of that 2G volume for updates. The OS only takes up less than half of the disk space and we watch this space to ensure updates always fit in that half. |
What I'd like:
Currently, Bottlerocket images default to creating two volumes (as explained in the README), and the AWS AMIs have these volumes set as
gp2
by default. For example,ami-0b2c067c54702aea4
.I suggest setting it to
gp3
instead, since it provides lower price per GB, and the new Amazon Linux version (AL2023) already sets it as default.I understand the volume type may be overridable, depending on one's deployment scenario, but I don't see any obvious upside to maintaining
gp2
as the default, so I decided to leave this suggestion here.The text was updated successfully, but these errors were encountered: