h3poteto / aws-global-accelerator-controller

A Kubernetes controller for Global Accelerators and Route53
Apache License 2.0
26 stars 8 forks source link

Binding existing Global Accelerator #74

Closed h3poteto closed 6 months ago

h3poteto commented 2 years ago

Like TargetGroupBinding of aws-lb-controller: https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.1/guide/targetgroupbinding/targetgroupbinding/

I want to bind service/ingress to existing Global Accelerator.

rohrit commented 1 year ago

Thank you for this project. I used this and was able to create a GA that was front-ending an NLB and it worked fine. The use case I am trying to use this for is where a GA is front-ending multiple NLBs (one per region) for a geo distributed service. Helm would deploy the service in each region. For the first region, NLB and GA are created when the service is deployed. For the second region, NLB is created but I see error in the GA controller logs "Endpoint Group is changed, so updating: ...", which is expected I think because multiple endpoints are not supported. Do you think whether adding a new endpoint for the second deployment would be a good enhancement? Perhaps an annotation to specify the GA name as well to name the GA as an option in addition to the auto-generated one.

h3poteto commented 1 year ago

because multiple endpoints are not supported.

Yes, it is not supported yet.

I haven't come to any conclusions, but I will think about what options are good.

bnssoftware commented 8 months ago

This is a critical feature as probably the most prevelant use case of GA is in fact to use in multi-region setup where GA is in front of multiple NLBs.

bnssoftware commented 8 months ago

This actually doesn't seem like it would be too hard to implement. Can't you just allow another annotation that specifies the existing global accelerator hostname? And it would just bind the to that as an A record?