Skip to content

Add k8s.pod.ip to LINKERD2_PROXY_TRACE_EXTRA_ATTRIBUTES #13980

Open
@jseiser

Description

@jseiser

What problem are you trying to solve?

Its really common for the POD IP to be used to associate spans. The Downward API makes obtaining the IP easy enough, and the process to do so in linkerd is already there.

How should the problem be solved?

  1. Add the pod IP here: https://github.com/linkerd/linkerd2/blob/main/charts/partials/templates/_proxy.tpl#L27
  2. Add pod IP here: https://github.com/linkerd/linkerd2/blob/main/jaeger/injector/mutator/patch.go#L54

Any alternatives you've considered?

Tracing based on uid only.

How would users interact with this feature?

By configuring the k8s attribute resource for their collector: https://github.com/linkerd/linkerd2/blob/main/jaeger/charts/linkerd-jaeger/values.yaml#L122

pod_association:
  # below association takes a look at the datapoint's k8s.pod.ip resource attribute and tries to match it with
  # the pod having the same attribute.
  - sources:
      - from: resource_attribute
        name: k8s.pod.ip
  # below association takes a look at the datapoint's k8s.pod.uid resource attribute and tries to match it with
  # the pod having the same attribute.
  - sources:
      - from: resource_attribute
        name: k8s.pod.uid
  # below association matches for pair `k8s.pod.name` and `k8s.namespace.name`
  - sources:
      - from: resource_attribute
        name: k8s.pod.name
      - from: resource_attribute
        name: k8s.namespace.name

Would you like to work on this feature?

yes

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions