• 検索結果がありません。

分散トレースの設定

ドキュメント内 OpenShift Container Platform 4.6 サービスメッシュ (ページ 104-109)

バージョン 2. 0 ServiceMeshControlPlane の例 の例

1.13. カスタムリソース

1.13.5. 分散トレースの設定

Service Mesh Operator は ServiceMeshControlPlane リソースを作成する際に、分散トレースのリ ソースも作成します。サービスメッシュは分散トレースに Jaeger を使用します。

1.13.5.1. トレースの有効化および無効化 トレースの有効化および無効化

トレースタイプとサンプリングレートを指定して、トレースを有効にします。

デフォルトの

デフォルトの

all-in-one

Jaeger パラメーター パラメーター

kiali:

enabled: true dashboard:

viewOnlyMode: false

grafanaURL: "https://grafana-istio-system.127.0.0.1.nip.io"

ingress:

enabled: true

spec:

kiali:

enabled: true dashboard:

viewOnlyMode: false

jaegerURL: "http://jaeger-query-istio-system.127.0.0.1.nip.io"

ingress:

enabled: true

apiVersion: maistra.io/v2 kind: ServiceMeshControlPlane metadata:

name: basic spec:

version: v2.0 tracing:

sampling: 100 type: Jaeger

現在、サポートされるトレーサーの唯一のタイプは Jaeger です。Jaeger はデフォルトで有効にされま す。トレースを無効にするには、type を None に設定します。

サンプリングレートは、トレースの生成頻度を定めます。sampling は 0.01% の増分を表すスケーリン グされた整数として設定します。たとえば、値を 1 サンプル (0.01% トレース)、および 10000 サンプル (100% トレース) に設定します。

1.13.5.2. Jaeger 設定の指定 設定の指定

Jaeger は、ServiceMeshControlPlane リソースの addons セクションで設定します。

Jaeger 設定は、以下の2 つの方法のいずれかで指定できます。

ServiceMeshControlPlane リソースの spec.addons.jaeger.install で Jaeger 設定を指定しま す。この方法にはいくつかの制限があります。たとえば、コントロールプレーンで streaming デプロイメントストラテジーを設定することはできません。

Jaeger インスタンスを設定およびデプロイしてから、Jaeger リソースの name

を、ServiceMeshControlPlane リソースの spec.addons.jaeger.name の値として指定しま

す。name の値に一致する Jaeger リソースが存在する場合、コントロールプレーンは既存のイ

ンストールを使用します。この方法では、Jaeger 設定を完全にカスタマイズできます。

Jaeger リソースの例については、「Jaeger の設定およびデプロイ」を参照してください。

1.13.5.3. Jaeger のデプロイ のデプロイ

Jaeger Operator は現時点で以下のデプロイメントストラテジーをサポートします。

allInOne (デフォルト): このストラテジーは、開発、テストおよびデモの目的で使用されること

が意図されています。主なバックエンドコンポーネントである Agent、Collector、および

Query サービスはすべて、インメモリーストレージを使用するように (デフォルトで) 設定され

た単一の実行可能ファイルにパッケージ化されます。

注記 注記

インメモリーストレージには永続性がありません。つまり、Jaeger インスタン スがシャットダウンするか、再起動するか、または置き換えられると、トレース データが失われます。各 Pod には独自のメモリーがあるため、インメモリース トレージはスケーリングできません。永続ストレージの場合、デフォルトのスト レージとして Elasticsearch を使用する production または streaming ストラテ ジーを使用する必要があります。

production: production ストラテジーは、実稼働環境向けのストラテジーであり、トレース データの長期の保存が重要となり、より拡張性および高可用性のあるアーキテクチャーも必要 になります。そのため、バックエンドコンポーネントはそれぞれ別々にデプロイされます。

エージェントは、インストルメント化されたアプリケーションのサイドカーとして挿入できま

す。Query および Collector サービスは、サポートされているストレージタイプ (現時点では

Elasticsearch) で設定されます。これらの各コンポーネントの複数のインスタンスは、パフォー

