
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Grafana Tempo 是一款分布式追踪系统,与 Grafana 具有开箱即用的集成能力。它具备高度可扩展性,支持多种主流追踪协议。Bitnami 提供的此 Helm Chart 旨在通过 Helm 包管理器在 Kubernetes 集群中快速部署 Grafana Tempo,适用于开发和生产环境的容器化部署需求。
https://github.com/grafana/tempo
商标说明:本软件包由 Bitnami 打包。所提及的商标分属各自公司所有,使用此类商标不意味着任何关联或背书。
自 2025 年 8 月 28 日起,Bitnami 将升级其公共镜像目录,通过新的 https://news.broadcom.com/app-dev/broadcom-introduces-bitnami-secure-images-for-production-ready-containerized-applications 提供精选的、专注于安全性的加固镜像。此次过渡包括:
tempo.yaml 配置文件及覆盖配置,适应不同场景需求。consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/grafana-tempo
如需在生产环境使用 Grafana Tempo,建议尝试 https://bitnami.com/enterprise%EF%BC%8C%E5%8D%B3 Bitnami 目录的商业版本。
添加 Helm 仓库(如未配置):
consolehelm repo add bitnami https://charts.bitnami.com/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 参数应用预设资源配置(详见 https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15%EF%BC%89%EF%BC%8C%E4%BD%86%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E5%BB%BA%E8%AE%AE%E6%89%8B%E5%8A%A8%E9%85%8D%E7%BD%AE%E4%BB%A5%E9%80%82%E9%85%8D%E5%85%B7%E4%BD%93%E9%9C%80%E6%B1%82%E3%80%82%E6%9B%B4%E5%A4%9A%E4%BF%A1%E6%81%AF%E5%8F%82%E8%80%83 https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/%E3%80%82
生产环境强烈建议使用不可变标签(immutable tags),避免因标签更新导致部署自动变更。Bitnami 会在主容器版本更新、重大变更或存在严重漏洞时发布新 Chart 以更新容器镜像。
通过设置 metrics.enabled=true 可启用 Prometheus 集成,暴露 Grafana Tempo 原生 Prometheus 端口,并为 Service 添加自动发现注解。
集成要求
需预先部署 Prometheus 或 Prometheus Operator。推荐安装 https://github.com/bitnami/charts/tree/main/bitnami/prometheus 或 https://github.com/bitnami/charts/tree/main/bitnami/kube-prometheus%E3%80%82
与 Prometheus Operator 集成
设置 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 参数配置。配置项参考 https://grafana.com/docs/tempo/latest/configuration/%E3%80%82
也可通过 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: docker.xuanyuan.run/your-image imagePullPolicy: Always ports: - name: portname containerPort: 1234
如需暴露边车容器端口,可通过 service.extraPorts 配置:
yamlservice: extraPorts: - name: extraPort port: 11311 targetPort: 11311
注意:本 Chart 已包含 Prometheus exporter 边车容器(如需启用,设置
--enable-metrics=true),sidecars参数仅用于添加额外容器。
通过 initContainers 参数添加初始化容器:
yamlinitContainers: - name: your-image-name image: docker.xuanyuan.run/your-image imagePullPolicy: Always ports: - name: portname containerPort: 1234
可通过 affinity 参数自定义 Pod 亲和性,或使用 https://github.com/bitnami/charts/tree/main/bitnami/common#affinities 提供的预设:
podAffinityPreset:Pod 亲和性预设podAntiAffinityPreset:Pod 反亲和性预设nodeAffinityPreset:节点亲和性预设上述预设需在各组件(distributor、compactor 等)的配置项下设置。
如需对接外部 Memcached(如托管缓存服务或共享缓存),可通过 externalMemcached 参数配置,并禁用内置 Memcached:
consolememcached.enabled=false externalMemcached.host=myexternalhost externalMemcached.port=11211
Helm Chart 部署的备份与恢复需通过 https://velero.io/ 工具实现,具体步骤参考 https://techdocs.broadcom.com/us/en/vmware-tanzu/application-catalog/tanzu-application-catalog/services/tac-doc/apps-tutorials-backup-restore-deployments-velero-index.html%E3%80%82
https://github.com/bitnami/containers/tree/main/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 | 存活探针初始延迟(秒) | - |
注意:完整参数列表请参考 https://github.com/bitnami/charts/blob/main/bitnami/grafana-tempo/README.md%EF%BC%88%E5%8E%9F%E6%96%87%E6%A1%A3%E5%9B%A0%E9%95%BF%E5%BA%A6%E9%99%90%E5%88%B6%E8%A2%AB%E6%88%AA%E6%96%AD%EF%BC%89%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务