1.4. Red Hat OpenShift distributed tracing Platform 2.9 发行注记

1.4.1. 分布式追踪概述

作为服务所有者,您可以使用分布式追踪来检测您的服务,以收集与服务架构相关的信息。您可以使用 Red Hat OpenShift distributed tracing 平台来监控、网络性能分析,并对现代、云原生的微服务应用程序中组件间的交互进行故障排除。

使用分布式追踪平台,您可以执行以下功能:

  • 监控分布式事务
  • 优化性能和延迟时间
  • 执行根原因分析

分布式追踪平台由三个组件组成:

1.4.2. Red Hat OpenShift distributed tracing Platform 2.9 中的组件版本

Operator组件Version

Red Hat OpenShift distributed tracing Platform (Jaeger)

Jaeger

1.47.0

Red Hat build of OpenTelemetry

OpenTelemetry

0.81.0

Red Hat OpenShift distributed tracing Platform (Tempo)

Tempo

2.1.1

1.4.3. Red Hat OpenShift distributed tracing Platform (Jaeger)

1.4.3.1. 新功能及功能增强

  • 无。

1.4.3.2. 程序错误修复

  • 在此次更新之前,因为 jaeger-query 部署中缺少一个 gRPC 端口,连接会被拒绝。此问题会导致 transport: Error while dialing: dial tcp :16685: connect: connection refused 错误信息。在这个版本中,Jaeger Query gRPC 端口 (16685) 可以在 Jaeger Query 服务上成功公开。(TRACING-3322)
  • 在此次更新之前,为 jaeger-production-query 公开的端口是错误的,并导致连接被拒绝。在这个版本中,这个问题已通过在 Jaeger Query 部署上公开 Jaeger Query gRPC 端口(16685) 被解决。(TRACING-2968)
  • 在此次更新之前,当在断开连接的环境中的单节点 OpenShift 集群上部署 Service Mesh 时,Jaeger pod 会经常进入 Pending 状态。在这个版本中,这个问题已被解决。(TRACING-3312)
  • 在此次更新之前,因为 reason: OOMKilled 错误信息,Jaeger Operator pod 会以默认内存值重启。在这个版本中,通过删除资源限值解决了这个问题。(TRACING-3173)

1.4.3.3. 已知问题

  • 不支持 Apache spark。
  • IBM Z 和 IBM Power Systems 上不支持通过 AMQ/Kafka 进行流部署。

1.4.4. Red Hat OpenShift distributed tracing Platform (Tempo)

重要

Red Hat OpenShift distributed tracing Platform (Tempo)只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

1.4.4.1. 新功能及功能增强

此发行版本包括对分布式追踪平台 (Tempo) 的以下改进:

  • 支持 operator maturity Level IV, Deep Insights, 它会启用对 TempoStack 实例和 Tempo Operator 的升级、监控和提示。
  • 为网关添加 Ingress 和 Route 配置。
  • 支持 TempoStack 自定义资源中的 managedunmanaged 状态。
  • 在 Distributor 服务中公开以下额外的 ingestion 协议:Jaeger Thrift 二进制、Jaeger Thrift compact、Jaeger gRPC 和 Zipkin。启用网关时,只启用 OpenTelemetry 协议 (OTLP) gRPC。
  • 在 Query Frontend 服务上公开 Jaeger Query gRPC 端点。
  • 支持没有网关身份验证和授权的多租户。

1.4.4.2. 程序错误修复

  • 在此次更新之前,Tempo Operator 与断开连接的环境不兼容。在这个版本中,Tempo Operator 支持断开连接的环境。(TRACING-3145)
  • 在此次更新之前,带有 TLS 的 Tempo Operator 无法在 OpenShift Container Platform 上启动。在这个版本中,mTLS 通信会在 Tempo 组件、Operand 启动成功时启用,并且可以访问 Jaeger UI。(TRACING-3091)
  • 在此次更新之前,来自 Tempo Operator 的资源限值会导致错误消息,如 reason: OOMKilled。在这个版本中,Tempo Operator 的资源限值被删除,以避免此类错误。(TRACING-3204)

