Skip to content

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.45

Starting 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 jaegers

deploy 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 jaegers

Reference:

  1. Official Website
  2. Repository
  3. jaeger-operator

Power by VitePress & Vue