本文基于istion 1.0.4版本,并且置tracing.enable=true的情况下部署istio环境。 然后去部署非all-in-one的jaeger,jaeger版本为1.7,使用elasticsearch作为存储。
在istion中集成了all-in-one的jaeger(pod:istion-tracing-xxxxx, service:tracing)。同时istion中也部署了jaeger-agent, jaeger-collector, jaeger-query这三个service.
部署非all-in-one的jaeger之前,先修改istion-tracing deployment中的replicas为0,以便删除目前部署好的all-in-one的pod。
然后开始部署jaeger:
1. 部署configmap:
apiVersion: v1
kind: ConfigMap
metadata:
name: jaeger-configuration
namespace: kube-system
labels:
app: jaeger
jaeger-infra: configuration
data:
span-storage-type: elasticsearch
collector: |
es:
server-urls: http://elasticsearch:9200
username: elastic
password: changeme
collector:
zipkin:
http-port: 9411
query: |
es:
server-urls: http://elasticsearch:9200
username: elastic
password: changeme
2. elasticsearch
非all-in-one的jaeger使用elasticsearch作为存储。
部署elasticsearch statefulset:
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: elasticsearch
namespace: kube-system
labels:
app: jaeger
jaeger-infra: elasticsearch-statefulset
spec:
serviceName: elasticsearch
replicas: 1
template:
metadata:
labels:
app: jaeger-elasticsearch
jaeger-infra: elasticsearch-replica
spec:
containers:
- name: elasticsearch
image: docker.elastic.co/elasticsearch/elasticsearch:5.6.0
imagePullPolicy: Always
command: