3.2.3. 从 Web 控制台部署分布式追踪流策略
streaming
部署策略主要用于生产环境,在生产环境中需要更具扩展性和高度可用的架构,其中,对 trace 数据进行长期存储非常重要。
streaming
策略提供了位于 Collector 和 Elasticsearch 存储之间的流功能。这可降低高负载情况下存储压力,并允许其他 trace 后处理功能直接从 Kafka streaming 平台中利用实时 span 数据。
streaming 策略需要额外的 AMQ Streams 订阅。如果您没有 AMQ Streams 订阅,请联络您的销售代表以了解更多信息。
目前 IBM Z 不支持 streaming 部署策略。
先决条件
- 已安装 AMQ Streams Operator。如果使用 1.4.0 或更高版本,您可以使用自助置备。否则,您必须创建 Kafka 实例。
- 已安装 Red Hat OpenShift distributed tracing Platform Operator。
- 您已查看了如何自定义部署的说明。
-
您可以使用具有
cluster-admin
角色的用户访问集群。
流程
-
以具有
cluster-admin
角色的用户身份登录到 OpenShift Container Platform web 控制台。 创建一个新项目,如
tracing-system
。注意如果作为 Service Mesh 的一部分安装,则需要在与
ServiceMeshControlPlane
资源相同的命名空间中安装分布式追踪资源,如istio-system
。-
浏览至 Home
Project。 - 点击 Create Project。
-
在 Name 字段中输入
tracing-system
。 - 点击 Create。
-
浏览至 Home
-
导航到 Operators
Installed Operators。 -
如有必要,从 Project 菜单中选择
tracing-system
。您可能需要等待一些时间,让 Operator 复制到新项目中。 - 点 Red Hat OpenShift distributed tracing Platform Operator。在 Overview 选项卡上的 Provided APIs 下,Operator 提供了单个链接。
- 在 Jaeger 下,点 Create Instance。
-
在 Create Jaeger 页面上,将默认的
all-in-one
YAML 文本替换为您的流传输 YAML 配置,例如:
示例 Jaeger-streaming.yaml 文件
apiVersion: jaegertracing.io/v1 kind: Jaeger metadata: name: jaeger-streaming spec: strategy: streaming collector: options: kafka: producer: topic: jaeger-spans #Note: If brokers are not defined,AMQStreams 1.4.0+ will self-provision Kafka. brokers: my-cluster-kafka-brokers.kafka:9092 storage: type: elasticsearch ingester: options: kafka: consumer: topic: jaeger-spans brokers: my-cluster-kafka-brokers.kafka:9092
- 单击 Create 以创建分布式追踪平台实例。
-
在 Jaegers 页面上,点击分布式追踪平台实例的名称,如
jaeger-streaming
。 - 在 Jaeger Details 页面上,点击 Resources 选项卡。等到所有 Pod 的状态变为“Running”再继续操作。
3.2.3.1. 通过 CLI 部署分布式追踪流策略
按照以下步骤从命令行创建分布式追踪平台实例。
先决条件
- 已安装 AMQ Streams Operator。如果使用 1.4.0 或更高版本,您可以使用自助置备。否则,您必须创建 Kafka 实例。
- 已安装 Red Hat OpenShift distributed tracing Platform Operator。
- 您已查看了如何自定义部署的说明。
-
您可以访问与 OpenShift Container Platform 版本匹配的 OpenShift CLI(
oc
)。 -
您可以使用具有
cluster-admin
角色的用户访问集群。
流程
以具有
cluster-admin
角色的用户身份登录到 OpenShift Container Platform CLI。$ oc login --username=<NAMEOFUSER> https://<HOSTNAME>:8443
创建一个名为
tracing-system
的新项目。$ oc new-project tracing-system
-
创建一个名为
jaeger-streaming.yaml
的自定义资源文件,其中包含上一步中的示例文件文本。 运行以下命令来部署 Jaeger:
$ oc create -n tracing-system -f jaeger-streaming.yaml
在安装过程中运行以下命令来监控 pod 的进度:
$ oc get pods -n tracing-system -w
安装过程完成后,您应该看到类似以下示例的输出:
NAME READY STATUS RESTARTS AGE elasticsearch-cdm-jaegersystemjaegerstreaming-1-697b66d6fcztcnn 2/2 Running 0 5m40s elasticsearch-cdm-jaegersystemjaegerstreaming-2-5f4b95c78b9gckz 2/2 Running 0 5m37s elasticsearch-cdm-jaegersystemjaegerstreaming-3-7b6d964576nnz97 2/2 Running 0 5m5s jaeger-streaming-collector-6f6db7f99f-rtcfm 1/1 Running 0 80s jaeger-streaming-entity-operator-6b6d67cc99-4lm9q 3/3 Running 2 2m18s jaeger-streaming-ingester-7d479847f8-5h8kc 1/1 Running 0 80s jaeger-streaming-kafka-0 2/2 Running 0 3m1s jaeger-streaming-query-65bf5bb854-ncnc7 3/3 Running 0 80s jaeger-streaming-zookeeper-0 2/2 Running 0 3m39s