kubernetes-sigs / external-dns

Configure external DNS servers (AWS Route53, Google CloudDNS and others) for Kubernetes Ingresses and Services
Apache License 2.0
7.75k stars 2.58k forks source link

Concurrently Create Records in Azure #4608

Open tanujd11 opened 4 months ago

tanujd11 commented 4 months ago

What would you like to be added:

We should create/update DNS records concurrently for faster propagation of DNS records to Azure DNS Zone: Currently we loop through all the changes and do it one by one. We can spin a fixed number of goroutines to limit worker threads. WDYT? I can work on this if this interests the maintainers.

https://github.com/kubernetes-sigs/external-dns/blob/8d06c84ac4004a9024407aeab972b6721b315c6b/provider/azure/azure.go#L294

Why is this needed:

For systems that require a lot of updation of DNS records, for example using TXT records for heartbeat mechanism of system. Similar thing is created by K8GB project for Infoblox provider: https://github.com/k8gb-io/k8gb/blob/ff8d360215fad27f4c6b160d08d419ea822d6b82/controllers/providers/dns/infoblox.go#L154. If this is done for Azure, the process of DNS record updation will take a lot as Azure does not provide batch API for this like AWS. Hence concurrently calling this update call should help.

deva26 commented 4 months ago

👍 We too are facing a similar issue. It would be great if this can be addressed.

devogopan commented 4 months ago

@tanujd11 when the concurrent updates happen, do you think it will get affected by some kind of throttling by the DNS service provider ?

k8s-triage-robot commented 1 month ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot commented 1 week ago

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten