This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.3.2. 分散トレースの設定およびデプロイ
Red Hat OpenShift 分散トレースプラットフォーム Operator は、分散トレースプラットフォームリソースの作成およびデプロイ時に使用されるアーキテクチャーおよび設定を定義するカスタムリソース定義 (CRD) ファイルを使用します。デフォルト設定をインストールするか、またはビジネス要件に合わせてファイルを変更することができます。
Red Hat OpenShift 分散トレースプラットフォームには、事前に定義されたデプロイメントストラテジーがあります。カスタムリソースファイルでデプロイメントストラテジーを指定します。分散トレースプラットフォームインスタンスの作成時に、Operator はこの設定ファイルを使用してデプロイメントに必要なオブジェクトを作成します。
デプロイメントストラテジーを表示する Jaeger カスタムリソースファイル
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: MyConfigFile
spec:
strategy: production 1
- 1
- Red Hat OpenShift 分散トレースプラットフォーム Operator は現時点で以下のデプロイメントストラテジーをサポートします。
allInOne (デフォルト): このストラテジーは、開発、テストおよびデモの目的で使用されることが意図されています。主なバックエンドコンポーネントである Agent、Collector、および Query サービスはすべて、デフォルトでインメモリーストレージを使用するように設定された単一の実行可能ファイルにパッケージ化されます。
注記インメモリーストレージには永続性がありません。つまり、分散トレースプラットフォームインスタンスがシャットダウンするか、再起動するか、または置き換えられると、トレースデータが失われます。各 Pod には独自のメモリーがあるため、インメモリーストレージはスケーリングできません。永続ストレージの場合、デフォルトのストレージとして Elasticsearch を使用する
production
またはstreaming
ストラテジーを使用する必要があります。- production: production ストラテジーは、実稼働環境向けのストラテジーであり、トレースデータの長期の保存が重要となり、より拡張性および高可用性のあるアーキテクチャーも必要になります。そのため、バックエンドコンポーネントはそれぞれ別々にデプロイされます。エージェントは、インストルメント化されたアプリケーションのサイドカーとして挿入できます。Query および Collector サービスは、サポートされているストレージタイプ (現時点では Elasticsearch) で設定されます。これらの各コンポーネントの複数のインスタンスは、パフォーマンスと回復性を確保するために、必要に応じてプロビジョニングできます。
streaming: streaming ストラテジーは、Collector と Elasticsearch バックエンドストレージ間に効果的に配置されるストリーミング機能を提供することで、production ストラテジーを増強する目的で設計されています。これにより、負荷の高い状況でバックエンドストレージに加わる圧力を軽減し、他のトレース処理後の機能がストリーミングプラットフォーム (AMQ Streams/ Kafka) から直接リアルタイムのスパンデータを利用できるようにします。
注記streaming ストラテジーには、AMQ Streams 用の追加の Red Hat サブスクリプションが必要です。
IBM Z では、現在ストリーミングデプロイメントストラテジーはサポートされていません。
サービスメッシュの一部としてか、またはスタンドアロンのコンポーネントとして Red Hat OpenShift 分散トレースをインストールし、使用するには 2 つの方法があります。Red Hat OpenShift Service Mesh の一部として分散トレースをインストールしている場合、ServiceMeshControlPlane の一部として基本的な設定を実行できますが、完全な制御を行うためには、Jaeger CR を設定してから、ServiceMeshControlPlane の分散トレース設定ファイルを参照する 必要があります。
3.2.1. Web コンソールからの分散トレースのデフォルトストラテジーのデプロイ
カスタムリソース定義 (CRD) は、Red Hat OpenShift 分散トレースのインスタンスをデプロイする際に使用される設定を定義します。デフォルト CR は jaeger-all-in-one-inmemory
という名前で、デフォルトの OpenShift Container Platform インストールに正常にインストールできるように最小リソースで設定されます。このデフォルト設定を使用して、AllInOne
デプロイメントストラテジーを使用する Red Hat OpenShift 分散トレースプラットフォームのインスタンスを作成するか、または独自のカスタムリソースファイルを定義できます。
インメモリーストレージには永続性がありません。Jaeger Pod がシャットダウンするか、再起動するか、または置き換えられると、トレースデータが失われます。永続ストレージの場合、デフォルトのストレージとして Elasticsearch を使用する production
または streaming
ストラテジーを使用する必要があります。
前提条件
- Red Hat OpenShift 分散トレースプラットフォーム Operator がインストールされている。
- デプロイメントのカスタマイズ手順を確認している。
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。
手順
-
cluster-admin
ロールを持つユーザーとして OpenShift Container Platform Web コンソールにログインします。 新規プロジェクト (例:
tracing-system
) を作成します。注記サービスメッシュの一部としてインストールする場合、分散トレースリソースは、
istio-system
など、ServiceMeshControlPlane
リソースと同じ namespace にインストールする必要があります。-
Home
Projects に移動します。 - Create Project をクリックします。
-
Name フィールドに
tracing-system
を入力します。 - Create をクリックします。
-
Home
-
Operators
Installed Operators に移動します。 -
必要な場合は、Project メニューから
tracing-system
を選択します。Operator が新規プロジェクトにコピーされるまでに数分待機する必要がある場合があります。 - Red Hat OpenShift distributed tracing platform Operator をクリックします。Details タブの Provided APIs で、Operator は単一リンクを提供します。
- Jaeger で、Create Instance をクリックします。
- Create Jaeger ページで、デフォルトを使用してインストールするには、 Create をクリックして分散トレースプラットフォームのインスタンスを作成します。
-
Jaegers ページで、分散トレースプラットフォームインスタンスの名前 (例:
jaeger-all-in-one-inmemory
) をクリックします。 - Jaeger Details ページで、Resources タブをクリックします。Pod のステータスが Running になるまで待機してから続行します。
3.2.1.1. CLI からの分散トレースのデフォルトストラテジーのデプロイ
以下の手順に従って、コマンドラインから分散トレースプラットフォームのインスタンスを作成します。
前提条件
- Red Hat OpenShift 分散トレースプラットフォーム Operator がインストールされ検証されている。
- デプロイメントのカスタマイズ手順を確認している。
-
OpenShift Container Platform バージョンに一致する OpenShift CLI (
oc
) にアクセスできる。 -
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。
手順
cluster-admin
ロールを持つユーザーとして OpenShift Container Platform CLI にログインします。$ oc login --username=<NAMEOFUSER> https://<HOSTNAME>:8443
tracing-system
という名前の新規プロジェクトを作成します。$ oc new-project tracing-system
以下のテキストが含まれる
jaeger.yaml
という名前のカスタムリソースファイルを作成します。例: jaeger-all-in-one.yaml
apiVersion: jaegertracing.io/v1 kind: Jaeger metadata: name: jaeger-all-in-one-inmemory
以下のコマンドを実行して、分散トレースプラットフォームをデプロイします。
$ oc create -n tracing-system -f jaeger.yaml
以下のコマンドを実行して、インストールプロセス時の Pod の進捗を確認します。
$ oc get pods -n tracing-system -w
インストールプロセスが完了すると、以下の例ような出力が表示されるはずです。
NAME READY STATUS RESTARTS AGE jaeger-all-in-one-inmemory-cdff7897b-qhfdx 2/2 Running 0 24s