Open edison-vflow opened 3 months ago
hi, we are seeing the same issue
Me too, using Helm chart 8.3.5:
Failure in zone my-hosted-zone.my-company.com. [Id: /hostedzone/*******] when submitting change batch: InvalidChangeBatch: [Tried to create an alias that targets k8s-wordpres-wpdemowo-******.eu-central-1.elb.amazonaws.com., type A in zone *******, but the alias target name does not lie within the target zone]\n\tstatus code: 400, request id: 6d3b6622-8246-4a79-a338-da642d4158db
@edison-vflow : That you for figuring out that old charts work.
Using an old version will be OK for now (I will see) but it would be great to use the most recent version.
@edison-vflow Can you test using these versions and share the results with us? 7.0.1 7.0.2
The Kubernetes project currently lacks enough contributors to adequately respond to all issues.
This bot triages un-triaged issues according to the following rules:
lifecycle/stale
is appliedlifecycle/stale
was applied, lifecycle/rotten
is appliedlifecycle/rotten
was applied, the issue is closedYou can:
/remove-lifecycle stale
/close
Please send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle stale
What happened:
We have a GKE cluster running with ExternalDNS chart version 6.23.3 We use AWS Route 53 as DNS provider.
When updating ExternalDNS to latest chart version 8.3.5, there are errors in the ExternalDNS pods
From Investigations carried, I can confirm that the issue starts from helm chart version 6.28.2 onwards. So from 6.23.3 to 6.28.1, ExternalDNS is able to add all GKE ingress records to AWS Route 53 as A records correctly
From 6.28.2 to 8.3.5 ExternalDNS fails with the above mentioned error. The error shows us that from version 6.28.2, ExternalDNS is interpreting the GKE loadbalancer IP address as a domain name. It is then trying to add a DNS
A
record into Route53 withAlias=Yes
However, this is not correct and it will fail because the IP address of the GKE loadbalancer is not a domain that is within the hosted zone This attempt to add the IP address of the GKE loadbalancer as a domain in the same hosted zone would not have occurred if ExternalDNS treated the GKE loadbalancer as an A record without an AliasWhat you expected to happen:
For the versions that work, we can observe that ExternalDNS is able to correctly determine that the GKE ingress entries must be inserted into Route53 as A records with Alias = NO
i.e since the GKE loadbalancer Route53 is pointing to is an IP address, it should be pointed to directly and not as an alias
How to reproduce it (as minimally and precisely as possible):
Happy path
Breaking path
Anything else we need to know?:
Environment: GKE , Kubernetes version 1.30
external-dns --version
):