Skip to content

grafana/tempo-operator

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2a60591 · Dec 9, 2024
Dec 2, 2024
Nov 6, 2024
Dec 3, 2024
Dec 3, 2024
Dec 9, 2024
Dec 3, 2024
Dec 3, 2024
Feb 26, 2024
Dec 3, 2024
Jul 14, 2023
Dec 2, 2024
Feb 26, 2024
Feb 26, 2024
Feb 26, 2024
Feb 27, 2023
Sep 9, 2022
Jan 8, 2024
Jun 30, 2023
Mar 7, 2023
Dec 2, 2024
Mar 6, 2024
Jul 4, 2024
Sep 6, 2022
Dec 3, 2024
Dec 3, 2024
Sep 19, 2023
Dec 2, 2024
May 7, 2024
Dec 3, 2024
Sep 27, 2024
Apr 24, 2023
Apr 24, 2023
Apr 24, 2023
Aug 24, 2023
Mar 6, 2024
Sep 13, 2024
Oct 24, 2022

Repository files navigation

Grafana Tempo operator

This is a Kubernetes operator for Grafana Tempo.

Features

  • Resource Limits - Specify overall resource requests and limits in the TempoStack CR; the operator assigns fractions of it to each component
  • AuthN and AuthZ - Supports OpenID Control (OIDC) and role-based access control (RBAC)
  • Managed upgrades - Updating the operator will automatically update all managed Tempo clusters
  • Multitenancy - Multiple tenants can send traces to the same Tempo cluster
  • mTLS - Communication between the Tempo components can be secured via mTLS
  • Jaeger UI - Traces can be visualized in Jaeger UI and exposed via Ingress or OpenShift Route
  • Observability - The operator and TempoStack operands expose telemetry (metrics, traces) and integrate with Prometheus ServiceMonitor and PrometheusRule

Documentation

Deploy

  1. Install cert-manager and minio: make cert-manager deploy-minio

  2. Build and deploy operator:

IMG_PREFIX=docker.io/${USER} OPERATOR_VERSION=$(date +%s).0.0 make docker-build docker-push deploy
  1. Create a secret for minio in the namespace you are using:
kubectl apply -f - <<EOF
apiVersion: v1
kind: Secret
metadata:
  name: minio-test
stringData:
  endpoint: http://minio.minio.svc:9000
  bucket: tempo
  access_key_id: tempo
  access_key_secret: supersecret
type: Opaque
EOF
  1. Create Tempo CR:
kubectl apply -f - <<EOF
apiVersion: tempo.grafana.com/v1alpha1
kind: TempoStack
metadata:
  name: simplest
spec:
  storage:
    secret:
      name: minio-test
      type: s3
  storageSize: 1Gi
  resources:
    total:
      limits:
        memory: 2Gi
        cpu: 2000m
  template:
    queryFrontend:
      jaegerQuery:
        enabled: true
EOF

Community