本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Grafana Tempo 是一款分布式追踪系统,与 Grafana 具有开箱即用的集成能力。它具备高度可扩展性,支持多种主流追踪协议。Bitnami 提供的此 Helm Chart 旨在通过 Helm 包管理器在 Kubernetes 集群中快速部署 Grafana Tempo,适用于开发和生产环境的容器化部署需求。
Grafana Tempo 官方概述
商标说明:本软件包由 Bitnami 打包。所提及的商标分属各自公司所有,使用此类商标不意味着任何关联或背书。
自 2025 年 8 月 28 日起,Bitnami 将升级其公共镜像目录,通过新的 Bitnami Secure Images 计划 提供精选的、专注于安全性的加固镜像。此次过渡包括:
tempo.yaml 配置文件及覆盖配置,适应不同场景需求。helm install my-release oci://registry-1.docker.io/bitnamicharts/grafana-tempo
如需在生产环境使用 Grafana Tempo,建议尝试 VMware Tanzu Application Catalog,即 Bitnami 目录的商业版本。
添加 Helm 仓库(如未配置):
helm repo add bitnami [***] helm repo update
安装 Chart:
使用自定义发布名称(如 my-release)安装:
helm 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。
验证部署:
helm 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,否则会报错:
no 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)添加额外环境变量,支持以下方式:
直接指定:
compactor: extraEnvVars: - name: LOG_LEVEL value: error # 其他组件类似
通过 ConfigMap/Secret:
使用 extraEnvVarsCM(ConfigMap 名称)或 extraEnvVarsSecret(Secret 名称)引用现有配置。
可通过各组件的 sidecars 参数添加额外容器(如指标/日志采集器):
sidecars: - name: your-image-name image: your-image imagePullPolicy: Always ports: - name: portname containerPort: 1234
如需暴露边车容器端口,可通过 service.extraPorts 配置:
service: extraPorts: - name: extraPort port: 11311 targetPort: 11311
注意:本 Chart 已包含 Prometheus exporter 边车容器(如需启用,设置
--enable-metrics=true),sidecars参数仅用于添加额外容器。
通过 initContainers 参数添加初始化容器:
initContainers: - 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:
memcached.enabled=false externalMemcached.host=myexternalhost externalMemcached.port=11211
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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429