マンスと回復性を確保するために、必要に応じてプロビジョニングできます。

streaming: streaming ストラテジーは、Collector とバックエンドストレージ (Elasticsearch) 間 に効果的に配置されるストリーミング機能を提供することで、production ストラテジーを増強 する目的で設計されています。これにより、負荷の高い状況でバックエンドストレージに加わ る圧力を軽減し、他のトレース処理後の機能がストリーミングプラットフォーム (AMQ

Streams/ Kafka) から直接リアルタイムのスパンデータを利用できるようにします。

注記 注記

ストリーミングストラテジーには、AMQ Streams 用の追加の Red Hat サブスクリプ ションが必要です。

1.13.5.3.1. デフォルトデフォルト Jaeger デプロイメントデプロイメント

デフォルトの allInOne Jaeger デプロイメントストラテジーを使用するに

は、spec.addons.jaeger.install.storage.type を Memory に設定します。デフォルトを使用するか、

または install で追加設定オプションを許可できます。Jaeger 設定オプションを指定しない場合、コン

トロールプレーンはデフォルトで allInOne デプロイメントストラテジーを使用します。

コントロールプレーンのデフォルト

コントロールプレーンのデフォルト Jaeger パラメーター パラメーター ( メモリー メモリー )

1.13.5.3.2. Jaeger の実稼働デプロイメントの実稼働デプロイメント

production デプロイメントストラテジーを使用するには、spec.addons.jaeger.install.storage.type を 'Elasticsearch' に設定し、install で追加設定オプションを指定します。または、Jaeger インスタン スを作成および設定し、spec.addons.jaeger.name を Jaeger インスタンスの名前 (例: jaeger-production) に設定できます。

コントロールプレーンのデフォルト

コントロールプレーンのデフォルト Jaeger パラメーター パラメーター (Elasticsearch)

apiVersion: maistra.io/v2

kind: ServiceMeshControlPlane metadata:

name: basic spec:

version: v2.0 tracing:

sampling: 10000 type: Jaeger addons:

jaeger:

name: jaeger install:

storage:

type: Memory

apiVersion: maistra.io/v2 kind: ServiceMeshControlPlane metadata:

name: production spec:

version: v2.0 tracing:

sampling: 10000 type: Jaeger addons:

jaeger:

name: jaeger-production install:

storage:

type: Elasticsearch ingress:

1.13.5.3.3. Jaeger デプロイメントのストリーミングデプロイメントのストリーミング

streaming デプロイメントストラテジーを使用するには、まず Jaeger インスタンスを作成および設定 してから、 spec.addons.jaeger.name を Jaeger インスタンスの名前 (例: jaeger-streaming) に設定し ます。

既存の

既存の Jaeger インスタンスへの接続例 インスタンスへの接続例

Jaeger 設定のカスタマイズについての詳細は、「Jaeger の設定およびデプロイ」を参照してくださ

い。

OpenShift Container Platform で Elasticsearch を設定する方法についての詳細は、「ログストアの設 定」または「 Jaeger の設定およびデプロイ」を参照してください。

1.13.6. 3scale の設定

以下の例は、Red Hat OpenShift Service Mesh カスタムリソースの 3scale Istio Adapter パラメーター と、適切な値を持つ利用可能なパラメーターの説明を示しています。

3scale パラメーターの例 パラメーターの例

enabled: true runtime:

components:

tracing.jaeger.elasticsearch: # only supports resources and image name container:

resources: {}

apiVersion: maistra.io/v2 kind: ServiceMeshControlPlane metadata:

name: basic spec:

version: v2.0 tracing:

sampling: 10 type: Jaeger addons:

jaeger:

name: jaeger-streaming

threeScale:

enabled: false

PARAM_THREESCALE_LISTEN_ADDR: 3333 PARAM_THREESCALE_LOG_LEVEL: info PARAM_THREESCALE_LOG_JSON: true PARAM_THREESCALE_LOG_GRPC: false

