How do I know which endpoints Linkerd is aware of? (was: Fail-Fast troubleshooting)

Hi all !
I’m trying to figure out the reason for a “fail-fast” error that occurred between 2 meshed services (A is the client, B is the server).
Is there a way to know at a given point which endpoints service A is currently aware of?

To the best of my understanding, “fail-fast” would happen when a client says: “I don’t know of any endpoints to send requests to, so I’m done”.
In this case Service B had 3 instances but one of them crashed (OOM) - which triggered one of the 2 instances of Service A to “fail-fast”.

I suspect Service A’s endpoints were not updated.

Perhaps this has to do max-concurrent-requests too, like in this issue:

Hey Eli!

The linkerd diagnostics endpoints command will list out the endpoints for a given service. A quick example using the emojivoto app would look like: linkerd diagnostics endpoints emoji-svc.emojivoto.svc.cluster.local:8080 web-svc.emojivoto.svc.cluster.local:80

2 Likes