1.26. Jaeger 設定リファレンス
Service Mesh Operator は ServiceMeshControlPlane
リソースをデプロイする際に、分散トレースのリソースを作成することもできます。Service Mesh は分散トレースに Jaeger を使用します。
- Jaeger は、FIPS 検証済みの暗号化モジュールを使用しません。
- Red Hat OpenShift Service Mesh 2.5 以降、Red Hat OpenShift 分散トレーシング Platform (Jaeger) は非推奨となり、今後のリリースで削除される予定です。Red Hat は、現在のリリースのライフサイクル中にこの機能のバグ修正とサポートを提供しますが、この機能は今後、機能拡張を受け取らず、削除されます。Red Hat OpenShift 分散トレーシング Platform (Jaeger) の代わりに、Red Hat OpenShift 分散トレーシング Platform を使用することもできます。
1.26.1. トレースの有効化および無効化 リンクのコピーリンクがクリップボードにコピーされました!
ServiceMeshControlPlane
リソースでトレースタイプおよびサンプリングレートを指定して、分散トレースを有効にします。
デフォルトの all-in-one
Jaeger パラメーター
Red Hat OpenShift Service Mesh 2.6 では、トレースタイプ Jaeger
は非推奨となり、デフォルトで無効になっています。
Red Hat OpenShift Service Mesh 2.5 以前では、トレースタイプ Jaeger
がデフォルトで有効になっています。Jaeger
トレースを無効にするには、ServiceMeshControlPlane
リソースの spec.tracing.type
パラメーターを None
に設定します。
サンプリングレートは、Envoy プロキシーがトレースを生成する頻度を決定します。サンプリングレートオプションを使用して、トレースシステムに報告される要求の割合を制御できます。この設定は、メッシュ内のトラフィックおよび収集するトレースデータ量に基づいて設定できます。sampling
は 0.01% の増分を表すスケーリングされた整数として設定します。たとえば、値を 10
サンプル (0.1% トレース)、および 500
サンプル (5% トレース)、および 10000
サンプル (100% トレース) に設定します。
SMCP サンプリング設定オプションは Envoy サンプリングレートを制御します。Jaeger トレースサンプリングレートを Jaeger カスタムリソースで設定します。
1.26.2. SMCP での Jaeger 設定の指定 リンクのコピーリンクがクリップボードにコピーされました!
Jaeger は、ServiceMeshControlPlane
リソースの addons
セクションで設定します。ただし、SMCP で設定可能な内容にはいくつかの制限があります。
SMCP が Red Hat OpenShift 分散トレーシング Platform (Jaeger) Operator に設定情報を渡すと、allInOne
、production
、または streaming の
3 つのデプロイメントストラテジーのいずれかがトリガーされます。
1.26.3. 分散トレースプラットフォームのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
分散トレーシングプラットフォーム (Jaeger) には、事前定義されたデプロイメントストラテジーがあります。Jaeger カスタムリソース (CR) ファイルでデプロイメントストラテジーを指定します。分散トレーシング Platform (Jaeger) のインスタンスを作成すると、Red Hat OpenShift 分散トレーシング Platform (Jaeger) Operator はこの設定ファイルを使用して、デプロイメントに必要なオブジェクトを作成します。
Red Hat OpenShift 分散トレーシング Platform (Jaeger) Operator は現在、次のデプロイメントストラテジーをサポートしています。
allInOne (デフォルト): このストラテジーは、開発、テスト、およびデモを目的としたものであり、実稼働での使用を目的としたものではありません。主なバックエンドコンポーネントである Agent、Collector、および Query サービスはすべて、インメモリーストレージを使用するように (デフォルトで) 設定された単一の実行可能ファイルにパッケージ化されます。このデプロイメントストラテジーは、SMCP で設定できます。
注記インメモリーストレージには永続性がありません。つまり、Jaeger インスタンスがシャットダウンするか、再起動するか、置き換えられると、トレースデータが失われます。各 Pod には独自のメモリーがあるため、インメモリーストレージはスケーリングできません。永続ストレージの場合は、デフォルトのストレージとして Elasticsearch を使用する
production
またはstreaming
ストラテジーを使用する必要があります。- production: production ストラテジーは、実稼働環境向けのストラテジーであり、トレースデータの長期の保存が重要となり、より拡張性および高可用性のあるアーキテクチャーも必要になります。そのため、バックエンドの各コンポーネントは別々にデプロイされます。エージェントは、インストルメント化されたアプリケーションのサイドカーとして挿入できます。Query および Collector サービスは、サポートされているストレージタイプ (現時点では Elasticsearch) で設定されます。これらの各コンポーネントの複数のインスタンスは、パフォーマンスと回復性を確保するために、必要に応じてプロビジョニングできます。このデプロイメントストラテジーを SMCP に設定できますが、完全にカスタマイズするには、Jaeger CR で設定を指定し、SMCP にリンクする必要があります。
- streaming: streaming ストラテジーは、Collector と Elasticsearch バックエンドストレージ間に配置されるストリーミング機能を提供することで、production ストラテジーを増強する目的で設計されています。これにより、負荷の高い状況でバックエンドストレージに加わる圧力を軽減し、他のトレース処理後の機能がストリーミングプラットフォーム (AMQ Streams/ Kafka) から直接リアルタイムのスパンデータを利用できるようにします。このデプロイメントストラテジーを SMCP で設定することはできません。Jaeger CR を設定し、SMCP へのリンクを設定する必要があります。
streaming ストラテジーには、AMQ Streams 用の追加の Red Hat サブスクリプションが必要です。
1.26.3.1. デフォルトの分散トレーシングプラットフォーム (Jaeger) デプロイメント リンクのコピーリンクがクリップボードにコピーされました!
Jaeger 設定オプションを指定しない場合、ServiceMeshControlPlane
リソースはデフォルトで allInOne
Jaeger デプロイメントストラテジーを使用します。デフォルトの allInOne
デプロイメントストラテジーを使用する場合は、spec.addons.jaeger.install.storage.type
を Memory
に設定します。デフォルトを使用するか、install
で追加設定オプションを許可できます。
コントロールプレーンのデフォルト Jaeger パラメーター (Memory)
1.26.3.2. 実稼働環境向け分散トレーシングプラットフォーム (Jaeger) のデプロイメント (最小限) リンクのコピーリンクがクリップボードにコピーされました!
production
デプロイメントストラテジーのデフォルト設定を使用するには、spec.addons.jaeger.install.storage.type
を Elasticsearch
に設定し、install
で追加設定オプションを指定します。SMCP は Elasticsearch リソースおよびイメージ名の設定のみをサポートすることに注意してください。
コントロールプレーンのデフォルト Jaeger パラメーター (Elasticsearch)
1.26.3.3. 実稼働環境向け分散トレーシングプラットフォーム (Jaeger) のデプロイメント (完全カスタマイズ) リンクのコピーリンクがクリップボードにコピーされました!
SMCP は最小限の Elasticsearch パラメーターのみをサポートします。実稼働環境を完全にカスタマイズし、すべての Elasticsearch 設定パラメーターにアクセスするには、Jaeger カスタムリソース (CR) を使用して Jaeger を設定します。
または、Jaeger インスタンスを作成および設定し、spec.addons.jaeger.name
を Jaeger インスタンスの名前 (この例では MyJaegerInstance
) に設定できます。
Jaeger production CR がリンクされたコントロールプレーン
1.26.3.4. Jaeger デプロイメントのストリーミング リンクのコピーリンクがクリップボードにコピーされました!
streaming
デプロイメントストラテジーを使用するには、まず Jaeger インスタンスを作成および設定してから、spec.addons.jaeger.name
を Jaeger インスタンスの名前 (この例では MyJaegerInstance
) に設定します。
リンクされた Jaeger ストリーミング CR を使用したコントロールプレーン
1.26.4. Jaeger カスタムリソースでの Jaeger 設定の指定 リンクのコピーリンクがクリップボードにコピーされました!
ServiceMeshControlPlane
(SMCP) リソースではなく Jaeger カスタムリソース (CR) に Jaeger を設定し、Jaeger デプロイメントを完全にカスタマイズできます。この設定は SMCP の外部に指定されているため、"外部 Jaeger" と呼ばれることもあります。
SMCP と Jaeger CR を同じ namespace にデプロイする必要があります。たとえば、istio-system
です。
スタンドアロンの Jaeger インスタンスを設定し、デプロイしてから、Jaeger リソースの name
を、SMCP リソースの spec.addons.jaeger.name
の値として指定できます。name
の値に一致する Jaeger CR が存在する場合、Service Mesh コントロールプレーンは既存のインストールを使用します。この方法では、Jaeger 設定を完全にカスタマイズできます。
1.26.4.1. デプロイメントのベストプラクティス リンクのコピーリンクがクリップボードにコピーされました!
- Red Hat OpenShift 分散トレーシング Platform インスタンス名は一意である必要があります。複数の Red Hat OpenShift 分散トレーシング Platform (Jaeger) インスタンスが必要で、サイドカー注入エージェントを使用している場合は、Red Hat OpenShift 分散トレーシング Platform (Jaeger) インスタンスに一意の名前を付け、注入アノテーションでトレースデータのレポート先となる Red Hat OpenShift 分散トレーシング Platform (Jaeger) インスタンス名を明示的に指定する必要があります。
- マルチテナント実装があり、テナントが名前空間によって分離されている場合は、各テナント名前空間に Red Hat OpenShift 分散トレーシング Platform (Jaeger) インスタンスをデプロイします。
1.26.4.2. Service Mesh の分散トレースセキュリティーの設定 リンクのコピーリンクがクリップボードにコピーされました!
分散トレーシング Platform (Jaeger) は、デフォルトの認証に OAuth を使用します。ただし、Red Hat OpenShift Service Mesh は、Grafana、Kiali、分散トレーシング Platform (Jaeger) などの依存サービス間の通信を容易にするために、htpasswd
と呼ばれるシークレットを使用します。ServiceMeshControlPlane
で分散トレーシング Platform (Jaeger) を設定すると、Service Mesh は htpasswd
を使用するようにセキュリティー設定を自動的に設定します。
Jaeger カスタムリソースで分散トレーシング Platform (Jaeger) 設定を指定する場合は、htpasswd
設定を手動で設定し、Kiali が通信できるように htpasswd
シークレットが Jaeger インスタンスにマウントされていることを確認する必要があります。
1.26.4.2.1. Web コンソールからの Service Mesh の分散トレースセキュリティーの設定 リンクのコピーリンクがクリップボードにコピーされました!
Jaeger リソースを変更して、Web コンソールで Service Mesh で使用するための分散トレーシング Platform (Jaeger) セキュリティーを設定できます。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。(Red Hat OpenShift Dedicated を使用する場合)dedicated-admin
ロールがあるアカウント。 - Red Hat OpenShift Service Mesh Operator がインストールされている。
-
クラスターにデプロイされた
ServiceMeshControlPlane
。 - Red Hat OpenShift Service on AWS Web コンソールにアクセスできる。
手順
-
cluster-admin
ロールを持つユーザーとして Red Hat OpenShift Service on AWS Web コンソールにログインします。 -
Operators
Installed Operators に移動します。 -
Project メニューをクリックし、リストから
ServiceMeshControlPlane
リソースがデプロイされているプロジェクト (例:istio-system
) を選択します。 - Red Hat OpenShift 分散トレーシング Platform (Jaeger) Operator を クリックします。
- Operator の詳細 ページで、Jaeger タブをクリックします。
- Jaeger インスタンスの名前をクリックします。
- Jaeger の詳細ページで、YAML タブをクリックして設定を変更します。
次の例に示すように、
Jaeger
カスタムリソースファイルを編集して、htpasswd
設定を追加します。-
spec.ingress.openshift.htpasswdFile
-
spec.volumes
spec.volumeMounts
htpasswd
設定を示す Jaeger リソースの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
- Save をクリックします。
1.26.4.2.2. コマンドラインからの Service Mesh の分散トレースセキュリティーの設定 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift CLI (oc
) を実行して、コマンドラインから Service Mesh で使用するために、Jaeger リソースを変更して分散トレーシング Platform (Jaeger) のセキュリティーを設定できます。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。(Red Hat OpenShift Dedicated を使用する場合)dedicated-admin
ロールがあるアカウント。 - Red Hat OpenShift Service Mesh Operator がインストールされている。
-
クラスターにデプロイされた
ServiceMeshControlPlane
。 -
Red Hat OpenShift Service on AWS バージョンに一致する OpenShift CLI (
oc
) にアクセスできる。
手順
以下のコマンドを実行して、
cluster-admin
ロールが割り当てられたユーザーとして OpenShift CLI (oc
) にログインします。(Red Hat OpenShift Dedicated を使用する場合)dedicated-admin
ロールがあるアカウント。oc login https://<HOSTNAME>:6443
$ oc login https://<HOSTNAME>:6443
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、コントロールプレーンをインストールしたプロジェクト (
istio-system
など) に変更します。oc project istio-system
$ oc project istio-system
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Jaeger カスタムリソースファイルを編集します。
oc edit -n openshift-distributed-tracing -f jaeger.yaml
$ oc edit -n openshift-distributed-tracing -f jaeger.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次の例に示すように、
Jaeger
カスタムリソースファイルを編集して、htpasswd
設定を追加します。-
spec.ingress.openshift.htpasswdFile
-
spec.volumes
spec.volumeMounts
htpasswd
設定を示す Jaeger リソースの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
Pod のデプロイメントの進行状況を監視するには、次のコマンドを実行します。
oc get pods -n openshift-distributed-tracing
$ oc get pods -n openshift-distributed-tracing
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.26.4.3. 分散トレースのデフォルト設定オプション リンクのコピーリンクがクリップボードにコピーされました!
Jaeger カスタムリソース (CR) は、分散トレーシング Platform (Jaeger) リソースを作成するときに使用するアーキテクチャーと設定を定義します。これらのパラメーターを変更して、分散トレーシング Platform (Jaeger) の実装をビジネスニーズに合わせてカスタマイズできます。
Jaeger CR の汎用 YAML の例
パラメーター | 説明 | 値 | デフォルト値 |
---|---|---|---|
| オブジェクトの作成時に使用する API バージョン。 |
|
|
| 作成する Kubernetes オブジェクトの種類を定義します。 |
| |
|
|
Red Hat OpenShift Service on AWS は | |
| オブジェクトの名前。 | 分散トレーシング Platform (Jaeger) インスタンスの名前。 |
|
| 作成するオブジェクトの仕様。 |
分散トレーシング Platform (Jaeger) インスタンスのすべての設定パラメーターが含まれます。すべての Jaeger コンポーネントの共通定義が必要な場合、これは | 該当なし |
| Jaeger デプロイメントストラテジー |
|
|
|
| ||
| Agent を定義する設定オプション。 | ||
| Jaeger Collector を定義する設定オプション。 | ||
| トレース用のサンプリングストラテジーを定義する設定オプション。 | ||
|
ストレージを定義する設定オプション。すべてのストレージ関連のオプションは、 | ||
| Query サービスを定義する設定オプション。 | ||
| Ingester サービスを定義する設定オプション。 |
次の YAML の例は、デフォルト設定を使用して Red Hat OpenShift 分散トレーシング Platform (Jaeger) デプロイメントを作成するために必要な最小限のものです。
最小限必要な dist-tracing-all-in-one.yaml の例
apiVersion: jaegertracing.io/v1 kind: Jaeger metadata: name: jaeger-all-in-one-inmemory
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: jaeger-all-in-one-inmemory
1.26.4.4. Jaeger Collector 設定オプション リンクのコピーリンクがクリップボードにコピーされました!
Jaeger Collector は、トレーサーによってキャプチャーされたスパンを受信し、production
ストラテジーを使用する場合はそれらを永続 Elasticsearch ストレージに書き込み、streaming
ストラテジーを使用する場合は AMQ Streams に書き込むコンポーネントです。
Collector はステートレスであるため、Jaeger Collector のインスタンスの多くは並行して実行できます。Elasticsearch クラスターの場所を除き、Collector では設定がほとんど必要ありません。
パラメーター | 説明 | 値 |
---|---|---|
collector: replicas:
| 作成する Collector レプリカの数を指定します。 |
整数 (例: |
パラメーター | 説明 | 値 |
---|---|---|
spec: collector: options: {}
| Jaeger Collector を定義する設定オプション。 | |
options: collector: num-workers:
| キューからプルするワーカーの数。 |
整数 (例: |
options: collector: queue-size:
| Collector キューのサイズ。 |
整数 (例: |
options: kafka: producer: topic: jaeger-spans
|
| プロデューサーのラベル。 |
options: kafka: producer: brokers: my-cluster-kafka-brokers.kafka:9092
| メッセージを生成するために Collector によって使用される Kafka 設定を特定します。ブローカーが指定されておらず、AMQ Streams 1.4.0+ がインストールされている場合、Red Hat OpenShift 分散トレーシング Platform (Jaeger) Operator が Kafka をセルフプロビジョニングします。 | |
options: log-level:
| Collector のロギングレベル。 |
使用できる値は、 |
|
OTLP/gRPC を受け入れるには、 | |
|
OTLP/HTTP を受け入れるには、 |
1.26.4.5. 分散トレースのサンプリング設定オプション リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift 分散トレーシング Platform (Jaeger) Operator を使用すると、リモートサンプラーを使用するように設定されたトレーサーに提供されるサンプリングストラテジーを定義できます。
すべてのトレースが生成される間に、それらの一部のみがサンプリングされます。トレースをサンプリングすると、追加の処理や保存のためにトレースにマークが付けられます。
これは、トレースがサンプリングの意思決定が行われる際に Envoy プロキシーによって開始されている場合に関連がありません。Jaeger サンプリングの意思決定は、トレースがクライアントを使用してアプリケーションによって開始される場合にのみ関連します。
サービスがトレースコンテキストが含まれていない要求を受信すると、クライアントは新しいトレースを開始し、これにランダムなトレース ID を割り当て、現在インストールされているサンプリングストラテジーに基づいてサンプリングの意思決定を行います。サンプリングの意思決定はトレース内の後続のすべての要求に伝播され、他のサービスが再度サンプリングの意思決定を行わないようにします。
分散トレーシング Platform (Jaeger) ライブラリーは、次のサンプラーをサポートしています。
-
Probabilistic: サンプラーは、
sampling.param
プロパティーの値と等しいサンプリングの確率で、ランダムなサンプリングの意思決定を行います。たとえば、sampling.param=0.1
を使用した場合は、約 10 のうち 1 トレースがサンプリングされます。 -
Rate Limiting: サンプラーは、リーキーバケット (leaky bucket) レートリミッターを使用して、トレースが一定のレートでサンプリングされるようにします。たとえば、
sampling.param=2.0
を使用した場合は、1 秒あたり 2 トレースの割合で要求がサンプリングされます。
パラメーター | 説明 | 値 | デフォルト値 |
---|---|---|---|
spec: sampling: options: {} default_strategy: service_strategy:
| トレース用のサンプリングストラテジーを定義する設定オプション。 | 設定を指定しない場合、Collector はすべてのサービスの確率 0.001 (0.1%) のデフォルトの確率的なサンプリングポリシーを返します。 | |
default_strategy: type: service_strategy: type:
| 使用するサンプリングストラテジー。上記の説明を参照してください。 |
有効な値は |
|
default_strategy: param: service_strategy: param:
| 選択したサンプリングストラテジーのパラメーター | 10 進値および整数値 (0、.1、1、10) | 1 |
この例では、トレースインスタンスをサンプリングする確率が 50% の確率的なデフォルトサンプリングストラテジーを定義します。
確率的なサンプリングの例
ユーザー指定の設定がない場合、分散トレーシング Platform (Jaeger) は次の設定を使用します。
デフォルトのサンプリング
1.26.4.6. 分散トレースのストレージ設定オプション リンクのコピーリンクがクリップボードにコピーされました!
spec.storage
の下で Collector、Ingester、および Query サービスのストレージを設定します。これらの各コンポーネントの複数のインスタンスは、パフォーマンスと回復性を確保するために、必要に応じてプロビジョニングできます。
パラメーター | 説明 | 値 | デフォルト値 |
---|---|---|---|
spec: storage: type:
| デプロイメントに使用するストレージのタイプ。 |
|
|
storage: secretname:
|
シークレットの名前 (例: | 該当なし | |
storage: options: {}
| ストレージを定義する設定オプション。 |
パラメーター | 説明 | 値 | デフォルト値 |
---|---|---|---|
storage: esIndexCleaner: enabled:
| Elasticsearch ストレージを使用する場合は、デフォルトでジョブが作成され、古いトレースをインデックスからクリーンアップします。このパラメーターは、インデックスクリーナージョブを有効または無効にします。 |
|
|
storage: esIndexCleaner: numberOfDays:
| インデックスの削除を待機する日数。 | 整数値 |
|
storage: esIndexCleaner: schedule:
| Elasticsearch インデックスを消去する頻度に関するスケジュールを定義します。 | cron 式 | "55 23 * * *" |
1.26.4.6.1. Elasticsearch インスタンスの自動プロビジョニング リンクのコピーリンクがクリップボードにコピーされました!
Jaeger カスタムリソースをデプロイすると、Red Hat OpenShift 分散トレーシング Platform (Jaeger) Operator は OpenShift Elasticsearch Operator を使用して、カスタムリソースファイルの ストレージ
セクションで指定された設定に基づいて Elasticsearch クラスターを作成します。Red Hat OpenShift 分散トレーシング Platform (Jaeger) Operator は、次の設定が設定されている場合、Elasticsearch をプロビジョニングします。
-
spec.storage:type
はelasticsearch
に設定されている -
spec.storage.elasticsearch.doNotProvision
はfalse
に設定されている -
spec.storage.options.es.server-urls
が定義されていない。つまり、OpenShift Elasticsearch Operator によってプロビジョニングされていない Elasticsearch インスタンスへの接続がない。
Elasticsearch をプロビジョニングする場合、Red Hat OpenShift 分散トレーシング Platform (Jaeger) Operator は、Elasticsearch カスタムリソース 名を
Jaeger カスタムリソースの spec.storage.elasticsearch.name
の値に設定します。spec.storage.elasticsearch.name
に値を指定しない場合、Operator は elasticsearch
を使用します。
制約
- 名前空間ごとに、セルフプロビジョニングされた Elasticsearch インスタンスを備えた分散トレーシングプラットフォーム (Jaeger) を 1 つだけ持つことができます。Elasticsearch クラスターは、単一の分散トレーシング Platform (Jaeger) インスタンス専用となります。
- namespace ごとに 1 つの Elasticsearch のみを使用できます。
OpenShift ロギングの一部として Elasticsearch がすでにインストールされている場合、Red Hat OpenShift 分散トレーシング Platform (Jaeger) Operator はインストールされた OpenShift Elasticsearch Operator を使用してストレージをプロビジョニングできます。
以下の設定パラメーターは、セルフプロビジョニングされた Elasticsearch インスタンス用です。セルフプロビジョニングされた Elasticsearch インスタンスとは、OpenShift Elasticsearch Operator を使用して Red Hat OpenShift 分散トレーシング Platform (Jaeger) Operator によって作成されたインスタンスです。セルフプロビジョニングされた Elasticsearch の設定オプションは、設定ファイルの spec:storage:elasticsearch
の下で指定します。
パラメーター | 説明 | 値 | デフォルト値 |
---|---|---|---|
elasticsearch: properties: doNotProvision:
| Elasticsearch インスタンスを Red Hat OpenShift 分散トレーシング Platform (Jaeger) Operator によってプロビジョニングするかどうかを指定するために使用します。 |
|
|
elasticsearch: properties: name:
| Elasticsearch インスタンスの名前。Red Hat OpenShift 分散トレーシング Platform (Jaeger) Operator は、このパラメーターで指定された Elasticsearch インスタンスを使用して Elasticsearch に接続します。 | string |
|
elasticsearch: nodeCount:
| Elasticsearch ノードの数。高可用性を確保するには、少なくとも 3 つのノードを使用します。“スプリットブレイン“ の問題が生じる可能性があるため、2 つのノードを使用しないでください。 | 整数値。例: 概念実証用 = 1、最小デプロイメント = 3 | 3 |
elasticsearch: resources: requests: cpu:
| ご使用の環境設定に基づく、要求に対する中央処理単位の数。 | コアまたはミリコアで指定されます (例: 200m、0.5、1)。例: 概念実証用 = 500m、最小デプロイメント = 1 | 1 |
elasticsearch: resources: requests: memory:
| ご使用の環境設定に基づく、要求に使用できるメモリー。 | バイト単位で指定します (例:200Ki、50Mi、5Gi)。例: 概念実証用 = 1Gi、最小デプロイメント = 16Gi* | 16Gi |
elasticsearch: resources: limits: cpu:
| ご使用の環境設定に基づく、中央処理単位数の制限。 | コアまたはミリコアで指定されます (例: 200m、0.5、1)。例: 概念実証用 = 500m、最小デプロイメント = 1 | |
elasticsearch: resources: limits: memory:
| ご使用の環境設定に基づく、利用可能なメモリー制限。 | バイト単位で指定します (例:200Ki、50Mi、5Gi)。例: 概念実証用 = 1Gi、最小デプロイメント = 16Gi* | |
elasticsearch: redundancyPolicy:
| データレプリケーションポリシーは、Elasticsearch シャードをクラスター内のデータノードにレプリケートする方法を定義します。指定されていない場合は、Red Hat OpenShift 分散トレーシング Platform (Jaeger) Operator がノード数に基づいて最適なレプリケーションを自動的に決定します。 |
| |
elasticsearch: useCertManagement:
| 分散トレーシング Platform (Jaeger) が OpenShift Elasticsearch Operator の証明書管理機能を使用するかどうかを指定するために使用します。この機能は、Red Hat OpenShift Service on AWS 4.7 の {logging-title} 5.2 に追加されました。新しい Jaeger デプロイメントでは推奨される設定です。 |
|
|
各 Elasticsearch ノードはこれより低い値のメモリー設定でも動作しますが、これは実稼働環境でのデプロイメントには推奨されません。実稼働環境で使用する場合は、デフォルトで各 Pod に割り当てる設定を 16 Gi 未満にすることはできず、Pod ごとに最大 64 Gi を割り当てる必要があります。
実稼働ストレージの例
永続ストレージを含むストレージの例
- 1
- 永続ストレージの設定。この場合、AWS
gp2
のサイズは5Gi
です。値が指定されていない場合、分散トレーシング Platform (Jaeger) はemptyDir
を使用します。OpenShift Elasticsearch Operator は、分散トレーシング Platform (Jaeger) インスタンスで削除されないPersistentVolumeClaim
とPersistentVolume
をプロビジョニングします。同じ名前と名前空間を持つ分散トレーシング Platform (Jaeger) インスタンスを作成すると、同じボリュームをマウントできます。
1.26.4.6.2. 既存の Elasticsearch インスタンスへの接続 リンクのコピーリンクがクリップボードにコピーされました!
分散トレーシング Platform では、既存の Elasticsearch クラスターをストレージとして使用できます。既存の Elasticsearch クラスター (外部 Elasticsearch インスタンスとも呼ばれます) は、Red Hat OpenShift 分散トレーシング Platform (Jaeger) Operator または OpenShift Elasticsearch Operator によってインストールされなかったインスタンスです。
Jaeger カスタムリソースをデプロイするときに、次の設定が設定されている場合は、Red Hat OpenShift 分散トレーシング Platform (Jaeger) Operator は Elasticsearch をプロビジョニングしません。
-
spec.storage.elasticsearch.doNotProvision
がtrue
に設定されている -
spec.storage.options.es.server-urls
に値がある -
spec.storage.elasticsearch.name
に値がある場合、または Elasticsearch インスタンス名がelasticsearch
の場合。
Red Hat OpenShift 分散トレーシング Platform (Jaeger) Operator は、spec.storage.elasticsearch.name
で指定された Elasticsearch インスタンスを使用して Elasticsearch に接続します。
制約
- Red Hat OpenShift Service on AWS ログ Elasticsearch インスタンスを分散トレーシング Platform (Jaeger) で共有または再利用することはできません。Elasticsearch クラスターは、単一の分散トレーシング Platform (Jaeger) インスタンス専用となります。
以下の設定パラメーターは、外部 Elasticsearch インスタンスとして知られる、既存の Elasticsearch インスタンス向けです。この場合は、カスタムリソースファイルの spec:storage:options:es
で、Elasticsearch の設定オプションを指定します。
パラメーター | 説明 | 値 | デフォルト値 |
---|---|---|---|
es: server-urls:
| Elasticsearch インスタンスの URL。 | Elasticsearch サーバーの完全修飾ドメイン名。 | |
es: max-doc-count:
|
Elasticsearch クエリーから返す最大ドキュメント数。これは集約にも適用されます。 | 10000 | |
es: max-num-spans:
|
[非推奨: 今後のリリースで削除されます。代わりに | 10000 | |
es: max-span-age:
| Elasticsearch のスパンの最大ルックバック。 | 72h0m0s | |
es: sniffer:
| Elasticsearch のスニファー設定。クライアントはスニッフィングプロセスを使用してすべてのノードを自動的に検索します。デフォルトでは無効になっています。 |
|
|
es: sniffer-tls-enabled:
| Elasticsearch クラスターに対してスニッフィングする際に TLS を有効にするためのオプション。クライアントはスニッフィングプロセスを使用してすべてのノードを自動的に検索します。デフォルトでは無効になっています。 |
|
|
es: timeout:
| クエリーに使用されるタイムアウト。ゼロに設定するとタイムアウトはありません。 | 0s | |
es: username:
|
Elasticsearch で必要なユーザー名。Basic 認証は、指定されている場合に CA も読み込みます。 | ||
es: password:
|
Elasticsearch で必要なパスワード。 | ||
es: version:
| 主要な Elasticsearch バージョン。指定されていない場合、値は Elasticsearch から自動検出されます。 | 0 |
パラメーター | 説明 | 値 | デフォルト値 |
---|---|---|---|
es: num-replicas:
| Elasticsearch のインデックスごとのレプリカ数。 | 1 | |
es: num-shards:
| Elasticsearch のインデックスごとのシャード数。 | 5 |
パラメーター | 説明 | 値 | デフォルト値 |
---|---|---|---|
es: create-index-templates:
|
|
|
|
es: index-prefix:
| 分散トレーシング Platform (Jaeger) インデックスのオプションの接頭辞。たとえば、これを “production“ に設定すると、“production-tracing-*“ という名前のインデックスが作成されます。 |
パラメーター | 説明 | 値 | デフォルト値 |
---|---|---|---|
es: bulk: actions:
| バルクプロセッサーがディスクへの更新のコミットを決定する前にキューに追加できる要求の数。 | 1000 | |
es: bulk: flush-interval:
|
| 200ms | |
es: bulk: size:
| バルクプロセッサーがディスクへの更新をコミットするまでに一括要求が発生する可能性のあるバイト数。 | 5000000 | |
es: bulk: workers:
| 一括要求を受信し、Elasticsearch にコミットできるワーカーの数。 | 1 |
パラメーター | 説明 | 値 | デフォルト値 |
---|---|---|---|
es: tls: ca:
| リモートサーバーの検証に使用される TLS 認証局 (CA) ファイルへのパス。 | デフォルトではシステムトラストストアを使用します。 | |
es: tls: cert:
| リモートサーバーに対するこのプロセスの特定に使用される TLS 証明書ファイルへのパス。 | ||
es: tls: enabled:
| リモートサーバーと通信する際に、トランスポート層セキュリティー (TLS) を有効にします。デフォルトでは無効になっています。 |
|
|
es: tls: key:
| リモートサーバーに対するこのプロセスの特定に使用される TLS 秘密鍵ファイルへのパス。 | ||
es: tls: server-name:
| リモートサーバーの証明書の予想される TLS サーバー名を上書きします。 | ||
es: token-file:
| ベアラートークンが含まれるファイルへのパス。このフラグは、指定されている場合は認証局 (CA) ファイルも読み込みます。 |
パラメーター | 説明 | 値 | デフォルト値 |
---|---|---|---|
es-archive: bulk: actions:
| バルクプロセッサーがディスクへの更新のコミットを決定する前にキューに追加できる要求の数。 | 0 | |
es-archive: bulk: flush-interval:
|
| 0s | |
es-archive: bulk: size:
| バルクプロセッサーがディスクへの更新をコミットするまでに一括要求が発生する可能性のあるバイト数。 | 0 | |
es-archive: bulk: workers:
| 一括要求を受信し、Elasticsearch にコミットできるワーカーの数。 | 0 | |
es-archive: create-index-templates:
|
|
|
|
es-archive: enabled:
| 追加ストレージを有効にします。 |
|
|
es-archive: index-prefix:
| 分散トレーシング Platform (Jaeger) インデックスのオプションの接頭辞。たとえば、これを “production“ に設定すると、“production-tracing-*“ という名前のインデックスが作成されます。 | ||
es-archive: max-doc-count:
| Elasticsearch クエリーから返す最大ドキュメント数。これは集約にも適用されます。 | 0 | |
es-archive: max-num-spans:
|
[非推奨: 今後のリリースで削除されます。代わりに | 0 | |
es-archive: max-span-age:
| Elasticsearch のスパンの最大ルックバック。 | 0s | |
es-archive: num-replicas:
| Elasticsearch のインデックスごとのレプリカ数。 | 0 | |
es-archive: num-shards:
| Elasticsearch のインデックスごとのシャード数。 | 0 | |
es-archive: password:
|
Elasticsearch で必要なパスワード。 | ||
es-archive: server-urls:
|
Elasticsearch サーバーのコンマ区切りの一覧。完全修飾 URL(例: | ||
es-archive: sniffer:
| Elasticsearch のスニファー設定。クライアントはスニッフィングプロセスを使用してすべてのノードを自動的に検索します。デフォルトでは無効になっています。 |
|
|
es-archive: sniffer-tls-enabled:
| Elasticsearch クラスターに対してスニッフィングする際に TLS を有効にするためのオプション。クライアントはスニッフィングプロセスを使用してすべてのノードを自動的に検索します。デフォルトでは無効になっています。 |
|
|
es-archive: timeout:
| クエリーに使用されるタイムアウト。ゼロに設定するとタイムアウトはありません。 | 0s | |
es-archive: tls: ca:
| リモートサーバーの検証に使用される TLS 認証局 (CA) ファイルへのパス。 | デフォルトではシステムトラストストアを使用します。 | |
es-archive: tls: cert:
| リモートサーバーに対するこのプロセスの特定に使用される TLS 証明書ファイルへのパス。 | ||
es-archive: tls: enabled:
| リモートサーバーと通信する際に、トランスポート層セキュリティー (TLS) を有効にします。デフォルトでは無効になっています。 |
|
|
es-archive: tls: key:
| リモートサーバーに対するこのプロセスの特定に使用される TLS 秘密鍵ファイルへのパス。 | ||
es-archive: tls: server-name:
| リモートサーバーの証明書の予想される TLS サーバー名を上書きします。 | ||
es-archive: token-file:
| ベアラートークンが含まれるファイルへのパス。このフラグは、指定されている場合は認証局 (CA) ファイルも読み込みます。 | ||
es-archive: username:
|
Elasticsearch で必要なユーザー名。Basic 認証は、指定されている場合に CA も読み込みます。 | ||
es-archive: version:
| 主要な Elasticsearch バージョン。指定されていない場合、値は Elasticsearch から自動検出されます。 | 0 |
ボリュームマウントを含むストレージの例
以下の例は、ボリュームからマウントされる TLS CA 証明書およびシークレットに保存されるユーザー/パスワードを使用して外部 Elasticsearch クラスターを使用する Jaeger CR を示しています。
外部 Elasticsearch の例:
- 1
- デフォルト namespace で実行されている Elasticsearch サービスへの URL。
- 2
- TLS 設定。この場合は、CA 証明書のみを使用できますが、相互 TLS を使用する場合に es.tls.key および es.tls.cert を含めることもできます。
- 3
- 環境変数 ES_PASSWORD および ES_USERNAME を定義するシークレット。kubectl create secret generic tracing-secret --from-literal=ES_PASSWORD=changeme --from-literal=ES_USERNAME=elastic により作成されます
- 4
- すべてのストレージコンポーネントにマウントされるボリュームのマウントとボリューム。
1.26.4.7. クエリー設定オプション リンクのコピーリンクがクリップボードにコピーされました!
Query とは、ストレージからトレースを取得し、ユーザーインターフェイスをホストしてそれらを表示するサービスです。
パラメーター | 説明 | 値 | デフォルト値 |
---|---|---|---|
spec: query: replicas:
| 作成する Query レプリカの数を指定します。 |
整数 (例: |
パラメーター | 説明 | 値 | デフォルト値 |
---|---|---|---|
spec: query: options: {}
| Query サービスを定義する設定オプション。 | ||
options: log-level:
| Query のロギングレベル。 |
使用できる値は、 | |
options: query: base-path:
|
すべての jaeger-query HTTP ルートのベースパスは、root 以外の値に設定できます。たとえば、 | /<path> |
Query 設定の例
1.26.4.8. Ingester 設定オプション リンクのコピーリンクがクリップボードにコピーされました!
Ingester は、Kafka トピックから読み取り、Elasticsearch ストレージバックエンドに書き込むサービスです。allInOne
または production
デプロイメントストラテジーを使用している場合は、Ingester サービスを設定する必要はありません。
パラメーター | 説明 | 値 |
---|---|---|
spec: ingester: options: {}
| Ingester サービスを定義する設定オプション。 | |
options: deadlockInterval:
|
Ingester が終了するまでメッセージを待機する間隔 (秒単位または分単位) を指定します。システムの初期化中にメッセージが到着しない場合に Ingester が終了しないように、デッドロックの間隔はデフォルトで無効化 ( |
分と秒 (例: |
options: kafka: consumer: topic:
|
|
コンシューマーのラベル例: |
options: kafka: consumer: brokers:
| メッセージを消費するために Ingester によって使用される Kafka 設定を特定します。 |
ブローカーのラベル (例: |
options: log-level:
| Ingester のロギングレベル。 |
使用できる値は、 |
ストリーミング Collector および Ingester の例