linkerd / linkerd2

Ultralight, security-first service mesh for Kubernetes. Main repo for Linkerd 2.x.
https://linkerd.io
Apache License 2.0
10.72k stars 1.28k forks source link

LINKERD2_PROXY_TRACE_COLLECTOR_SVC_ADDR - Should be able to set this to the Node IP. #13373

Open jseiser opened 6 days ago

jseiser commented 6 days ago

What problem are you trying to solve?

Linkerd doesnt actually play nicely when using the OTEL Collector.

You can run the collector as a Daemonset, and utilize the k8s resource attributes to provide additional metadata to the span. You should only be looking this information up for pod's that are running on the same host as the collector processing the spand.

When running as an agent, it is important to apply a discovery filter so that the processor only discovers pods from the same host that it is running on. Not using such a filter can result in unnecessary resource usage especially on very large clusters.

Your other option is to run the collector as a agent, but then you lose the ability to enrich the spans with that data.

How should the problem be solved?

Should be able to configure LINKERD2_PROXY_TRACE_COLLECTOR_SVC_ADDR to utilize the already existing spec.nodeName ENV var.

Any alternatives you've considered?

Just deal with broken traces.

How would users interact with this feature?

Ideally as a helm input.

Would you like to work on this feature?

no