gardener / external-dns-management

Environment to manage external DNS entries for a kubernetes cluster
Apache License 2.0
80 stars 67 forks source link

Latency, failover routing policies and associated healthchecks #271

Open azamora-zsc opened 1 year ago

azamora-zsc commented 1 year ago

I think this issue is complementary to this one: Issue 241.

The addition of the weighted routing policy was great news. However, there are other policies that I consider as important as this one and actually, I really need some of them. I know that, in some cases, failover can be "implemented" by setting a weight of 0 for the secondary target, using the weighted policy. This makes this policy implementation less urgent, but in my case, I really need a latency-based policy to take real advantage of this tool.

Another important topic to cover here is health check management. All mentioned policies need associated health checks to the records. Providing a way to create health checks and associate them automatically to the records is something that is not offered by any other solution (Ex: external-dns).

On the other hand, ALIAS records in AWS can use ELB's default health checks by setting the "Evaluate target health" property to true. At this moment, again there is no other tool capable of doing that (I'm using external-dns setting a fake health check ID as a workaround).

I really like the approach you're using with external-dns-management. Including the features mentioned above can make it the most valuable DNS-related tool for K8S out there, at least for me and my team.

MartinWeindel commented 1 year ago

FYI

Support for latency routing policy has been added to the AWS Route53 provider, see PR #295 Failover routing and associated healthchecks are not part of this PR, as it is still unclear how to support health checks in a reasonable way.