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。如需更多信息,请参阅"对象存储设置"。

    警告

    对象存储是必需的,且不包含在分布式跟踪平台中。在安装分布式 Tracing Platform 前,您必须由支持的供应商选择和设置对象存储。

  • 您已定义一个或多个租户,并配置了读写权限。如需更多信息,请参阅"配置租户的读取权限"和"配置租户的写入权限"。

流程

  1. 进入 Home Projects Create Project,为在后续步骤中创建的 TempoStack 实例创建一个项目。
  2. 进入 Workloads Secrets Create From YAML,在您为 TempoStack 实例创建的项目中为您的对象存储桶创建一个 secret。如需更多信息,请参阅"对象存储设置"。

    Amazon S3 和 MinIO 存储的 secret 示例

    apiVersion: v1
    kind: Secret
    metadata:
      name: minio-test
    stringData:
      endpoint: http://minio.minio.svc:9000
      bucket: tempo
      access_key_id: tempo
      access_key_secret: <secret>
    type: Opaque
    Copy to Clipboard

  3. 创建 TempoStack 实例。

    注意

    您可以在同一集群中的独立项目中创建多个 TempoStack 实例。

    1. 进入 Operators Installed Operators
    2. 选择 TempoStack Create TempoStack YAML view
    3. YAML 视图中,自定义 TempoStack 自定义资源(CR):

      AWS S3 和 MinIO 存储和两个租户的 TempoStack CR 示例

      apiVersion: tempo.grafana.com/v1alpha1
      kind: TempoStack 
      1
      
      metadata:
        name: simplest
        namespace: <project_of_tempostack_instance> 
      2
      
      spec:
        storage: 
      3
      
          secret: 
      4
      
            name: <secret_name> 
      5
      
            type: <secret_provider> 
      6
      
        storageSize: <value>Gi 
      7
      
        resources:
          total:
            limits:
              memory: 2Gi
              cpu: 2000m
        tenants:
          mode: openshift 
      8
      
          authentication: 
      9
      
            - tenantName: dev 
      10
      
              tenantId: "1610b0c3-c509-4592-a256-a1871353dbfa" 
      11
      
            - tenantName: prod
              tenantId: "1610b0c3-c509-4592-a256-a1871353dbfb"
        template:
          gateway:
            enabled: true 
      12
      
          queryFrontend:
            jaegerQuery:
              enabled: true 
      13
      Copy to Clipboard

      1
      此 CR 创建一个 TempoStack 部署,它被配置为通过 HTTP 和 OpenTelemetry 协议(OTLP)接收 Jaeger Thrift。
      2
      为 TempoStack 部署选择的命名空间。
      3
      指定用于存储 trace 的存储。
      4
      您在第 2 步中创建的 secret,用于作为其中一个先决条件设置的对象存储。
      5
      secret 的 metadata 部分中的 name 字段的值。例如:minio
      6
      可接受的值是 azure(Azure Blob Storage),gcs(Google Cloud Storage)和 s3(Amazon S3, MinIO, 或 Red Hat OpenShift Data Foundation)。例如:s3
      7
      Tempo Write-Ahead Logging (WAL) 的持久性卷声明的大小。默认值为 10Gi。例如:1Gi
      8
      该值必须是 openshift
      9
      租户列表。
      10
      租户名称,在分离数据时在 X-Scope-OrgId 标头中提供。
      11
      租户的唯一标识符。在 TempoStack 部署的生命周期内必须是唯一的。分布式追踪平台使用此 ID 为对象存储中的对象添加前缀。您可以重复使用 UUID 或 tempoName 字段的值。
      12
      启用执行身份验证和授权的网关。The Jaeger UI 通过 http://<gateway_ingress>/api/traces/v1/<tenant_name>/search 公开。
      13
      公开 Jaeger UI,它通过路由视觉化数据。
    4. 选择 Create

验证

  1. 使用 Project: 下拉列表选择 TempoStack 实例的项目。
  2. 进入 Operators Installed Operators,以验证 TempoStack 实例的 Status 是否为 Condition: Ready
  3. 进入 Workloads Pods,以验证 TempoStack 实例的所有组件 pod 都在运行。
  4. 访问 Tempo 控制台:

    1. 进入 Networking RoutesCtrl+F,以搜索 tempo
    2. Location 列中,打开 URL 以访问 Tempo 控制台。

      注意

      Tempo 控制台最初不会在 Tempo 控制台安装后显示 trace 数据。

3.4.2. 使用 CLI 安装 TempoStack 实例

您可以从命令行安装 TempoStack 实例。

