cilium: Cross-node Hubble flows don't contain Kubernetes workload name

Is there an existing issue for this?

  • I have searched the existing issues

What happened?

Cross-node Hubble flows are missing Kubernetes workload name for either source or destination pod (depending on whether it’s an egress on ingress flow).

This also affects Hubble metrics. With metrics configuration like: labelsContext=source_workload,destination_workload;sourceContext=workload-name|pod-name;destinationContext=workload-name|pod-name source and destination labels are inconsistent - they will have pod name or workload name, depending on where the source and destination pods are running. Also source_workload and destination_workload will be correct for some metrics and empty for others.

Cilium Version

1.13.2

Kernel Version

?

Kubernetes Version

1.24.11-gke.1000

Sysdump

No response

Relevant log output

No response

Anything else?

The function to retrieve the workload name is called here. It seems that it’s called only for local endpoints, not remote ones.

Code of Conduct

  • I agree to follow this project’s Code of Conduct

About this issue

  • Original URL
  • State: open
  • Created a year ago
  • Reactions: 3
  • Comments: 20 (11 by maintainers)

Most upvoted comments

I’d be glad to fix this issue if nobody else is working on it.

Hi @lambdanis , I think I can try my hands fixing it, let me know if its still open to work and no one else has already begun the work on it, thanks 😃)

Once the pod information is updated after the Cilium update(as long as captured by k8swatcher), it will also become available.

Why do we need to store the ownerReference if we already have the name and namespace from K8sMetadata already in the ipcache?

cause workload is the info describes the controller of a pod(deployment, daemonset etc)

no problem, thanks for the update! 🚀