3.5. 安装 TempoMonolithic 实例
TempoMonolithic
实例只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
您可以使用 Web 控制台或命令行安装 TempoMonolithic
实例。
TempoMonolithic
自定义资源(CR) 以单体模式创建 Tempo 部署。Tempo 部署的所有组件(如紧凑器、经销商、ingester、querier 和查询前端)都包含在一个容器中。
TempoMonolithic
实例支持存储 trace in-memory storage、持久性卷或对象存储。
在单体模式下部署临时是小型部署、演示、测试和作为 Red Hat OpenShift distributed tracing 平台 (Jaeger) 全体部署的迁移路径的首选。
Tempo 的单体部署无法水平扩展。如果您需要水平扩展,请在微服务模式中将 TempoStack
CR 用于 Tempo 部署。
3.5.1. 使用 Web 控制台安装 TempoMonolithic 实例 复制链接链接已复制到粘贴板!
TempoMonolithic
实例只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
您可以从 Web 控制台的 Administrator 视图安装 TempoMonolithic
实例。
先决条件
-
以具有
cluster-admin
角色的用户身份登录到 OpenShift Container Platform Web 控制台。 -
对于 Red Hat OpenShift Dedicated,您必须使用具有
dedicated-admin
角色的帐户登录。 - 您已定义一个或多个租户,并配置了读写权限。如需更多信息,请参阅"配置租户的读取权限"和"配置租户的写入权限"。
流程
-
前往 Home
Projects Create Project,为后续步骤中创建的 TempoMonolithic
实例创建您选择的允许项目。不允许以openshift-
前缀开头的项目名称。 决定用于存储 trace 的存储类型:内存中存储、持久性卷或对象存储。
重要对象存储不包括在 Distributed Tracing Platform 中,需要由受支持的供应商设置对象存储: Red Hat OpenShift Data Foundation、MinIO、Amazon S3、Azure Blob Storage 或 Google Cloud Storage。
另外,选择对象存储需要在您为
TempoMonolithic
实例创建的项目中为您的对象存储桶创建一个 secret。您可以在 WorkloadsSecrets Create From YAML 中执行此操作。 如需更多信息,请参阅"对象存储设置"。
Amazon S3 和 MinIO 存储的 secret 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
TempoMonolithic
实例:注意您可以在同一集群上的不同项目中创建多个
TempoMonolithic
实例。-
进入 Operators
Installed Operators。 -
选择 TempoMonolithic
Create TempoMonolithic YAML view。 在 YAML 视图中,自定义
TempoMonolithic
自定义资源 (CR)。TempoMonolithic
CR 示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 此 CR 使用 OTLP 协议中的 trace ingestion 创建一个
TempoMonolithic
部署。 - 2
- 为
TempoMonolithic
部署选择的项目。不允许以openshift-
前缀开头的项目名称。 - 3
- 红帽只支持 Red Hat OpenShift distributed Tracing Platform 文档中的提供的自定义资源选项。
- 4
- 指定用于存储 trace 的存储。
- 5
- 用于存储 trace 的存储类型:内存存储、持久性卷或对象存储。持久性卷的值是
pv
。对象存储接受的值是s3
、gcs
或azure
,具体取决于使用的对象存储类型。tmpfs
内存中存储的默认值为memory
,它仅适用于开发、测试、演示和概念验证环境,因为在 pod 关闭时数据不会被保留。 - 6
- 内存大小:对于内存存储,这意味着
tmpfs
卷的大小,默认值为2Gi
。对于持久性卷,这意味着持久性卷声明的大小,默认值为10Gi
。对于对象存储,这意味着 Tempo Write-Ahead Logging (WAL)的持久性卷声明的大小,默认值为10Gi
。 - 7
- 可选: 对于对象存储,对象存储的类型。接受的值包括
s3
、gcs
和azure
,具体取决于使用的对象存储类型。 - 8
- 可选: 对于对象存储,存储 secret 的
metadata
中的name
值。存储 secret 必须与TempoMonolithic
实例位于同一个命名空间中,并包含 "Table 1 中指定的字段。"Object storage setup" 部分中所需的 secret 参数"。 - 9
- 可选。
- 10
- 可选:包含 CA 证书的
ConfigMap
对象的名称。 - 11
- 公开 Jaeger UI,它通过路由
http://<gateway_ingress>/api/traces/v1/<tenant_name>/search
对数据进行视觉化。 - 12
- 启用为 Jaeger UI 创建路由。
- 13
- 可选。
- 14
- 列出租户。
- 15
- 租户名称,用作
X-Scope-OrgId
HTTP 标头的值。 - 16
- 租户的唯一标识符。在
TempoMonolithic
部署的整个生命周期内必须是唯一的。此 ID 将作为前缀添加到对象存储中的对象。您可以重复使用 UUID 或tempoName
字段的值。
- 选择 Create。
-
进入 Operators
验证
-
使用 Project: 下拉列表选择
TempoMonolithic
实例的项目。 -
进入 Operators
Installed Operators,以验证 TempoMonolithic
实例的 Status 是否为 Condition: Ready。 -
进入 Workloads
Pods,验证 TempoMonolithic
实例的 pod 是否正在运行。 访问 Jaeger UI:
进入 Networking
Routes 和 Ctrl+F,以搜索 jaegerui
。注意Jaeger UI 使用
tempo-<metadata_name_of_TempoMonolithic_CR>-jaegerui
路由。- 在 Location 列中,打开 URL 以访问 Jaeger UI。
当
TempoMonolithic
实例的 pod 就绪时,您可以将 trace 发送到tempo-<metadata_name_of_TempoMonolithic_CR>:4317
(OTLP/gRPC) 和tempo-<metadata_name_of_TempoMonolithic_CR>:4318
(OTLP/HTTP) 端点。Tempo API 位于集群中的
tempo-<metadata_name_of_TempoMonolithic_CR>:3200
端点。
3.5.2. 使用 CLI 安装 TempoMonolithic 实例 复制链接链接已复制到粘贴板!
TempoMonolithic
实例只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
您可以从命令行安装 TempoMonolithic
实例。
先决条件
集群管理员具有
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 (
- 您已定义一个或多个租户,并配置了读写权限。如需更多信息,请参阅"配置租户的读取权限"和"配置租户的写入权限"。
流程
运行以下命令,为您要在后续步骤中创建的
TempoMonolithic
实例创建您选择的允许项目:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 不允许以
openshift-
前缀开头的项目名称。
决定用于存储 trace 的存储类型:内存中存储、持久性卷或对象存储。
重要对象存储不包括在 Distributed Tracing Platform 中,需要由受支持的供应商设置对象存储: Red Hat OpenShift Data Foundation、MinIO、Amazon S3、Azure Blob Storage 或 Google Cloud Storage。
另外,选择对象存储需要在您为
TempoMonolithic
实例创建的项目中为您的对象存储桶创建一个 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 在您为它创建的项目中创建
TempoMonolithic
实例。提示您可以在同一集群上的不同项目中创建多个
TempoMonolithic
实例。自定义
TempoMonolithic
自定义资源 (CR)。TempoMonolithic
CR 示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 此 CR 使用 OTLP 协议中的 trace ingestion 创建一个
TempoMonolithic
部署。 - 2
- 为
TempoMonolithic
部署选择的项目。不允许以openshift-
前缀开头的项目名称。 - 3
- 红帽只支持 Red Hat OpenShift distributed Tracing Platform 文档中的提供的自定义资源选项。
- 4
- 指定用于存储 trace 的存储。
- 5
- 用于存储 trace 的存储类型:内存存储、持久性卷或对象存储。持久性卷的值是
pv
。对象存储接受的值是s3
、gcs
或azure
,具体取决于使用的对象存储类型。tmpfs
内存中存储的默认值为memory
,它仅适用于开发、测试、演示和概念验证环境,因为在 pod 关闭时数据不会被保留。 - 6
- 内存大小:对于内存存储,这意味着
tmpfs
卷的大小,默认值为2Gi
。对于持久性卷,这意味着持久性卷声明的大小,默认值为10Gi
。对于对象存储,这意味着 Tempo Write-Ahead Logging (WAL)的持久性卷声明的大小,默认值为10Gi
。 - 7
- 可选: 对于对象存储,对象存储的类型。接受的值包括
s3
、gcs
和azure
,具体取决于使用的对象存储类型。 - 8
- 可选: 对于对象存储,存储 secret 的
metadata
中的name
值。存储 secret 必须与TempoMonolithic
实例位于同一个命名空间中,并包含 "Table 1 中指定的字段。"Object storage setup" 部分中所需的 secret 参数"。 - 9
- 可选。
- 10
- 可选:包含 CA 证书的
ConfigMap
对象的名称。 - 11
- 公开 Jaeger UI,它通过路由
http://<gateway_ingress>/api/traces/v1/<tenant_name>/search
对数据进行视觉化。 - 12
- 启用为 Jaeger UI 创建路由。
- 13
- 可选。
- 14
- 列出租户。
- 15
- 租户名称,用作
X-Scope-OrgId
HTTP 标头的值。 - 16
- 租户的唯一标识符。在
TempoMonolithic
部署的整个生命周期内必须是唯一的。此 ID 将作为前缀添加到对象存储中的对象。您可以重复使用 UUID 或tempoName
字段的值。
运行以下命令来应用自定义 CR:
oc apply -f - << EOF <tempomonolithic_cr> EOF
$ oc apply -f - << EOF <tempomonolithic_cr> EOF
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
运行以下命令,验证所有
TempoMonolithic
components
的状态是否为Running
,并且conditions
为type: Ready
:oc get tempomonolithic.tempo.grafana.com <metadata_name_of_tempomonolithic_cr> -o yaml
$ oc get tempomonolithic.tempo.grafana.com <metadata_name_of_tempomonolithic_cr> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,以验证
TempoMonolithic
实例的 pod 是否正在运行:oc get pods
$ oc get pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 访问 Jaeger UI:
运行以下命令,查询
tempo-<metadata_name_of_tempomonolithic_cr>-jaegerui
路由的路由详情:oc get route
$ oc get route
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
在网页浏览器中打开
https://<route_from_previous_step>
。
当
TempoMonolithic
实例的 pod 就绪时,您可以将 trace 发送到tempo-<metadata_name_of_tempomonolithic_cr>:4317
(OTLP/gRPC) 和tempo-<metadata_name_of_tempomonolithic_cr>:4318
(OTLP/HTTP) 端点。Tempo API 位于集群中的
tempo-<metadata_name_of_tempomonolithic_cr>:3200
端点。