PARAM_THREESCALE_REPORT_METRICS: true PARAM_THREESCALE_METRICS_PORT: 8080 PARAM_THREESCALE_CACHE_TTL_SECONDS: 300 PARAM_THREESCALE_CACHE_REFRESH_SECONDS: 180 PARAM_THREESCALE_CACHE_ENTRIES_MAX: 1000 PARAM_THREESCALE_CACHE_REFRESH_RETRIES: 1 PARAM_THREESCALE_ALLOW_INSECURE_CONN: false

表1.12 3scale パラメーターパラメーター パラメーター

パラメーター 説明説明 値値 デフォルト値デフォルト値

enabled 3scale アダプターを使用

するかどうか

true/false false

PARAM_THREESCA LE_LISTEN_ADDR

gRPC サーバーのリッス

ンアドレスを設定しま す。

有効なポート番号 3333

PARAM_THREESCA LE_LOG_LEVEL

ログ出力の最小レベルを 設定します。

debuginfowarn

error、またはnone info

PARAM_THREESCA LE_LOG_JSON

ログが JSON として フォーマットされるかど うかを制御します。

true/false true

PARAM_THREESCA LE_LOG_GRPC

ログに gRPC 情報を含む

かどうかを制御します。

true/false true

PARAM_THREESCA LE_REPORT_METRI CS

3scale システムおよび バックエンドメトリクス が収集され、

Prometheus に報告され るかどうかを制御しま す。

true/false true

PARAM_THREESCA

LE_METRICS_PORT 3scale /metricsエンド ポイントをスクラップで きるポートを設定しま す。

有効なポート番号 8080

PARAM_THREESCA LE_CACHE_TTL_SE CONDS

キャッシュから期限切れ のアイテムを消去するま で待機する時間 (秒単 位)。

時間 (秒単位) 300

PARAM_THREESCA LE_CACHE_REFRES H_SECONDS

キャッシュ要素の更新を 試行する場合の期限

時間 (秒単位) 180 PARAM_THREESCALE_CLIENT_TIMEOUT_SECONDS: 10

PARAM_THREESCALE_GRPC_CONN_MAX_SECONDS: 60 PARAM_USE_CACHED_BACKEND: false

PARAM_BACKEND_CACHE_FLUSH_INTERVAL_SECONDS: 15 PARAM_BACKEND_CACHE_POLICY_FAIL_CLOSED: true

PARAM_THREESCA LE_CACHE_ENTRIE S_MAX

キャッシュにいつでも保 存できるアイテムの最大 数。キャッシュを無効に するには0に設定しま す。

有効な数字 1000

PARAM_THREESCA LE_CACHE_REFRES H_RETRIES

キャッシュ更新ループ時 に到達できないホストが 再試行される回数

有効な数字 1

PARAM_THREESCA LE_ALLOW_INSECU RE_CONN

3scale API 呼び出し時 の証明書の検証を省略で きるようにします。この 有効化は推奨されていま せん。

true/false false

PARAM_THREESCA LE_CLIENT_TIMEOU T_SECONDS

3scale システムおよび バックエンドへの要求を 終了するまで待機する秒 数を設定します。

時間 (秒単位) 10

PARAM_THREESCA LE_GRPC_CONN_M AX_SECONDS

接続を閉じるまでの最大 秒数 (+/-10% のジッ ター) を設定します。

時間 (秒単位) 60

PARAM_USE_CACH

E_BACKEND true

の場合、承認要求の インメモリー apisonator キャッシュの作成を試行 します。

true/false false

PARAM_BACKEND_

CACHE_FLUSH_INT ERVAL_SECONDS

バックエンドキャッシュ が有効な場合には、

3scale に対してキャッ シュをフラッシュする間 隔を秒単位で設定しま す。

時間 (秒単位) 15

PARAM_BACKEND_

CACHE_POLICY_FAI L_CLOSED

バックエンドキャッシュ が承認データを取得でき ない場合は常に、要求を 拒否する (クローズする) か、許可する (オープン する) かどうか。

true/false true パラメーター

パラメーター 説明説明 値値 デフォルト値デフォルト値

ドキュメント内 OpenShift Container Platform 4.6 サービスメッシュ (ページ 104-109)