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

Support additional routing alias Route53 records

Open 2rs2ts opened this issue 4 years ago • 30 comments

What would you like to be added: An annotation called external-dns.alpha.kubernetes.io/routing-alias (or something like that) which lets you set an additional alias record that points to the record created in external-dns.alpha.kubernetes.io/hostname.

An example of a service with a latency-based rrset, where the "main" URL is myservice.mydomain.com but you would be able to reach a particular deployment of it at myservice-<region>.mydomain.com:

external-dns.alpha.kubernetes.io/hostname: myservice.mydomain.com
external-dns.alpha.kubernetes.io/routing-alias: myservice-<region>.mydomain.com
external-dns.alpha.kubernetes.io/set-identifier: myservice-<region>
external-dns.alpha.kubernetes.io/aws-region: <region>

Why is this needed: For many multi-region services at my company, we like to have region-specific records to use for testing specific regions' deployments, but our clients talk to a "main" URL that uses latency-based routing to redirect to the closest region. Of course, we could just use the auto-generated DNS names for the ELBs, but that requires looking up the names with kubectl. So right now we have external-dns create a simple alias record for the ELB and then we create the rrset out of band. Adding this feature would mean we would not have to create the rrset out of band.

2rs2ts avatar Mar 26 '21 22:03 2rs2ts

powerdns has ALIAS records as well. would love support for this feature. critical for anyone hosting mail.

rektide avatar Apr 12 '21 21:04 rektide

Issues go stale after 90d of inactivity. Mark the issue as fresh with /remove-lifecycle stale. Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale

fejta-bot avatar Jul 11 '21 22:07 fejta-bot

/remove-lifecycle stale

this bot is so annoying

2rs2ts avatar Jul 12 '21 17:07 2rs2ts

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

This bot triages issues and PRs 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 or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR 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 Oct 10 '21 18:10 k8s-triage-robot

/remove-lifecycle stale

2rs2ts avatar Oct 14 '21 23:10 2rs2ts

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

This bot triages issues and PRs 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 or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR 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 Jan 13 '22 00:01 k8s-triage-robot

/remove-lifecycle stale

2rs2ts avatar Jan 20 '22 01:01 2rs2ts

@2rs2ts : I am trying to test a similar setup for my apps in AWS east and west, through our current EKS module(ingress and external DNS) setup we are creating region-specific route 53 records pointing to the east and west alb. When I am trying to set up latency based on routing (for testing now but we want other routing policies working as well) when I am passing the below annotations in the ingress as below.

external-dns.alpha.kubernetes.io/hostname: myservice.mydomain.com
external-dns.alpha.kubernetes.io/routing-alias: myservice-<region>.mydomain.com
external-dns.alpha.kubernetes.io/set-identifier: myservice-<region>
external-dns.alpha.kubernetes.io/aws-region: <region>

It keeps on failing with the error message below.

level":"error","msg":"InvalidChangeBatch: [RRSet with DNS name myservice-use1.aws.dshrp.com., type A, SetIdentifier myservice-use1, and Region Name=us-east-1 cannot be created because a non-latency RRSet with the same name and type already exists., RRSet with DNS name myservice-use1.aws.dshrp.com.

Just to make it work I manually tried to delete the route 53 record set myservice-use1.aws.dshrp.com( A record and TXT) record but It is not creating the deeleted route-53 records. When I clean up all the above annotations everything is backup and running, but I am not able to make it work with any kind of routing policies.

sushantkumar12 avatar Mar 14 '22 21:03 sushantkumar12

@sushantkumar12 I'm confused by your comment. To be clear, this github issue is a feature request–the thing you tried doesn't exist yet. Please upvote the issue, and hopefully it will get prioritized sooner!

2rs2ts avatar Mar 15 '22 00:03 2rs2ts

@2rs2ts Yes, I realized later, I somehow thought looking through multiple posts/issues that it worked for you. From AWS documentation this seems like the feature is available. https://github.com/kubernetes-sigs/external-dns/blob/master/docs/tutorials/aws.md#routing-policies

sushantkumar12 avatar Mar 15 '22 13:03 sushantkumar12

I'm still not following you there. The docs you linked are external-dns' docs, and they still do not include my feature request here. Is it possible you are just talking about the set-identifier? That feature works well, but for me, it is not enough for a complete solution.

2rs2ts avatar Mar 16 '22 00:03 2rs2ts

No, I am not talking about set-identifier, I am talking about Routing policies the same as you, I have a similar use case as yours, where I want to route top-level DNS records between east and west DNS records based on different Routing policies mentioned in above doc.

sushantkumar12 avatar Mar 16 '22 01:03 sushantkumar12

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

This bot triages issues and PRs 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 or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR 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 Jun 14 '22 02:06 k8s-triage-robot

/remove-lifecycle stale

2rs2ts avatar Jun 14 '22 19:06 2rs2ts

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

This bot triages issues and PRs 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 or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR 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 Sep 12 '22 19:09 k8s-triage-robot

/remove-lifecycle stale

2rs2ts avatar Sep 26 '22 21:09 2rs2ts

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

This bot triages issues and PRs 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 or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR 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 Dec 25 '22 22:12 k8s-triage-robot

/remove-lifecycle stale

2rs2ts avatar Jan 13 '23 00:01 2rs2ts

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 Apr 13 '23 00:04 k8s-triage-robot

/remove-lifecycle stale

2rs2ts avatar Apr 13 '23 23:04 2rs2ts

/triage priority/backlog

szuecs avatar Apr 14 '23 11:04 szuecs

@szuecs: The label(s) triage/priority/backlog cannot be applied, because the repository doesn't have them.

In response to this:

/triage priority/backlog

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/test-infra repository.

k8s-ci-robot avatar Apr 14 '23 11:04 k8s-ci-robot

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 Jul 13 '23 11:07 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 Jan 19 '24 19:01 k8s-triage-robot

/remove-lifecycle rotten

hgontijo avatar Feb 03 '24 15:02 hgontijo

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 May 03 '24 16:05 k8s-triage-robot

/remove-lifecycle stale

2rs2ts avatar May 13 '24 00:05 2rs2ts