-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AWS R53 "A" alias record incorrectly uses TXT record with "cname-" prefix #3164
Comments
Also, one thing that's not clear to me is why it even adds this record type prefix when I already specified my own prefix without |
I noticed the same bug here with version |
So, if you want a DNS record to point at a load balancer, you can put it in an A(-ddress) record rather than a CNAME record, and route53 will automatically resolve (alias) the IP for clients. And it is also cheaper. Still seems like a bug, how the new-style TXT records are currently treating it. It looks like much of this aliasing logic is in the provider rather than the common parts of external-dns (despite that the feature is also supported by non-AWS providers such as Azure)? |
@benjimin Yes, it creates A "alias" record. That part is normal and working as expected. The problem is that it appends "cname" to TXT record, despite alias actually being A record type. |
Unfortunately, I think this problem is caused by poor modularisation of the The program main loop consists of repetitions of controller.Controller.RunOnce. This uses the source subpackage to gather what rules are desired, and uses the TXT subclass of the registry subpackage to ascertain what rules already exist on the DNS server and which ones The problem is that the source object is (inappropriately) opinionated about what types of DNS records should be used to represent each desired rule. So type CNAME is already specified (solely based on the target not resembling an IP address) before the rule even gets suggested to the controller or registry. This is why, when TXTRegistry injects its TXT records, it labels them "CNAME". Alias records are supported by multiple cloud providers (as they make the DNS system more efficient), but unfortunately the aliasing logic in To properly solve this problem, I think a major refactor of Incidentally, when (A and/or AAAA) aliasing is in use, it might also be possible for MX and SRV records to exist for the same hostname (unlike if a CNAME record were used), which could further interfere with the ability of the TXTRegistry to judge which records |
@benjimin Thanks for the in-depth analysis. I guess we'll just have to accept that it works like this for now. Can you also clarify if the fact that it still adds "cname-" prefix when I specify my own txt prefix without |
Pretty sure that last part is the intended behaviour (so that different DNS record types for the same hostname could in-principle be managed independently without conflict). |
@benjimin However, this document says:
I would assume that would mean that I decide whether to include record type in prefix or not when specifying "--txt-prefix", and if |
@artem-nefedov maybe raise that as a separate issue? |
I think this is a dupe of #2903. |
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 |
/remove-lifecycle stale
…On Tue, May 9, 2023, 3:12 PM Kubernetes Triage Robot < ***@***.***> wrote:
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
<https://www.kubernetes.dev/docs/guide/issue-triage/>
Please send feedback to sig-contributor-experience at kubernetes/community
<https://github.com/kubernetes/community>.
/lifecycle stale
—
Reply to this email directly, view it on GitHub
<#3164 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAFF3ALRLL254HFSIPW2O73XFKJLNANCNFSM6AAAAAASCOLZ5I>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
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 |
/remove-lifecycle rotten |
Duplicate of #2903 |
@johngmyers: Closing this issue. In response to this:
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. |
What happened:
When A alias record is created by external-dns, it also creates two TXT records, one of which contains "cname-" prefix, despite documentation on new registry format stating that it should be based on record type, and TXT records related to A records should have "a-" prefix.
What you expected to happen:
TXT record having "a-" prefix.
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Logs from the creation process look like this:
Environment:
The text was updated successfully, but these errors were encountered: