As this gets rolled out to the larger masses, the front-to-back integration may a be no go when individuals find that Route 53 is coupled to the ALB creation.
It would be helpful to have a flag (ENV var) that disables state sync against Route 53. Making the alb-ingress-controller only concerned with ELBV2s (ALBs), TargetGroups, Listeners, and Rules.
Helpful for those who:
/cc @bigkraig
:+1:
When we started this the only way to do host based routing was using multiple ALBs, now that AWS supports host based routing, the close coupling of R53 names is not needed. Long term I would prefer to strip it completely and create another controller that manages R53.
Another use case, which is a subset of 2) and 3) : you want to gradually shift traffic from one cluster to another, e.g. because of an invasive cluster upgrade.
Yes, agreed @therc.
It would be good to remove Route53 sync from this ALB controller as there is already a controller to manage Route53 entries (also for Ingress): https://github.com/kubernetes-incubator/external-dns
Good point @hjacobs. Having R53 integrated into this controller takes on too many concerns as is.
Is there any active work to decouple this? If not, I may take a stab at it. I am using Route53, but the zone is in a different AWS account than the ALB, so I need to handle credentials separately. I was planning on editing this project to allow that, but it sounds like there isn't any interest in changing the Route53 bits here at this point.
AFAIK nothing active right now, if you want to get it started I can lend a few minutes here and there to help.
My only concern with relying on the existing DNS controller is that it uses TXT records which I would prefer to not to place into public zones, but I don't think that its worth holding up this work over that.
Thanks @bigkraig. My use case would be using a private zone anyway, so I can move forward without dealing with that at a broader level.
@bigkraig if you are referring to the "ownership" concept in External DNS which uses TXT records: this can easily be disabled (and the idea is to have it pluggable so record ownership can be tracked somewhere else). See https://github.com/kubernetes-incubator/external-dns/blob/master/docs/proposal/registry.md
@hjacobs awesome!
Has there been any movement on decoupling these? I'd rather not have to maintain another alb for a domain that is not in route53 if possible.
Most helpful comment
Good point @hjacobs. Having R53 integrated into this controller takes on too many concerns as is.