-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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 for NLBs targeting ALBs #2379
Conversation
Welcome @jon-fearer! |
Hi @jon-fearer. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: jon-fearer The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
This would be amazing, def willing to test. |
I've implemented the spec changes outlined above and tested manually. I'll hold off on any other changes for now |
/remove-lifecycle stale |
@jon-fearer any active work on thir pr ? This will be amazing. |
The lack of any maintainer feedback has stalled his work. |
Hi, folks! This feature would be a life saver for us! Can anyone unblock this, please? Thank you very much! |
Would definitely use this. |
@jon-fearer Personally i don't favor current approach as the Kubernetes Service object is designed to target pods only. Using Service objects to model AWS NLB in this scenario is not appropriate to me. Possible alternatives in my mind:
any thoughts? @kishorj |
@M00nF1sh - this is our use case:
we have an internal facing ALB managed by
Everything is out of the box The alternative workaround is for us to manage both the NLB and ALB via infrastructure-as-code (crossplane!) and then use the It feels like overkill to use to manage the entire config some other way when
|
We could make a very narrow implementation of the Gateway API that deploys an NLB and ALB (and, if we want, integrates with PrivateLink). In Kubernetes, the Service API doesn't express a desired state that looks like that diagram @jon-fearer. That is why we shouldn't use Service to manage it. If someone wants to add complexity to the AWS Load Balancer controller to add Gateway, they can - it's open source. However, that is a big ask. |
The Kubernetes project currently lacks enough contributors to adequately respond to all PRs. This bot triages PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
I am wondering if you can expand upon why you find it inappropriate to model the nlb with the service object? I am encountering the use case needing to inject an ALB for http to https redirection at the nlb. Load Balancers managed by aws-load-balancer-controller, this becomes quite the difficult ask. As @smcavallo pointed out earlier we could move this logic into IaC and manage with target groups but I find this to be a less desirable option as we prefer to manage the LB's with the controller rather than with IaC. I think this functionality also opens additional feature functionality that does align with this controller and how it functions. I think this change can only be positive. I think that the aws-load-balancer-controller should be able to model and implement any of the features and capacities of load balancers in aws. Allowing the controller to be agnostic of implementation details allows it to remain in feature parity and be in lock step with additional aws features released down the road. |
/remove-lifecycle stale |
@matthewdaltonfanduel There is a on-going Gateway API implementation from community folks: #3146, we can consider implement this use case with that. |
The Kubernetes project currently lacks enough contributors to adequately respond to all PRs. This bot triages PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
/remove-lifecycle stale |
The Kubernetes project currently lacks enough contributors to adequately respond to all PRs. This bot triages PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
The Kubernetes project currently lacks enough active contributors to adequately respond to all PRs. This bot triages PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten |
Just create a normal ingress with the class: alb. However, we should add a feature to support an annotation called 'static IP.' The ALB will automatically create an additional NLB and target the ALB. We should not create an additional service of type LoadBalancer. |
Issue
Support for NLBs targeting ALBs
Description
The goal of this pull request is to add support for targeting ALBs from NLBs by adding the "alb" value to the existing nlb target type annotation. It is currently a work in progress. If possible, it would be great to hear from the maintainers whether this is a feature that you are willing to support in this project. And if so, do you have any thoughts on what the service spec should look like for targeting an ALB? (see below). Thank you in advance!
Example:
Also, would it make sense to extend the TargetGroupBinding CRD to support something like an IngressRef for this scenario (since we are targeting an Ingress instead of a Service)?
Example:
Checklist
README.md
, or thedocs
directory) TODOBONUS POINTS checklist: complete for good vibes and maybe prizes?! 🤯