第 8 章 使用 Jaeger 追踪请求
和 OpenShift Serverless 一起使用 Jaeger,您可以在 OpenShift Container Platform 上为无服务器应用程序启用 分布式追踪。
分布式追踪记录了一个请求在组成一个应用程序的多个微服务间的路径。
它被用来将不同工作单元的信息串联在一起,理解分布式事务中整个事件链。工作单元可能会在不同进程或主机中执行。
开发人员可以使用分布式追踪,在大型架构中视觉化调用流。这对理解序列化、平行和延迟来源非常有用。
如需有关 Jaeger 的更多信息,请参阅 Jaeger 架构 和 安装 Jaeger。
8.1. 配置 Jaeger 用于 OpenShift Serverless
先决条件
要配置 Jaeger 以用于 OpenShift Serverless,您需要:
- OpenShift Container Platform 集群的集群管理员权限。
- OpenShift Serverless Operator 和 Knative Serving 的当前安装。
- Jaeger Operator 的当前安装。
流程
创建并应用包含以下 YAML 示例的 Jaeger 自定义资源 YAML 文件:
apiVersion: jaegertracing.io/v1 kind: Jaeger metadata: name: jaeger namespace: default
通过编辑
KnativeServing
资源并添加用于追踪的 YAML 配置来启用 Knative Serving 的追踪。apiVersion: operator.knative.dev/v1alpha1 kind: KnativeServing metadata: name: knative-serving namespace: knative-serving spec: config: tracing: sample-rate: "0.1" 1 backend: zipkin 2 zipkin-endpoint: http://jaeger-collector.default.svc.cluster.local:9411/api/v2/spans 3 debug: "false" 4
验证步骤
访问 Jaeger web 控制台查看追踪数据。您可以使用 jaeger
路由来访问 Jaeger web 控制台。
输入以下命令来获取
jaeger
路由的主机名:$ oc get route jaeger
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD jaeger jaeger-default.apps.example.com jaeger-query <all> reencrypt None
- 在浏览器中使用端点地址来查看控制台。