1.4.4.3. 已知问题

  • 目前,没有为连接对象存储而实施自定义 TLS CA 选项。(TRACING-3462)
  • 目前,当与 Tempo Operator 一起使用时,Jaeger UI 只显示在最后 15 分钟内发送了 trace 的服务。对于没有在最后 15 分钟内发送 trace 的服务,trace 仍然会被存储,但不会在 Jaeger UI 中显示。(TRACING-3139)
  • 目前,分布式追踪平台(Tempo)在 IBM Z (s390x)架构中会失败。(TRACING-3545)
  • 目前,在未部署网关时,Tempo 查询前端服务不得使用内部 mTLS。这个问题不会影响 Jaeger Query API。解决办法是禁用 mTLS。(TRACING-3510)

    临时解决方案

    禁用 mTLS,如下所示:

    1. 运行以下命令,打开 Tempo Operator ConfigMap 进行编辑:

      $ oc edit configmap tempo-operator-manager-config -n openshift-tempo-operator 1
      1
      安装 Tempo Operator 的项目。
    2. 通过更新 YAML 文件来禁用 Operator 配置中的 mTLS:

      data:
        controller_manager_config.yaml: |
          featureGates:
            httpEncryption: false
            grpcEncryption: false
            builtInCertManagement:
              enabled: false
    3. 运行以下命令来重启 Tempo Operator pod:

      $ oc rollout restart deployment.apps/tempo-operator-controller -n openshift-tempo-operator
  • 缺少在受限环境中运行 Tempo Operator 的镜像。Red Hat OpenShift distributed tracing Platform (Tempo) CSV 缺少对操作对象镜像的引用。(TRACING-3523)

    临时解决方案

    在镜像工具中添加 Tempo Operator 相关镜像,将镜像复制到 registry:

    kind: ImageSetConfiguration
    apiVersion: mirror.openshift.io/v1alpha2
    archiveSize: 20
    storageConfig:
      local:
        path: /home/user/images
    mirror:
      operators:
      - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.13
        packages:
        - name: tempo-product
          channels:
          - name: stable
      additionalImages:
      - name: registry.redhat.io/rhosdt/tempo-rhel8@sha256:e4295f837066efb05bcc5897f31eb2bdbd81684a8c59d6f9498dd3590c62c12a
      - name: registry.redhat.io/rhosdt/tempo-gateway-rhel8@sha256:b62f5cedfeb5907b638f14ca6aaeea50f41642980a8a6f87b7061e88d90fac23
      - name: registry.redhat.io/rhosdt/tempo-gateway-opa-rhel8@sha256:8cd134deca47d6817b26566e272e6c3f75367653d589f5c90855c59b2fab01e9
      - name: registry.redhat.io/rhosdt/tempo-query-rhel8@sha256:0da43034f440b8258a48a0697ba643b5643d48b615cdb882ac7f4f1f80aad08e

1.4.5. Red Hat build of OpenTelemetry

重要

红帽构建的 OpenTelemetry 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

1.4.5.1. 新功能及功能增强

此发行版本为 OpenTelemetry 的红帽构建引入了以下改进:

  • 支持 OTLP 指标 ingestion。指标可以通过 Prometheus 导出器转发并存储在 user-workload-monitoring 中。
  • 支持 Operator 成熟度 级别 IV、Deep Insights,它启用了对 OpenTelemetry Collector 实例的升级和监控,以及红帽构建的 OpenTelemetry Operator。
  • 使用 OTLP 或 HTTP 和 HTTPS 报告远程集群中的追踪和指标。
  • 通过 resourcedetection 处理器收集 OpenShift Container Platform 资源属性。
  • 支持 OpenTelemetryCollector 自定义 resouce 中的 managedunmanaged 状态。

1.4.5.2. 程序错误修复

无。

1.4.5.3. 已知问题

1.4.6. 获取支持

如果您在执行本文档所述的某个流程或 OpenShift Container Platform 时遇到问题,请访问 红帽客户门户网站。通过红帽客户门户网站:

  • 搜索或者浏览红帽知识库,了解与红帽产品相关的文章和解决方案。
  • 提交问题单给红帽支持。
  • 访问其他产品文档。

要识别集群中的问题,您可以在 OpenShift Cluster Manager Hybrid Cloud Console 中使用 Insights。Insights 提供了问题的详细信息,并在有可用的情况下,提供了如何解决问题的信息。

如果您对本文档有任何改进建议,或发现了任何错误,请为相关文档组件提交 JIRA 问题。请提供具体详情,如章节名称和 OpenShift Container Platform 版本。

1.4.7. 使开源包含更多

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 的信息