12.2. サイドカーを使用しない移行
サイドカーをデプロイせずに、Distributed Tracing Platform (Jaeger) から Red Hat build of OpenTelemetry に移行できます。
前提条件
- クラスターで Red Hat OpenShift Distributed Tracing Platform (Jaeger) が使用されている。
- Red Hat build of 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 インスタンスを作成します。
注記この Collector は、トレースを TempoStack インスタンスにエクスポートします。Red Hat Tempo Operator を使用して TempoStack インスタンスを作成し、正しいエンドポイントを配置する必要があります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - トレースエンドポイントを OpenTelemetry Operator に指定します。
トレースをアプリケーションから Jaeger に直接エクスポートする場合は、API エンドポイントを Jaeger エンドポイントから OpenTelemetry Collector エンドポイントに変更します。
Golang を使用する
jaegerexporter
でトレースをエクスポートする場合の例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 エンドポイントを指します。