介绍
- Jaeger是一个开源的分布式追踪系统,最初由Uber开发并开源,现在是CNCF的项目之一。主要用于监控和体哦按是分布式系统中的事务。
- 官网:Jaeger
- helm chart github地址:Jaeger Helm Charts
- ArtifactHub地址:Jaeger on ArtifactHub
下载
- 下载helm chart
helm repo add jaegertracing https://jaegertracing.github.io/helm-charts
helm repo update jaegertracing
helm pull jaegertracing/jaeger --version 3.4.1
配置
provisionDataStore:
cassandra: false
elasticsearch: false
kafka: false
allInOne:
enabled: true
replicas: 1
image:
registry: "quay.io"
repository: jaegertracing/all-in-one
tag: "1.65.0"
extraEnv:
- name: BADGER_SPAN_STORE_TTL
value: "72h0m0s"
service:
headless: true
collector:
otlp:
grpc:
name: otlp-grpc
http:
name: otlp-http
resources:
requests:
cpu: 22m
memory: 128M
limits:
cpu: 1000m
memory: 1024M
storage:
type: badger
badger:
ephemeral: false
persistence:
mountPath: /mnt/data
useExistingPvcName: badger-data
agent:
enabled: false
collector:
enabled: false
query:
enabled: false
Note
Badger是jaeger自带的k-v数据库:Jaeger Badger
安装
- 准备PVC
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: badger-data
namespace: monitoring
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: sc-nfs
volumeMode: Filesystem
- 部署
# Create Badger PVC
kubectl apply -f $DIRECTORY/external/jaeger/storage/pvc.yaml -n monitoring
helm upgrade -i jaeger -n monitoring \
jaegertracing/jaeger \
--version $VERSION \
-f $DIRECTORY/external/jaeger/values.yaml
# allow slow badger startup
kubectl patch deployment/jaeger -n monitoring --type='json' -p='[
{"op": "replace", "path": "/spec/template/spec/containers/0/readinessProbe/failureThreshold", "value": 100},
{"op": "replace", "path": "/spec/template/spec/containers/0/livenessProbe/failureThreshold", "value": 100}
]'