-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Add support for shared subnets #904
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
Conversation
/test pull-aws-alb-ingress-controller-unit-test |
Thanks for making this change :D. I'll take the time to fix the unit test issues(seems coverall is down). I have make changes around securityGroup handling in my ingress group implementation, which will make managed LB securityGroup work as well(not ready to release out yet). BTW,
It do have some "drawbacks" from the current solution(create an separate node sg per ALB, and attach/detach from ENIs as needed). But I don't consider it as less secure since ALB should be inside trust boundary. Also, securityGroup can only be attached to ENI instead of pod IP, there is no fundamental difference from just attach it to all ENIs. Is this fine to you? |
/test pull-aws-alb-ingress-controller-unit-test |
Interesting idea regarding security groups. If a node has multiple security groups attached, how will the controller choose which security group to update? We define one of our nodes' security groups in terraform and would prefer it not be changed by anything but terraform. If we can choose which security group the controller will update, or have the controller create one new security group, attach it to nodes, and use it for all updates, that would be great. |
For each node, the securityGroup will be choose as follows(follow same logic as kubernetes support for CLB/NLB): The rules will be updated for all choose securityGroup to allow ingress traffic from auto-generated LB securityGroup. BTW, for |
That makes sense and is sufficient for our situation. thanks! |
/test pull-aws-alb-ingress-controller-unit-test |
1 similar comment
/test pull-aws-alb-ingress-controller-unit-test |
@M00nF1sh any idea why the unit tests are failing? |
This currently requires that security groups be defined in the ingress annotation
157e8c6
to
28834c2
Compare
@M00nF1sh I rebased and all tests now pass. Thanks for fixing that. |
an caveat: you'll need to manually clean up the LB when you delete the loadbalancer.(otherwise, this will fail deletion in shared subnets case) /lgtm |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: M00nF1sh, rifelpet The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
This allows the aws-alb-ingress-controller to create ALBs in subnets that are shared across accounts via AWS Resource Access Manager. See #901 for more details.
This currently requires that security groups be defined in the ingress annotation. I couldn't figure out an easy way to get the desired security group ID from the security group AssociationController into
newLBInstance
, so I'm settling for the annotation requirement for now.Closes #901
Closes #865