kubernetes-sigs / external-dns

Configure external DNS servers (AWS Route53, Google CloudDNS and others) for Kubernetes Ingresses and Services
Apache License 2.0
7.73k stars 2.57k forks source link

No endpoints could be generated from ingress (when backing service is invalid) #1656

Open ghostsquad opened 4 years ago

ghostsquad commented 4 years ago

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:

fejta-bot commented 4 years ago

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-testing, kubernetes/test-infra and/or fejta. /lifecycle stale

ghostsquad commented 4 years ago

Not stale

seanmalloy commented 4 years ago

/remove-lifecycle stale

igoratencompass commented 4 years ago

Have the same issue:

time="2020-10-28T01:57:52Z" level=debug msg="No endpoints could be generated from service ns1/go-app"
time="2020-10-28T01:57:52Z" level=debug msg="No endpoints could be generated from ingress ns1/go-app"

no idea how does it come to that conclusion when the endpoints clearly exist:

$ kc describe svc -n ns1 go-app | grep Endpoints
Endpoints:         100.117.196.198:8081,100.117.234.8:8081

$ kc get endpoints -n ns1 --show-labels
NAME     ENDPOINTS                                 AGE   LABELS
go-app   100.117.196.198:8081,100.117.234.8:8081   17h   app=go-app,dns=route53,name=go-app

This is k8s v1.18.10 and image k8s.gcr.io/external-dns/external-dns:v0.7.4

NBroomfield commented 3 years ago

Dito, anyone got any idea how to get external DNS working, I've followed the instructions here...https://github.com/kubernetes-sigs/external-dns/blob/master/docs/tutorials/azure.md

YuhuaDeng commented 3 years ago

same issue

time="2021-03-03T08:44:08Z" level=debug msg="No endpoints could be generated from ingress harbor/harbor-harbor-ingress"
time="2021-03-03T08:44:08Z" level=debug msg="No endpoints could be generated from ingress harbor/harbor-harbor-ingress-notary"
time="2021-03-03T08:44:08Z" level=debug msg="No endpoints could be generated from ingress jaeger/jaeger-ingress"
adamday2 commented 3 years ago

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

fejta-bot commented 3 years ago

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

ghostsquad commented 3 years ago

/remove-lifecycle stale

k8s-triage-robot commented 3 years ago

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

ghostsquad commented 3 years ago

/remove-lifecycle stale

k8s-triage-robot commented 2 years ago

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

ghostsquad commented 2 years ago

/remove-lifecycle stale

MadhavJivrajani commented 2 years ago

/lifecycle frozen

tadrian88 commented 2 years ago

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

farazoman commented 1 year ago

for me the problem was with the controller, basically it wasn't adding the routing info for my host should be pointing. Thanks @tadrian88

jwalton commented 1 year ago

I was running into a similar problem. In my case, I'm using aws-load-balancer-controller, and the controller was failing to create my load balancer because of an invalid certificate. It would be nice if external-dns gave a slightly nicer error in the logs here, especially with debug logging turned on, but at least in my case it wasn't external-dns's fault.

honarkhah commented 3 months ago

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

I have the same problem but with Istio, any solution?