-
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
Ingress with IPv4 and IPv6 IPs results in failure to add records #2300
Comments
Hi @ffledgling, it seems that it's your code that has an assumption that there will ever be one target in endpoints which I have troubleshooted to be the culprit for the error as targets in my case has two, one IPv4 and one IPv6 address. external-dns/provider/pdns/pdns.go Lines 309 to 319 in 8cc9522
|
@samip5 I haven't touched this code in a very long time, but skimming through your PR, I'm a little confused? Why are you trying to force an IPv6 address into an A record? That should be in a AAAA record instead. The assumption is that there will only ever be one target per unique pair of (DNSName, recordType). It should still work with both IPv4 and IPv6 because that should be (<your_fqdn>, A) for IPv4 and (<your_fqdn>, AAAA) for your IPv6 address. I smell something fishy with the way ngnix is setting this up. Can you pastebin your CRD Objects? |
Please look though the PR without skimming it.
Current code without my PR changes will not work because it sees an IP and always expects it to be compatible with A records, which IPv6 addresses is not.
There is nothing fishy. Nginx provide a two endpoints/targets which the external-dns code assumes to be suitable for A record when it sees an IP address, even if it's IPv6 address. |
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:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
/remove-lifecycle stale |
I have created a PR that allows a temporary resolution of the issue. If |
I'm sorry but that's not a solution to the issue. Disabling IPv6 is what that effectly does which shouldn't be done. There's a proper IPv6 support PR #2461 |
Unfortunately, this is not quite correct. I have a pure IPv4 cluster that uses Hetzner Load Balancer. The LBs always have IPv4 and IPv6 addresses. That seems like quite a good option for IPv6 support for me... Unfortunately, that means the Ingress service has IPv4 and IPv6 external addresses, while the cluster is in IPv4 mode only. The current public release fails to update AWS Route 53 zones in such a situation. |
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:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
/lifecycle frozen |
Is this SIG accepting PRs for issues like this? Issue is important to me and it seems like a lot of the PRs are stale / ignored |
What happened:
The external-dns reported an error and it's unable to create records because it's trying to create A records only with IPv4 and IPv6 addresses.
What you expected to happen:
I expected it to work properly
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:
external-dns --version
): v0.9.0The text was updated successfully, but these errors were encountered: