observability: add k8s API/kubelet tracing, Alloy, Mimir and Loki

Wire kube-apiserver and kubelet tracing to a Jaeger collector on
docker-29, deploy Grafana Alloy in-cluster to ship logs/metrics, and
stand up Mimir + Loki on docker-30 as their backing stores.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-09 00:05:21 +02:00
parent 95355ef7a5
commit d43ffd488e
29 changed files with 1586 additions and 1 deletions

View File

@@ -0,0 +1,14 @@
services:
jaeger:
image: jaegertracing/jaeger:2.18.0
container_name: jaeger
restart: unless-stopped
user: root
command: ["--config", "/jaeger/config.yaml"]
volumes:
- ./jaeger-config.yaml:/jaeger/config.yaml:ro
- ./badger:/badger
ports:
- "4317:4317" # OTLP gRPC
- "4318:4318" # OTLP HTTP
- "16686:16686" # Jaeger UI

View File

@@ -0,0 +1,35 @@
service:
extensions: [jaeger_storage, jaeger_query]
pipelines:
traces:
receivers: [otlp]
processors: []
exporters: [jaeger_storage_exporter]
extensions:
jaeger_storage:
backends:
badger_store:
badger:
directories:
keys: /badger/key
values: /badger/data
ephemeral: false
ttl:
spans: 4h
metrics_update_interval: 5m
jaeger_query:
storage:
traces: badger_store
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
exporters:
jaeger_storage_exporter:
trace_storage: badger_store