--- /dev/null
+apiVersion: opentelemetry.io/v1beta1
+kind: OpenTelemetryCollector
+metadata:
+ name: otel
+spec:
+ config:
+ receivers:
+ otlp:
+ protocols:
+ grpc:
+ endpoint: 0.0.0.0:4317
+ http:
+ endpoint: 0.0.0.0:4318
+ processors:
+ memory_limiter:
+ check_interval: 1s
+ limit_percentage: 75
+ spike_limit_percentage: 15
+ exporters:
+ prometheus:
+ endpoint: "0.0.0.0:8887"
+ otlp/tempo:
+ endpoint: "tempo:4317"
+ tls:
+ insecure: true
+ service:
+ pipelines:
+ metrics:
+ receivers:
+ - otlp
+ processors:
+ - memory_limiter
+ exporters:
+ - prometheus
+ traces:
+ receivers: [otlp]
+ processors: [memory_limiter]
+ exporters: [otlp/tempo]
--- /dev/null
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: tempo-config
+data:
+ tempo-config: |
+ stream_over_http_enabled: true
+ server:
+ http_listen_port: 3200
+ log_level: info
+
+ query_frontend:
+ search:
+ duration_slo: 5s
+ throughput_bytes_slo: 1.073741824e+09
+ metadata_slo:
+ duration_slo: 5s
+ throughput_bytes_slo: 1.073741824e+09
+ trace_by_id:
+ duration_slo: 5s
+
+ distributor:
+ receivers:
+ otlp:
+ protocols:
+ grpc:
+
+ ingester:
+ max_block_duration: 5m
+
+ compactor:
+ compaction:
+ block_retention: 1h
+
+ storage:
+ trace:
+ backend: local
+ wal:
+ path: /var/tempo/wal
+ local:
+ path: /var/tempo/blocks
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: tempo
+spec:
+ selector:
+ matchLabels:
+ app: tempo
+ replicas: 1
+ template:
+ metadata:
+ labels:
+ app: tempo
+ spec:
+ volumes:
+ - name: tempo-config-vol
+ configMap:
+ name: tempo-config
+ items:
+ - key: tempo-config
+ path: tempo.yaml
+ containers:
+ - name: tempo
+ image: grafana/tempo:2.10.5
+ ports:
+ - containerPort: 4317
+ - containerPort: 3200
+ args: [ "-config.file=/conf/tempo.yaml" ]
+ volumeMounts:
+ - name: tempo-config-vol
+ mountPath: /conf
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: tempo
+ labels:
+ app: tempo
+spec:
+ selector:
+ app: tempo
+ ports:
+ - port: 4317
+ name: tempo-otel-grpc
+ protocol: TCP
+ targetPort: 4317
+ - port: 3200
+ name: tempo-http-frontend
+ targetPort: 3200