Jaeger
Introduction
Jaeger is an open-source, end-to-end distributed tracing system originally developed at Uber and now a CNCF graduated project. It implements the OpenTracing and OpenTelemetry specifications, supporting context propagation, root cause analysis, performance optimization, and service dependency analysis for microservice architectures.
How to Install
Starting via Docker
All-in-one deployment, for testing environments
bash
docker run -d --name jaeger \
-e COLLECTOR_ZIPKIN_HOST_PORT=:9411 \
-e COLLECTOR_OTLP_ENABLED=true \
-p 6831:6831/udp \
-p 6832:6832/udp \
-p 5778:5778 \
-p 16686:16686 \
-p 4317:4317 \
-p 4318:4318 \
-p 14250:14250 \
-p 14268:14268 \
-p 14269:14269 \
-p 9411:9411 \
jaegertracing/all-in-one:1.45Starting via Kubernetes
Must be installed: ingress & cert-manager
deploy by kubenertes manifest
bash
# install operator
kubectl create namespace observability
kubectl create -f https://github.com/jaegertracing/jaeger-operator/releases/download/v1.45.0/jaeger-operator.yaml -n observability
# deploying allinone
cat > simpletest.yaml << "EOF"
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: simplest
EOF
kubectl -n observability apply -f simpletest.yaml
kubectl -n observability get jaegersdeploy by helm
bash
# add and update repo
helm repo add jaegertracing https://jaegertracing.github.io/helm-charts
helm update
# get charts package
helm pull jaegertracing/jaeger-operator --untar
cd jaeger-operator
# configure and run
vim values.yaml
helm -n observability install jaeger-operator .
kubectl apply -n observability -f - <<EOF
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: simplest
EOF
kubectl -n observability get jaegersReference: