HiveBrain v1.2.0
Get Started
← Back to all entries
patternkubernetesMinor

Connecting jaeger with elasticsearch backend storage on kubernetes cluster

Submitted by: @import:stackexchange-devops··
0
Viewed 0 times
backendwithconnectingkubernetesstoragejaegerelasticsearchcluster

Problem

I have a kubernetes cluster on google cloud platform, and on it, I have a jaeger deployment via development setup of jaeger-kubernetes templates
because my purpose is setup elasticsearch like backend storage, due to this, I follow the jaeger-kubernetes github documentation with the following actions

  • I've created the services via production setup options



Here are configured the URLs to access to elasticsearch server and username and password and ports

kubectl create -f https://raw.githubusercontent.com/jaegertracing/jaeger-kubernetes/master/production-elasticsearch/configmap.yml


And here, there are configured the download of docker images of the elasticsearch service and their volume mounts.

kubectl create -f https://raw.githubusercontent.com/jaegertracing/jaeger-kubernetes/master/production-elasticsearch/elasticsearch.yml


And then, at this moment we have a elasticsearch service running over 9200 and 9300 ports

kubectl get service elasticsearch                                                                                                                                [a89fbe2]
NAME            TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)             AGE
elasticsearch   ClusterIP   None                 9200/TCP,9300/TCP   1h


  • I've follow with the creation of jaeger components using the kubernetes-jaeger production templates of this way:



λ bgarcial [~] → kubectl create -f https://raw.githubusercontent.com/jaegertracing/jaeger-kubernetes/master/jaeger-production-template.yml        
deployment.extensions/jaeger-collector created
service/jaeger-collector created
service/zipkin created
deployment.extensions/jaeger-query created
service/jaeger-query created
daemonset.extensions/jaeger-agent created

λ bgarcial [~/workspace/jaeger-elastic] at  master ?


According to the Jaeger architecture, the jaeger-collector and jaeger-query services require access to backend storage.

And so, these are my services running on my

Solution

When resolving a service in Kubernetes,


Assume a Service named foo in the Kubernetes namespace bar. A Pod running in namespace bar can look up this service by simply doing a DNS query for foo. A Pod running in namespace quux can look up this service by doing a DNS query for foo.bar.

Since Jaeger is in the same namespace, then yes, it can resolve the Elasticsearch endpoint with just elasticsearch. Your configuration is correct in that respect and requires no changes.

If Jaeger were located in another namespace, you could specify the full DNS record elasticsearch.default.svc.cluster.local.

Context

StackExchange DevOps Q#5822, answer score: 1

Revisions (0)

No revisions yet.