Skip to content

Ability to create TargetGroup against a service (without an ingress) #4035

Closed
@uptickmetachu

Description

@uptickmetachu

Is your feature request related to a problem?
My team would like to be able to create services that are shared between multiple ingresses.

  1. 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.

  2. 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

  1. 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).

  2. Pointing multiple ingresses to a service. This creates multiple target groups for the same set of pods.

  3. Using nginx-ingress (does not support ALB features)

Related to this closed issue: #3578

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/featureCategorizes issue or PR as related to a new feature.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions