Skip to content
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

feat: Added throughput support for root and EBS disks #1445

Merged

Conversation

junaid-ali
Copy link
Contributor

@junaid-ali junaid-ali commented Jun 15, 2021

PR o'clock

Description

Fixes #1444
When gp3 disk type is used, throughput should be configurable for an ASG launch configuration. This PR adds that support.

Example usage:

module "eks" {
  ...

  worker_groups_launch_template = [
    {
      name                   = "worker-group-gp3"
      instance_type          = "t3.small"
      asg_desired_capacity   = 1
      public_ip              = true
      root_volume_size       = 150
      root_volume_type       = "gp3"
      root_volume_throughput = 300 # setting throughput to 300 MiB/s
    },
  ]
}

Checklist

- [ ] README.md has been updated after any changes to variables and outputs. See https://github.com/terraform-aws-modules/terraform-aws-eks/#doc-generation

@junaid-ali junaid-ali changed the title improvement: throughput support for gp3 disk type in aws_launch_confi… improvement: throughput support for gp3 disk type in aws_launch_configuration Jun 16, 2021
@junaid-ali
Copy link
Contributor Author

junaid-ali commented Jun 22, 2021

@daroga0002, @barryib any chance if you can have a look at this?

@junaid-ali
Copy link
Contributor Author

@barryib @max-rocket-internet @daroga0002, could you please have a look at this XS PR?

@junaid-ali
Copy link
Contributor Author

Updating the PR subject to fix since the user-provided root_volume_throughput will not be reflected

@junaid-ali junaid-ali changed the title improvement: throughput support for gp3 disk type in aws_launch_configuration fix: throughput support for gp3 disk type in aws_launch_configuration Aug 27, 2021
Copy link
Contributor

@daroga0002 daroga0002 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@antonbabenko 👍 +1:

@antonbabenko
Copy link
Member

@junaid-ali Please update the PR and add throughput for EBS volumes and update code in examples/launch_templates to show this feature in action, too.

@junaid-ali
Copy link
Contributor Author

thanks @antonbabenko , @daroga0002 for the review, I'll add the example

@junaid-ali
Copy link
Contributor Author

junaid-ali commented Sep 1, 2021

@antonbabenko added the example usage to examples/launch_templates, and PR description as well. Attached is the plan output:
Screenshot 2021-09-01 at 12 20 59

Could you please have a look at it again?

@antonbabenko
Copy link
Member

I don't see changes for throughput inside of ebs_block_device block here and not in examples. Have you pushed all the changes?

@junaid-ali junaid-ali changed the title fix: throughput support for gp3 disk type in aws_launch_configuration fix: throughput support for gp3 disk type Sep 1, 2021
@antonbabenko antonbabenko changed the title fix: throughput support for gp3 disk type feat: throughput support for gp3 disk type Sep 1, 2021
@junaid-ali
Copy link
Contributor Author

Version updated in the README

@antonbabenko
Copy link
Member

The code looks good, but I want to verify it a bit more during this week.

@antonbabenko antonbabenko changed the title feat: throughput support for gp3 disk type feat: Added throughput support for root and EBS disks Sep 2, 2021
@antonbabenko antonbabenko merged commit bcea070 into terraform-aws-modules:master Sep 2, 2021
@antonbabenko
Copy link
Member

Thanks @junaid-ali !

v17.7.0 has been just released.

PS: I am unsure whether we need to implement the same changes in modules/node_groups. WDYT @daroga0002 ?

@daroga0002
Copy link
Contributor

This can be added to launch template scenario:

ebs {
volume_size = lookup(each.value, "disk_size", null)
volume_type = lookup(each.value, "disk_type", null)
encrypted = lookup(each.value, "disk_encrypted", null)
kms_key_id = lookup(each.value, "disk_kms_key_id", null)
delete_on_termination = true
}

Fully AWS managed groups doesn't have such option:
https://docs.aws.amazon.com/eks/latest/APIReference/API_Nodegroup.html

@daroga0002
Copy link
Contributor

seems issue for this enhancement was created:
#1567

@github-actions
Copy link

I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 13, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Throughput support for gp3 disk type in launch configuration
3 participants