external-dns: No endpoints could be generated from ingress (when backing service is invalid)
What happened:
I noticed that external dns was not creating a route53 entry in AWS for an ingress that I created. I later found out that part of the ingress was malformed, in that it was pointing to a service that didn’t exist. The ingress to be created is a ALB Ingress, which was successfully performed.
The following log statement is what triggered that:
time="2020-06-30T22:52:12Z" level=debug msg="No endpoints could be generated from ingress my-namespace/my-app"
What you expected to happen:
Despite an invalid backing service to the ingress, external-dns should have still creating a entry that pointed to the ALB.
How to reproduce it (as minimally and precisely as possible):
I believe (untested), if you create an ingress, that points to a non-existent service, this can be reproduced.
Anything else we need to know?:
Environment:
- External-DNS version (use
external-dns --version
): 0.7.1 - DNS provider: AWS Route53
- Others: Kubernetes 1.14
About this issue
- Original URL
- State: open
- Created 4 years ago
- Comments: 17 (1 by maintainers)
The generation of endpoints seems to be directly tied to the Ingress having an “Address”. In my case, I was able to get this working by setting by my ingress controller to publish its address to the ingress resources
For traefik:
kubernetesIngress.publishedService.enabled=true
For nginx:
controller.publishService.enabled=true
Perhaps you don’t have the ingress controller installed. To install it you need to run the following command:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/cloud/deploy.yaml