3.4. 安装 TempoStack 实例
您可以使用 Web 控制台或命令行安装 TempoStack
实例。
3.4.1. 使用 Web 控制台安装 TempoStack 实例 复制链接链接已复制到粘贴板!
您可以从 Web 控制台的 Administrator 视图安装 TempoStack
实例。
先决条件
-
以具有
cluster-admin
角色的用户身份登录到 OpenShift Container Platform Web 控制台。 -
对于 Red Hat OpenShift Dedicated,您必须使用具有
dedicated-admin
角色的帐户登录。 您已完成由支持的供应商设置所需的对象存储:Red Hat OpenShift Data Foundation, MinIO, Amazon S3, Azure Blob Storage, Google Cloud Storage。如需更多信息,请参阅"对象存储设置"。
警告对象存储是必需的,它没有包含在 Distributed Tracing Platform 中。在安装 Distributed Tracing Platform (Tempo) 前,您必须通过受支持的供应商选择和设置对象存储。
- 您已定义一个或多个租户,并配置了读写权限。如需更多信息,请参阅"配置租户的读取权限"和"配置租户的写入权限"。
流程
-
前往 Home
Projects Create Project,为后续步骤中创建的 TempoStack
实例创建一个您选择的允许项目。不允许以openshift-
前缀开头的项目名称。 进入 Workloads
Secrets Create From YAML,在您为 TempoStack
实例创建的项目中为您的对象存储存储桶创建一个 secret。如需更多信息,请参阅"对象存储设置"。Amazon S3 和 MinIO 存储的 secret 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
TempoStack
实例。注意您可以在同一集群上的不同项目中创建多个
TempoStack
实例。-
进入 Operators
Installed Operators。 -
选择 TempoStack
Create TempoStack YAML view。 在 YAML 视图中,自定义
TempoStack
自定义资源(CR):AWS S3 和 MinIO 存储和两个租户的
TempoStack
CR 示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 此 CR 创建一个
TempoStack
部署,它被配置为通过 HTTP 和 OpenTelemetry 协议(OTLP)接收 Jaeger Thrift。 - 2
- 为
TempoStack
部署选择的项目。不允许以openshift-
前缀开头的项目名称。 - 3
- 红帽只支持 Red Hat OpenShift distributed Tracing Platform 文档中的提供的自定义资源选项。
- 4
- 指定用于存储 trace 的存储。
- 5
- 您在第 2 步中创建的 secret,用于作为其中一个先决条件设置的对象存储。
- 6
- secret 的
metadata
部分中的name
字段的值。例如:minio
。 - 7
- 可接受的值是
azure
(Azure Blob Storage),gcs
(Google Cloud Storage)和s3
(Amazon S3, MinIO, 或 Red Hat OpenShift Data Foundation)。例如:s3
。 - 8
- Tempo Write-Ahead Logging (WAL) 的持久性卷声明的大小。默认值为
10Gi
。例如:1Gi
。 - 9
- 可选。
- 10
- 该值必须是
openshift
。 - 11
- 租户列表。
- 12
- 租户名称,用作
X-Scope-OrgId
HTTP 标头的值。 - 13
- 租户的唯一标识符。在
TempoStack
部署的生命周期内必须是唯一的。Distributed Tracing Platform 使用此 ID 为对象存储中的对象添加前缀。您可以重复使用 UUID 或tempoName
字段的值。 - 14
- 启用执行身份验证和授权的网关。
- 15
- 公开 Jaeger UI,它通过路由
http://<gateway_ingress>/api/traces/v1/<tenant_name>/search
对数据进行视觉化。
- 选择 Create。
-
进入 Operators
验证
-
使用 Project: 下拉列表选择
TempoStack
实例的项目。 -
进入 Operators
Installed Operators,以验证 TempoStack
实例的 Status 是否为 Condition: Ready。 -
进入 Workloads
Pods,以验证 TempoStack
实例的所有组件 pod 都在运行。 访问 Tempo 控制台:
-
进入 Networking
Routes 和 Ctrl+F,以搜索 tempo
。 在 Location 列中,打开 URL 以访问 Tempo 控制台。
注意Tempo 控制台最初不会在 Tempo 控制台安装后显示 trace 数据。
-
进入 Networking
3.4.2. 使用 CLI 安装 TempoStack 实例 复制链接链接已复制到粘贴板!
您可以从命令行安装 TempoStack
实例。
先决条件
集群管理员具有
cluster-admin
角色的活跃 OpenShift CLI (oc
) 会话。提示-
确保您的 OpenShift CLI (
oc
) 版本为最新版本,并与您的 OpenShift Container Platform 版本匹配。 运行
oc login
命令:oc login --username=<your_username>
$ oc login --username=<your_username>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
确保您的 OpenShift CLI (
您已完成由支持的供应商设置所需的对象存储:Red Hat OpenShift Data Foundation, MinIO, Amazon S3, Azure Blob Storage, Google Cloud Storage。如需更多信息,请参阅"对象存储设置"。
警告对象存储是必需的,它没有包含在 Distributed Tracing Platform 中。在安装 Distributed Tracing Platform (Tempo) 前,您必须通过受支持的供应商选择和设置对象存储。
- 您已定义一个或多个租户,并配置了读写权限。如需更多信息,请参阅"配置租户的读取权限"和"配置租户的写入权限"。
流程
运行以下命令,为您要在后续步骤中创建的
TempoStack
实例创建您选择的允许项目:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 不允许以
openshift-
前缀开头的项目名称。
在您为
TempoStack
实例创建的项目中,运行以下命令来为您的对象存储桶创建一个 secret:oc apply -f - << EOF <object_storage_secret> EOF
$ oc apply -f - << EOF <object_storage_secret> EOF
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如需更多信息,请参阅"对象存储设置"。
Amazon S3 和 MinIO 存储的 secret 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在您为它创建的项目中创建
TempoStack
实例:注意您可以在同一集群上的不同项目中创建多个
TempoStack
实例。自定义
TempoStack
自定义资源(CR):AWS S3 和 MinIO 存储和两个租户的
TempoStack
CR 示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 此 CR 创建一个
TempoStack
部署,它被配置为通过 HTTP 和 OpenTelemetry 协议(OTLP)接收 Jaeger Thrift。 - 2
- 为
TempoStack
部署选择的项目。不允许以openshift-
前缀开头的项目名称。 - 3
- 红帽只支持 Red Hat OpenShift distributed Tracing Platform 文档中的提供的自定义资源选项。
- 4
- 指定用于存储 trace 的存储。
- 5
- 您在第 2 步中创建的 secret,用于作为其中一个先决条件设置的对象存储。
- 6
- secret 的
metadata
部分中的name
字段的值。例如:minio
。 - 7
- 可接受的值是
azure
(Azure Blob Storage),gcs
(Google Cloud Storage)和s3
(Amazon S3, MinIO, 或 Red Hat OpenShift Data Foundation)。例如:s3
。 - 8
- Tempo Write-Ahead Logging (WAL) 的持久性卷声明的大小。默认值为
10Gi
。例如:1Gi
。 - 9
- 可选。
- 10
- 该值必须是
openshift
。 - 11
- 租户列表。
- 12
- 租户名称,用作
X-Scope-OrgId
HTTP 标头的值。 - 13
- 租户的唯一标识符。在
TempoStack
部署的生命周期内必须是唯一的。Distributed Tracing Platform 使用此 ID 为对象存储中的对象添加前缀。您可以重复使用 UUID 或tempoName
字段的值。 - 14
- 启用执行身份验证和授权的网关。
- 15
- 公开 Jaeger UI,它通过路由
http://<gateway_ingress>/api/traces/v1/<tenant_name>/search
对数据进行视觉化。
运行以下命令来应用自定义 CR:
oc apply -f - << EOF <tempostack_cr> EOF
$ oc apply -f - << EOF <tempostack_cr> EOF
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
运行以下命令,验证所有
TempoStack
components
的状态是否为Running
,并且conditions
为type: Ready
:oc get tempostacks.tempo.grafana.com simplest -o yaml
$ oc get tempostacks.tempo.grafana.com simplest -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,验证所有
TempoStack
组件 pod 是否都在运行:oc get pods
$ oc get pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 访问 Tempo 控制台:
运行以下命令来查询路由详情:
oc get route
$ oc get route
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在网页浏览器中打开
https://<route_from_previous_step>
。注意Tempo 控制台最初不会在 Tempo 控制台安装后显示 trace 数据。