アプリケーションによって生成されたトレース・スパンの取得
トレースをJaegerにエクスポートするアプリケーションの構成
Jaegerエージェント・サイドカーは、"sidecar.jaegertracing.io/inject": "true"
注釈によってアプリケーション・ポッドに注入されます。この注釈は、Deploymentなどのネームスペースまたはポッド・コントローラに適用できます。次のスニペットは、Jaegerエージェント・インジェクションのためにOAMコンポーネントに注釈を付ける方法を示しています。
apiVersion: core.oam.dev/v1alpha2
kind: Component
metadata:
name: example-component
spec:
workload:
apiVersion: core.oam.dev/v1alpha2
kind: ContainerizedWorkload
metadata:
name: example-workload
annotations:
# The component's Deployment will carry the Jaeger annotation.
"sidecar.jaegertracing.io/inject": "true"
クラスタに複数のJaegerインスタンスがある場合は、トレースの送信先のJaegerインスタンスの名前を注釈sidecar.jaegertracing.io/inject
の値として指定します。詳細は、Jaegerのドキュメントを参照してください。
ノート: Jaegerエージェントの使用は、Helidon 3.xではサポートされていません。Jaegerトレースを使用するには、HelidonアプリケーションがJaegerコレクタに直接接続する必要があります。次のYAMLファイルの例を参照してください。"TRACING_HOST"
は"jaeger-operator-jaeger-collector.verrazzano-monitoring"
、"TRACING_PORT"
は"9411"
に設定されます。マルチクラスタVerrazzano環境でのJaegerトレースの場合は、"TRACING_HOST"
を"jaeger-verrazzano-managed-cluster-collector.verrazzano-monitoring.svc.cluster.local"
に設定します。
apiVersion: core.oam.dev/v1alpha2
kind: Component
metadata:
name: hello-helidon-component
spec:
workload:
apiVersion: oam.verrazzano.io/v1alpha1
kind: VerrazzanoHelidonWorkload
metadata:
name: hello-helidon-workload
labels:
app: hello-helidon
version: v1
spec:
deploymentTemplate:
metadata:
name: hello-helidon-deployment
podSpec:
containers:
- name: hello-helidon-container
image: "ghcr.io/verrazzano/example-helidon-greet-app-v1:1.0.0-1-20220513221156-7da0d32"
env:
- name: "TRACING_SERVICE"
value: "hello-helidon"
- name: "TRACING_PORT"
value: "9411"
- name: "TRACING_HOST"
value: "jaeger-operator-jaeger-collector.verrazzano-monitoring"
ports:
- containerPort: 8080
name: http