-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Support more than 4 azs #2804
Support more than 4 azs #2804
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One potential improvement but either way, LGTM!
return subnets, nil | ||
} | ||
|
||
func SplitInto8(parent *net.IPNet) ([]*net.IPNet, error) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry forgot to include comment, these 2 functions could be reduced into SplitIntoN
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@michaelbeaumont I'm a bit hesitant to do that, while I managed to manipulate the first function to accurately produce splits of 16 instead of 8, I don't know how to ensure the same change for any given input, e.g. splitting into 10.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, it should work for any power of two (and only for powers of two).
Description
Currently EKSCTL limits you to specify 4 AZs, if you attempt to specify more it fails as we only split up the VPC CIDR block into 8 chunks (4x 1 private & 1 public subnet). This PR ups the capacity to 8 AZs (currently the biggest region has only 6 AZs) by adding the option to split the VPC CIDR block into 16.
related issue: #1359
Checklist
README.md
, or theuserdocs
directory)area/nodegroup
), target version (e.g.version/0.12.0
) and kind (e.g.kind/improvement
)