feat(eks): enable ipv6 for eks cluster#25819
Merged
mergify[bot] merged 10 commits intoaws:mainfrom Jun 8, 2023
Merged
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This change enables IPv6 for EKS clusters
Reasoning
Design
IpFamilyis introduced to direct users to specifyIP_V4orIP_V6This change adds a new Sam layer dependencyDependency removed after validation it was no longer necessaryTesting
I consulted with some team members about how to best approach testing this change, and I concluded that I should duplicate the eks-cluster test definition. I decided that this was a better approach than redefining the existing cluster test to use IPv6 for a couple of reasons:
I ran into several issues running the test suite, primarily related to out-of-memory conditions which no amount of RAM appeared to help.
NODE_OPTIONS--max-old-space-size=8192did not improve this issue, nor did increasing it to 12GB. Edit: This ended up being a simple fix, but annoying to dig out. The fix isexport NODE_OPTIONS=--max-old-space-size=8192. Setting this up in my .rc file did not stick, either. MacOS Ventura for those keeping score at home.The bulk of my testing was performed using a sample stack definition (below), but I was unable to run the manual testing described in
aws-eks/test/MANUAL_TEST.mddue to no access to the underlying node instances. Edit, I can run the MANUAL_TESTS now if that's deemed necessary.Updated: This sample stack creates an ipv6 enabled cluster with an example nginx service running.
Sample:
Issues
Edit: Fixed
Integration tests, specifically the new one I contributed, failed with an issue in describing a Fargate profile:
I am uncertain if this is an existing issue or one introduced by this change, or something related to my local build. Again, I had abundant issues related to building aws-cdk and the test suites depending on Jupiter's position in the sky.
Collaborators
Most of the work in this change was performed by @wlami and @jagu-sayan (thank you!)
Fixes #18423
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license