external-dns icon indicating copy to clipboard operation
external-dns copied to clipboard

Synchronize DNS reconciliation when updating a headless Service

Open github-amine-kherbouche opened this issue 1 year ago • 23 comments
trafficstars

What would you like to be added:

A watch mechanism for Headless services' Endpoint updates, ensuring automatic reconciliation of DNS records when scaling operations occur. This enhancement intends to maintain synchronization between the service's DNS entries and the underlying endpoints when scaling the Headless service.

Why is this needed:

Currently, External-DNS generates DNS records upon the creation of a headless Service. However, when scaling deployment/statefulset, updates to the Endpoint resource containing new list of IP addresses don't trigger External-DNS updates. This omission occurs due to the lack of Endpoint event monitoring.

The existing workarounds involve either:

Manually triggering the Service resource update with an annotation. Utilizing a small --interval in External-DNS to enforce recurrent updates. However, this approach has drawbacks:

  • Asynchronous updates
  • Quick rate limiting by the DNS provider API (such as Route53) due to the number of External-DNS instances.

Consequently, implementing Endpoint event monitoring would streamline the synchronization between scaling operations and DNS updates for Headless services, mitigating the need for manual interventions and/or lowering the update interval

github-amine-kherbouche avatar Dec 15 '23 16:12 github-amine-kherbouche

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

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

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

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

/lifecycle stale

k8s-triage-robot avatar Mar 14 '24 17:03 k8s-triage-robot

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:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle rotten
  • Close this issue with /close
  • Offer to help out with Issue Triage

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

/lifecycle rotten

k8s-triage-robot avatar Apr 13 '24 17:04 k8s-triage-robot

We got the same issue, External-DNS is very very slow in terms of updating a headless Service object

IliaGe avatar Apr 16 '24 12:04 IliaGe

Also experiencing the same issue. Currently external-dns takes about ~5 min to update records.

or-he-MA avatar Apr 16 '24 13:04 or-he-MA

Hey! We have this issue as well.

bakavets-ma avatar Apr 16 '24 14:04 bakavets-ma

this would be a great feature, lowering update interval really isn't good enough

mikeh096 avatar Apr 17 '24 20:04 mikeh096

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

This bot triages issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Reopen this issue with /reopen
  • Mark this issue as fresh with /remove-lifecycle rotten
  • Offer to help out with Issue Triage

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

/close not-planned

k8s-triage-robot avatar May 17 '24 20:05 k8s-triage-robot

@k8s-triage-robot: Closing this issue, marking it as "Not Planned".

In response to this:

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

This bot triages issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Reopen this issue with /reopen
  • Mark this issue as fresh with /remove-lifecycle rotten
  • Offer to help out with Issue Triage

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

/close not-planned

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

k8s-ci-robot avatar May 17 '24 20:05 k8s-ci-robot

/reopen

github-amine-kherbouche avatar Jul 01 '24 08:07 github-amine-kherbouche

@github-amine-kherbouche: Reopened this issue.

In response to this:

/reopen

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

k8s-ci-robot avatar Jul 01 '24 08:07 k8s-ci-robot

any update for this issue? I forget to mention but any updates to the Endpoint resource don't trigger External-DNS updates

github-amine-kherbouche avatar Jul 01 '24 08:07 github-amine-kherbouche

Hey! we are also experiencing the same issue

Sagi-MA avatar Jul 01 '24 08:07 Sagi-MA

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

This bot triages issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Reopen this issue with /reopen
  • Mark this issue as fresh with /remove-lifecycle rotten
  • Offer to help out with Issue Triage

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

/close not-planned

k8s-triage-robot avatar Jul 31 '24 09:07 k8s-triage-robot

@k8s-triage-robot: Closing this issue, marking it as "Not Planned".

In response to this:

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

This bot triages issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Reopen this issue with /reopen
  • Mark this issue as fresh with /remove-lifecycle rotten
  • Offer to help out with Issue Triage

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

/close not-planned

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

k8s-ci-robot avatar Jul 31 '24 09:07 k8s-ci-robot

/reopen

github-brice-messeca avatar Jul 31 '24 14:07 github-brice-messeca

@github-brice-messeca: You can't reopen an issue/PR unless you authored it or you are a collaborator.

In response to this:

/reopen

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

k8s-ci-robot avatar Jul 31 '24 14:07 k8s-ci-robot

/reopen

github-amine-kherbouche avatar Aug 26 '24 13:08 github-amine-kherbouche

@github-amine-kherbouche: Reopened this issue.

In response to this:

/reopen

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

k8s-ci-robot avatar Aug 26 '24 13:08 k8s-ci-robot