APIcast icon indicating copy to clipboard operation
APIcast copied to clipboard

opentracing / RHT Service Mesh: jaeger-agent not exposed by OCP service

Open jbride opened this issue 5 years ago • 1 comments

Hello. In Red hat Service Mesh, the jaeger agent is now deployed as a daemonset. I'm trying to configure the NGinx/Jaeger opentracing libraries embedded in apicast to report to the Jaeger functionality of Red Hat Service Mesh and wondering if someone might have suggestions as per the following:

  1. Previously in community isitio 1.0, the jaeger agent was bundled in a Deployment and exposed as a service. NGinx opentracing libraries in apicast had no problem pushing UDP based spans to this jaeger agent via a config similar to the following:
    "localAgentHostPort": "jaeger-agent.istio-system:6831"

  2. In Red Hat Service Mesh, the jaeger agent is deployed as a DaemonSet. The implication is that it can't be exposed as a service. The NGinx opentracing libraries need to be configured to push UDP spans to : <hostname of OCP node that pod happens to reside on>:6831 . Not sure how this could be done via a jaeger_config.json ?

  3. Red Hat Service Mesh does expose the jaeger-collector as a service. Subsequently, it is possible that applications (such apicast) could push spans directly via TCP to jaeger-collector. I've been skimming through the source code of both opentracing-cpp and nginx-opentracing to identify if those libraries allow for reporting directly to jaeger-collector. Not coming across anything however.

jbride avatar Apr 07 '19 23:04 jbride

This is not really APIcast specific. We support whatever jaeger supports: https://github.com/3scale/APIcast/blob/master/gateway/conf.d/opentracing/jaeger.example.json I guess this question more belongs to https://github.com/jaegertracing/jaeger-client-cpp as ultimately that is the code doing the reporting.

mikz avatar Apr 08 '19 08:04 mikz