先决条件

  • 集群管理员具有 cluster-admin 角色的活跃 OpenShift CLI (oc) 会话。

    提示
    • 确保您的 OpenShift CLI (oc) 版本为最新版本,并与您的 OpenShift Container Platform 版本匹配。
    • 运行 oc login 命令:

      $ oc login --username=<your_username>
      Copy to Clipboard
  • 您已完成由支持的供应商设置所需的对象存储:Red Hat OpenShift Data Foundation, MinIO, Amazon S3, Azure Blob Storage, Google Cloud Storage。如需更多信息,请参阅"对象存储设置"。

    警告

    对象存储是必需的,且不包含在分布式跟踪平台中。在安装分布式 Tracing Platform 前,您必须由支持的供应商选择和设置对象存储。

  • 您已定义一个或多个租户,并配置了读写权限。如需更多信息,请参阅"配置租户的读取权限"和"配置租户的写入权限"。

流程

  1. 运行以下命令,为您将在后续步骤中创建的 TempoStack 实例创建您选择的项目:

    $ oc apply -f - << EOF
    apiVersion: project.openshift.io/v1
    kind: Project
    metadata:
      name: <project_of_tempostack_instance>
    EOF
    Copy to Clipboard
  2. 在您为 TempoStack 实例创建的项目中,运行以下命令来为您的对象存储桶创建一个 secret:

    $ oc apply -f - << EOF
    <object_storage_secret>
    EOF
    Copy to Clipboard

    如需更多信息,请参阅"对象存储设置"。

    Amazon S3 和 MinIO 存储的 secret 示例

    apiVersion: v1
    kind: Secret
    metadata:
      name: minio-test
    stringData:
      endpoint: http://minio.minio.svc:9000
      bucket: tempo
      access_key_id: tempo
      access_key_secret: <secret>
    type: Opaque
    Copy to Clipboard

  3. 在为您创建的项目中创建一个 TempoStack 实例:

    注意

    您可以在同一集群中的独立项目中创建多个 TempoStack 实例。

    1. 自定义 TempoStack 自定义资源(CR):

      AWS S3 和 MinIO 存储和两个租户的 TempoStack CR 示例

      apiVersion: tempo.grafana.com/v1alpha1
      kind: TempoStack 
      1
      
      metadata:
        name: simplest
        namespace: <project_of_tempostack_instance> 
      2
      
      spec:
        storage: 
      3
      
          secret: 
      4
      
            name: <secret_name> 
      5
      
            type: <secret_provider> 
      6
      
        storageSize: <value>Gi 
      7
      
        resources:
          total:
            limits:
              memory: 2Gi
              cpu: 2000m
        tenants:
          mode: openshift 
      8
      
          authentication: 
      9
      
            - tenantName: dev 
      10
      
              tenantId: "1610b0c3-c509-4592-a256-a1871353dbfa" 
      11
      
            - tenantName: prod
              tenantId: "1610b0c3-c509-4592-a256-a1871353dbfb"
        template:
          gateway:
            enabled: true 
      12
      
          queryFrontend:
            jaegerQuery:
              enabled: true 
      13
      Copy to Clipboard

      1
      此 CR 创建一个 TempoStack 部署,它被配置为通过 HTTP 和 OpenTelemetry 协议(OTLP)接收 Jaeger Thrift。
      2
      为 TempoStack 部署选择的命名空间。
      3
      指定用于存储 trace 的存储。
      4
      您在第 2 步中创建的 secret,用于作为其中一个先决条件设置的对象存储。
      5
      secret 的 metadata 部分中的 name 字段的值。例如:minio
      6
      可接受的值是 azure(Azure Blob Storage),gcs(Google Cloud Storage)和 s3(Amazon S3, MinIO, 或 Red Hat OpenShift Data Foundation)。例如:s3
      7
      Tempo Write-Ahead Logging (WAL) 的持久性卷声明的大小。默认值为 10Gi。例如:1Gi
      8
      该值必须是 openshift
      9
      租户列表。
      10
      租户名称,在分离数据时在 X-Scope-OrgId 标头中提供。
      11
      租户的唯一标识符。在 TempoStack 部署的生命周期内必须是唯一的。分布式追踪平台使用此 ID 为对象存储中的对象添加前缀。您可以重复使用 UUID 或 tempoName 字段的值。
      12
      启用执行身份验证和授权的网关。The Jaeger UI 通过 http://<gateway_ingress>/api/traces/v1/<tenant_name>/search 公开。
      13
      公开 Jaeger UI,它通过路由视觉化数据。
    2. 运行以下命令来应用自定义 CR:

      $ oc apply -f - << EOF
      <tempostack_cr>
      EOF
      Copy to Clipboard

验证

  1. 运行以下命令,验证所有 TempoStack 组件状态是否为 Running,并且条件type: Ready

    $ oc get tempostacks.tempo.grafana.com simplest -o yaml
    Copy to Clipboard
  2. 运行以下命令,验证所有 TempoStack 组件 pod 是否正在运行:

    $ oc get pods
    Copy to Clipboard
  3. 访问 Tempo 控制台:

    1. 运行以下命令来查询路由详情:

      $ oc get route
      Copy to Clipboard
    2. 在网页浏览器中打开 https://<route_from_previous_step>

      注意

      Tempo 控制台最初不会在 Tempo 控制台安装后显示 trace 数据。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat