Grafana Tempo 是一款分布式追踪系统,与 Grafana 具有开箱即用的集成能力。它具备高度可扩展性,支持多种主流追踪协议。Bitnami 提供的此 Helm Chart 旨在通过 Helm 包管理器在 Kubernetes 集群中快速部署 Grafana Tempo,适用于开发和生产环境的容器化部署需求。
Grafana Tempo ***概述
商标说明:本软件包由 Bitnami 打包。所提及的商标分属各自公司所有,使用此类商标不意味着任何关联或背书。
自 2025 年 8 月 28 日起,Bitnami 将升级其公共镜像目录,通过新的 Bitnami Secure Images 计划 提供精选的、专注于安全性的加固镜像。此次过渡包括:
tempo.yaml 配置文件及覆盖配置,适应不同场景需求。consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/grafana-tempo
如需在生产环境使用 Grafana Tempo,建议尝试 VMware Tanzu Application Catalog,即 Bitnami 目录的商业版本。
添加 Helm 仓库(如未配置):
consolehelm repo add bitnami [***] helm repo update
安装 Chart:
使用自定义发布名称(如 my-release)安装:
consolehelm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/grafana-tempo
注意:需替换
REGISTRY_NAME和REPOSITORY_NAME为实际 Helm 仓库地址。Bitnami ***仓库示例:REGISTRY_NAME=registry-1.docker.io,REPOSITORY_NAME=bitnamicharts。
验证部署:
consolehelm list # 查看所有发布 kubectl get pods # 检查 Pod 状态
Bitnami Charts 允许为部署中的所有容器设置资源请求(requests)和限制(limits),通过 resources 参数配置。生产环境中必须设置资源请求,且需根据实际场景调整。
可通过 resourcesPreset 参数应用预设资源配置(详见 bitnami/common Chart),但生产环境建议手动配置以适配具体需求。更多信息参考 Kubernetes 容器资源管理文档。
生产环境强烈建议使用不可变标签(immutable tags),避免因标签更新导致部署自动变更。Bitnami 会在主容器版本更新、重大变更或存在严重漏洞时发布新 Chart 以更新容器镜像。
通过设置 metrics.enabled=true 可启用 Prometheus 集成,暴露 Grafana Tempo 原生 Prometheus 端口,并为 Service 添加自动发现注解。
需预先部署 Prometheus 或 Prometheus Operator。推荐安装 Bitnami Prometheus Helm Chart 或 Bitnami Kube Prometheus Helm Chart。
设置 metrics.serviceMonitor.enabled=true 可部署 ServiceMonitor 对象。需确保集群已安装 Prometheus Operator CRDs,否则会报错:
textno matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"
Tempo 配置文件 tempo.yaml 适用于所有组件(distributor、compactor、ingester、querier、queryFrontend),通过 tempo.configuration 参数配置。配置项参考 Grafana Tempo ***文档。
也可通过 tempo.existingConfigmap 指定已存在的 ConfigMap 存储配置。
可为各组件(distributor、compactor、ingester、querier、queryFrontend、vulture)添加额外环境变量,支持以下方式:
直接指定:
yamlcompactor: extraEnvVars: - name: LOG_LEVEL value: error # 其他组件类似
通过 ConfigMap/Secret:
使用 extraEnvVarsCM(ConfigMap 名称)或 extraEnvVarsSecret(Secret 名称)引用现有配置。
可通过各组件的 sidecars 参数添加额外容器(如指标/日志采集器):
yamlsidecars: - name: your-image-name image: your-image imagePullPolicy: Always ports: - name: portname containerPort: 1234
如需暴露边车容器端口,可通过 service.extraPorts 配置:
yamlservice: extraPorts: - name: extraPort port: *** targetPort: ***
注意:本 Chart 已包含 Prometheus exporter 边车容器(如需启用,设置
--enable-metrics=true),sidecars参数仅用于添加额外容器。
通过 initContainers 参数添加初始化容器:
yamlinitContainers: - name: your-image-name image: your-image imagePullPolicy: Always ports: - name: portname containerPort: 1234
可通过 affinity 参数自定义 Pod 亲和性,或使用 bitnami/common Chart 提供的预设:
podAffinityPreset:Pod 亲和性预设podAntiAffinityPreset:Pod 反亲和性预设nodeAffinityPreset:节点亲和性预设上述预设需在各组件(distributor、compactor 等)的配置项下设置。
如需对接外部 Memcached(如托管缓存服务或共享缓存),可通过 externalMemcached 参数配置,并禁用内置 Memcached:
consolememcached.enabled=false externalMemcached.host=myexternalhost externalMemcached.port=***
Helm Chart 部署的备份与恢复需通过 Velero 工具实现,具体步骤参考 使用 Velero 备份恢复指南。
Bitnami grafana-tempo 镜像 将 ingester 数据存储在容器内 /bitnami 路径,通过 Persistent Volume Claims(PVC)实现数据持久化。
| 名称 | 描述 | 默认值 |
|---|---|---|
global.imageRegistry | 全局 Docker 镜像仓库 | "" |
global.imagePullSecrets | 全局 Docker 镜像拉取密钥数组 | [] |
global.defaultStorageClass | 全局默认 PV 存储类 | "" |
global.storageClass | (已弃用)使用 global.defaultStorageClass 替代 | "" |
global.security.allowInsecureImages | 是否允许跳过镜像验证 | false |
global.compatibility.openshift.adaptSecurityContext | 适配 OpenShift restricted-v2 SCC 的安全上下文(可选值:auto/force/disabled) | auto |
| 名称 | 描述 | 默认值 |
|---|---|---|
kubeVersion | 覆盖 Kubernetes 版本 | "" |
nameOverride | 部分覆盖资源全名 | "" |
fullnameOverride | 完全覆盖资源全名 | "" |
commonLabels | 添加到所有资源的标签 | {} |
commonAnnotations | 添加到所有资源的注解 | {} |
clusterDomain | Kubernetes 集群域名 | cluster.local |
extraDeploy | 额外部署的 Kubernetes 对象数组 | [] |
diagnosticMode.enabled | 启用诊断模式(禁用探针并覆盖命令) | false |
diagnosticMode.command | 诊断模式下覆盖容器命令 | ["sleep"] |
diagnosticMode.args | 诊断模式下覆盖容器参数 | ["infinity"] |
| 名称 | 描述 | 默认值 |
|---|---|---|
tempo.image.registry | Grafana Tempo 镜像仓库 | REGISTRY_NAME |
tempo.image.repository | Grafana Tempo 镜像仓库路径 | REPOSITORY_NAME/grafana-tempo |
tempo.image.digest | 镜像摘要(设置后覆盖标签) | "" |
tempo.image.pullPolicy | 镜像拉取策略 | IfNotPresent |
tempo.image.pullSecrets | 镜像拉取密钥 | [] |
tempo.memBallastSizeMbs | 内存压舱大小(MB) | 1024 |
tempo.dataDir | 数据存储目录 | /bitnami/grafana-tempo/data |
tempo.traces.jaeger.grpc | 启用 Jaeger GRPC 追踪接收 | true |
tempo.traces.jaeger.thriftBinary | 启用 Jaeger Thrift Binary 追踪接收 | false |
tempo.traces.jaeger.thriftCompact | 启用 Jaeger Thrift Compact 追踪接收 | false |
tempo.traces.jaeger.thriftHttp | 启用 Jaeger Thrift HTTP 追踪接收 | true |
tempo.traces.otlp.http | 启用 OTLP HTTP 追踪接收 | false |
tempo.traces.otlp.grpc | 启用 OTLP GRPC 追踪接收 | false |
tempo.traces.opencensus | 启用 OpenCensus 追踪接收 | false |
tempo.traces.zipkin | 启用 Zipkin 追踪接收 | false |
tempo.configuration | Tempo 配置内容 | "" |
tempo.existingConfigmap | 现有配置 ConfigMap 名称 | "" |
tempo.overridesConfiguration | 配置覆盖内容 | "" |
tempo.existingOverridesConfigmap | 现有覆盖配置 ConfigMap 名称 | "" |
tempo.containerPorts.web | Web 端口 | 3200 |
tempo.containerPorts.grpc | GRPC 端口 | 9095 |
tempo.containerPorts.gossipRing | Gossip Ring 端口 | 7946 |
tempo.gossipRing.service.ports.http | Gossip Ring 无头服务端口 | 7946 |
tempo.gossipRing.service.annotations | Gossip Ring 服务额外注解 | {} |
| 名称 | 描述 | 默认值 |
|---|---|---|
compactor.enabled | 是否启用 Compactor 部署 | true |
compactor.extraEnvVars | Compactor 额外环境变量数组 | [] |
compactor.extraEnvVarsCM | 存储额外环境变量的现有 ConfigMap 名称 | "" |
compactor.extraEnvVarsSecret | 存储额外环境变量的现有 Secret 名称 | "" |
compactor.command | 覆盖容器命令 | [] |
compactor.args | 覆盖容器参数 | [] |
compactor.replicaCount | Compactor 副本数 | 1 |
compactor.livenessProbe.enabled | 是否启用存活探针 | true |
compactor.livenessProbe.initialDelaySeconds | 存活探针初始延迟(秒) | - |
注意:完整参数列表请参考 GitHub 文档(原文档因长度限制被截断)。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429