12.2. 在没有 sidecar 的情况下迁移
您可以从分布式跟踪平台(Jaeger)迁移到没有 sidecar 部署的 OpenTelemetry 的红帽构建。
先决条件
- 在集群中使用 Red Hat OpenShift distributed Tracing Platform (Jaeger)。
- 已安装红帽构建的 OpenTelemetry。
流程
- 配置 OpenTelemetry Collector 部署。
创建部署 OpenTelemetry Collector 的项目。
apiVersion: project.openshift.io/v1 kind: Project metadata: name: observability
apiVersion: project.openshift.io/v1 kind: Project metadata: name: observability
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建用于运行 OpenTelemetry Collector 实例的服务帐户。
apiVersion: v1 kind: ServiceAccount metadata: name: otel-collector-deployment namespace: observability
apiVersion: v1 kind: ServiceAccount metadata: name: otel-collector-deployment namespace: observability
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建集群角色,以设置处理器所需的权限。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 ClusterRoleBinding 来为服务帐户设置权限。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 OpenTelemetry Collector 实例。
注意此收集器会将 trace 导出至 TempoStack 实例。您必须使用 Red Hat Tempo Operator 创建 TempoStack 实例,并放在正确的端点中。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将追踪端点指向 OpenTelemetry Operator。
如果您要将 trace 直接从应用程序导出到 Jaeger,请将 API 端点从 Jaeger 端点改为 OpenTelemetry Collector 端点。
使用带有 Golang 的
jaegerexporter
导出 trace 的示例exp, err := jaeger.New(jaeger.WithCollectorEndpoint(jaeger.WithEndpoint(url)))
exp, err := jaeger.New(jaeger.WithCollectorEndpoint(jaeger.WithEndpoint(url)))
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- URL 指向 OpenTelemetry Collector API 端点。