Replies: 1 comment
-
Hey @rejmond, the main container will resolve the DNS target before the proxy intercepts any packet. For example, consider two containers (each in a separate pod): The proxy in its current form resolves DNS only when communicating with the control plane. In order for the proxy to start up, it must first acquire its identity from the control plane's identity service -- it's safe to assume that if the proxy starts up, it has managed to connect to the control plane.
Because the main (app) container will resolve it first. If you want to see responses from the control plane, you can turn the log level up on the proxies and look for profile responses, or for the first few log lines when the proxy connects to the identity service. |
Beta Was this translation helpful? Give feedback.
-
I am looking into service discovery process and observe a behavior that doesn't correlates with the documentation.
According to the documentation Linkerd should use its destination component from the control plane for service discovery and ask K8S DNS if control plane is down. However I see DNS requests at the very beginning of client pod lifecycle.
I use the
emojivoto
demo app from the documenation as an example and tracevote-bot
toweb
pods requests.Pods and services IP from the demo app and the control plane namespace:
Logs from the injected
linkerd-debug
container:Full log file: debug.logs.txt
I see multiple requests to
kube-dns
service IP for resolvingweb-svc
service IP. There are a few requests tolinkerd-destination
pod IP, but they happens when service IP is already resolved. Also I don't see/Get
gRPC request tolinkerd-destination
at the VIZ dashboard or usinglinkerd tap
command.How can I check that Linkerd proxies are really connected to the control plane?
Thank you!
Beta Was this translation helpful? Give feedback.
All reactions