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)。TempoMonolithicCR 示例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-OrgIdHTTP 标头的值。 - 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> EOFCopy 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)。TempoMonolithicCR 示例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-OrgIdHTTP 标头的值。 - 16
- 租户的唯一标识符。在
TempoMonolithic部署的整个生命周期内必须是唯一的。此 ID 将作为前缀添加到对象存储中的对象。您可以重复使用 UUID 或tempoName字段的值。
运行以下命令来应用自定义 CR:
oc apply -f - << EOF <tempomonolithic_cr> EOF
$ oc apply -f - << EOF <tempomonolithic_cr> EOFCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
运行以下命令,验证所有
TempoMonolithiccomponents的状态是否为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 yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,以验证
TempoMonolithic实例的 pod 是否正在运行:oc get pods
$ oc get podsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 访问 Jaeger UI:
运行以下命令,查询
tempo-<metadata_name_of_tempomonolithic_cr>-jaegerui路由的路由详情:oc get route
$ oc get routeCopy 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端点。