将jaeger与kubernetes群集上的elasticsearch后端存储连接

0vvn1miw  于 2021-06-14  发布在  ElasticSearch
关注(0)|答案(1)|浏览(586)

我在google云平台上有一个kubernetes集群,在它上面,我有一个jaeger部署,通过jaeger-kubernetes模板的开发设置,因为我的目的是设置 elasticsearch 与后端存储一样,由于这个原因,我遵循jaeger-kubernetes github文档执行以下操作
我已经通过生产设置选项创建了服务
这里配置了要访问的URL elasticsearch 服务器、用户名、密码和端口

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

这里配置了下载elasticsearch服务的docker映像及其卷装载。

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

现在,我们有一个运行9200和9300个端口的elasticsearch服务

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

我使用 kubernetes-jaeger 这样的生产模板:

  1. λ bgarcial [~] kubectl create -f https://raw.githubusercontent.com/jaegertracing/jaeger-kubernetes/master/jaeger-production-template.yml
  2. deployment.extensions/jaeger-collector created
  3. service/jaeger-collector created
  4. service/zipkin created
  5. deployment.extensions/jaeger-query created
  6. service/jaeger-query created
  7. daemonset.extensions/jaeger-agent created
  8. λ bgarcial [~/workspace/jaeger-elastic] at master ?

根据jaeger建筑 jaeger-collector 以及 jaeger-query 服务需要访问后端存储。
这些是我在kubernetes集群上运行的服务:

  1. λ bgarcial [~/workspace/jaeger-elastic] at master ?
  2. kubectl get services [baefdf9]
  3. NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
  4. elasticsearch ClusterIP None <none> 9200/TCP,9300/TCP 3h
  5. jaeger-collector ClusterIP 10.55.253.240 <none> 14267/TCP,14268/TCP,9411/TCP 3h
  6. jaeger-query LoadBalancer 10.55.248.243 35.228.179.167 80:30398/TCP 3h
  7. kubernetes ClusterIP 10.55.240.1 <none> 443/TCP 3h
  8. zipkin ClusterIP 10.55.240.60 <none> 9411/TCP 3h
  9. λ bgarcial [~/workspace/jaeger-elastic] at master ?

我要去 configmap.yml ElasticSearch文件 kubectl edit configmap jaeger-configuration 命令以尝试编辑它与elasticsearch URL端点的关系(可能是。。。此时此刻,我觉得这是下一步……)
我执行它:

  1. λ bgarcial [~] kubectl edit configmap jaeger-configuration

我得到以下编辑条目:

  1. apiVersion: v1
  2. data:
  3. agent: |
  4. collector:
  5. host-port: "jaeger-collector:14267"
  6. collector: |
  7. es:
  8. server-urls: http://elasticsearch:9200
  9. username: elastic
  10. password: changeme
  11. collector:
  12. zipkin:
  13. http-port: 9411
  14. query: |
  15. es:
  16. server-urls: http://elasticsearch:9200
  17. username: elastic
  18. password: changeme
  19. span-storage-type: elasticsearch
  20. kind: ConfigMap
  21. metadata:
  22. creationTimestamp: "2018-12-27T13:24:11Z"
  23. labels:
  24. app: jaeger
  25. jaeger-infra: configuration
  26. name: jaeger-configuration
  27. namespace: default
  28. resourceVersion: "1387"
  29. selfLink: /api/v1/namespaces/default/configmaps/jaeger-configuration
  30. uid: b28eb5f4-09da-11e9-9f1e-42010aa60002

在这里。。。我需要设置我们自己的网址收集和查询服务,这将是连接到elasticsearch后端服务?
如何在此处设置elasticsearch ip地址或URL?
在jaeger组件中,查询和收集器需要访问存储,但我不知道什么是弹性端点。。。
是这个吗 server-urls: http://elasticsearch:9200 正确的终点?
我开始在kubernetes和devops的世界,我感谢如果有人可以帮助我在概念和点在正确的地址,以便设置jaeger和elasticsearch作为后端存储我。

sxpgvts3

sxpgvts31#

当您从同一命名空间中的pod访问服务时,可以只使用服务名称。例子:

  1. http://elasticsearch:9200

如果要从不同名称空间中的pod访问服务,还应该指定名称空间。例子:

  1. http://elasticsearch.mynamespace:9200
  2. http://elasticsearch.mynamespace.svc.cluster.local:9200

要检查服务所在的命名空间,请使用以下命令:

  1. kubectl get svc --all-namespaces -o wide

注意:更改configmap不会立即将其应用于部署。通常,您需要重新启动部署中的所有pod以应用新的configmap值。目前没有滚动重新启动功能,但您可以使用以下命令作为解决方法:
(将部署名称和pod名称替换为真实名称)

  1. kubectl patch deployment mydeployment -p '{"spec":{"template":{"spec":{"containers":[{"name":"my-pod-name","env":[{"name":"START_TIME","value":"'$(date +%s)'"}]}]}}}}'
展开查看全部

相关问题