菜单
文档breadcrumb arrow Grafana Tempobreadcrumb arrow 设置breadcrumb arrow 规划您的部署
开源

规划您的 Tempo 部署

Tempo 可以部署在 *单体* 或 *微服务* 模式下。

部署模式由运行时配置 target 或命令行中的 -target 标志决定。默认目标是 all,即单体部署模式。

注意

*单体模式* 以前称为 *单二进制模式*。类似地,*可扩展单体模式* 以前称为 *可扩展单二进制模式*。尽管文档已更新以反映此更改,但某些 URL 名称和部署工具(例如 Helm chart)尚未反映此更改。

单体模式

单体模式部署在一个进程中运行所有顶层组件,形成一个 Tempo 实例。单体模式部署最简单,但不能通过增加组件数量来实现水平扩展。有关组件的描述,请参阅架构

要启用此模式,使用 -target=all,这是默认值。

docker-compose 部署示例请参见

可扩展单体模式

单体模式可以水平扩展。这种可扩展单体模式类似于单体模式,所有组件都在一个进程中运行。通过实例化多个进程实现水平扩展,每个进程的 -target 设置为 scalable-single-binary

此模式提供了一定的扩展灵活性,同时避免了完整微服务部署的配置复杂性。

每个 queriersfrontend_address 执行 DNS 查找,并连接到 DNS 记录中找到的地址。

docker-compose 部署示例请参见

微服务模式

在微服务模式下,组件部署在独立的进程中。每个组件都可以独立扩展,从而在扩展方面提供了更大的灵活性,并实现了更精细的故障域。这是生产部署的首选方法,但也是最复杂的方法。

与每个组件部署关联的配置指定了一个 target。例如,要部署一个 querier,配置将包含 target: querier。命令行部署可以指定 -target=querier 标志。必须部署架构中引用的每个组件才能获得一个可用的 Tempo 实例。

docker-compose 部署示例请参见

用于部署 Tempo 的工具

Tempo 可以通过多种工具轻松部署,包括 Helm、Tanka、Kubernetes 和 Docker。

注意

Tanka 和 Helm 示例是等效的。两者都提供给喜欢不同配置机制的用户。

Helm

Helm chart 在 grafana/helm-charts 仓库中提供

此外,Tempo 仓库中还提供了几个 Helm chart 示例。

Kubernetes Tempo Operator

该 operator 在 grafana/tempo-operator 仓库中提供。该 operator 协调 TempoStack 资源以部署和管理 Tempo 微服务安装。

有关更多详细信息,请参阅operator 文档

Tanka/Jsonnet

使用 Tanka 部署 Tempo 所需的 Jsonnet 文件在此提供

这里有一些使用官方 Jsonnet 文件的示例。它们展示了 Tempo 可用的完整配置范围。

Kubernetes manifests

您可以在 operations/jsonnet-compiled 文件夹中找到一组用于部署 Tempo 的 Kubernetes manifests。这些是使用 Tanka/Jsonnet 生成的。