-
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
Ability to create TargetGroup against a service (without an ingress) #4035
Comments
Hi @uptickmetachu, I do want to point out couple of points after reading your use-case and proposed solution: Sharing Target Groups: It's important to note that a single target group cannot be shared across multiple Ingress resources unless you're using an Ingress Group. Since each Ingress typically provisions a separate Application Load Balancer (ALB), target groups cannot be shared between them. However, Ingress Groups can be a solution as all Ingress resources within the group share a single ALB. If the TargetGroupBinding approach doesn't fully meet your needs, or if you have any further questions, feel free to provide more details about your specific use case. We're happy to explore alternative solutions or discuss potential future enhancements to the controller. |
We have considered this and might add that functionality to our own internal operator but ideally would like it managed via the alb controller. Thank you for mentioning the of a target group being bounded to 1 load balancer; that might be an issue for us so we'll need to think of something else. Although I think there is still value in this feature (there doesn't appear to be any other CRD or operator to create target groups in the wild) I think the above limitation would mean we will need to look for another solution. |
Is your feature request related to a problem?
My team would like to be able to create services that are shared between multiple ingresses.
One use case would be blue/green deployment. Each service would have a targetgroup (created via targetgroup name).
The ingress can then point to either targetgroup with attributes and weights.
Another use case would be for multitenanted services. We currently deploy a shared group of pods for multiple tenants each with their own ingress for url routing.
Currently each ingress will create it's own target group (with its own associated healthchecks) against the same shared set of pods.
Describe the solution you'd like
Create an AWS TargetGroup with one (1) or more Listeners without a Load Balancer solely with a K8S manifest that is being parsed by the AWS Load Balancer Controller.
The functionality is highly likely already there, what we need is a custom CRD being exposed called 'TargetGroup'.
Alternatively
Create a targetgroup for a service via an annotation.
The targetgroup should be created by a requested name.
Describe alternatives you've considered
Creating the TargetGroup with Terraform or CloudFormation, but this is suboptimal as then we have to manage not only K8s manifests for deployment, but also other infrastructure code (e.g. Terraform, cloud-formation).
Pointing multiple ingresses to a service. This creates multiple target groups for the same set of pods.
Using nginx-ingress (does not support ALB features)
Related to this closed issue: #3578
The text was updated successfully, but these errors were encountered: