3.2.3. Web コンソールからの分散トレースの streaming ストラテジーのデプロイ
streaming
デプロイメントストラテジーは、よりスケーラブルで高可用性のあるアーキテクチャーを必要とし、トレースデータの長期保存が重要となる実稼働環境向けのものです。
streaming
ストラテジーは、Collector と Elasticsearch ストレージ間に配置されるストリーミング機能を提供します。これにより、負荷の高い状況でストレージに加わる圧力を軽減し、他のトレースの後処理機能が Kafka ストリーミングプラットフォームから直接リアルタイムのスパンデータを利用できるようにします。
streaming ストラテジーには、AMQ Streams 用の追加の Red Hat サブスクリプションが必要です。AMQ Streams サブスクリプションをお持ちでない場合は、営業担当者にお問い合わせください。
IBM Z では、現在ストリーミングデプロイメントストラテジーはサポートされていません。
前提条件
- AMQ Streams Operator がインストールされている。バージョン 1.4.0 以降を使用している場合は、セルフプロビジョニングを使用できます。それ以外の場合は、Kafka インスタンスを作成する必要があります。
- 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 をクリックします。Overview タブの Provided APIs で、Operator は単一リンクを提供します。
- Jaeger で、Create Instance をクリックします。
-
Create Jaeger ページで、デフォルトの
all-in-one
YAML テキストをストリーミング用の YAML 設定に置き換えます。以下は例になります。
例: jaeger-streaming.yaml ファイル
apiVersion: jaegertracing.io/v1 kind: Jaeger metadata: name: jaeger-streaming spec: strategy: streaming collector: options: kafka: producer: topic: jaeger-spans #Note: If brokers are not defined,AMQStreams 1.4.0+ will self-provision Kafka. brokers: my-cluster-kafka-brokers.kafka:9092 storage: type: elasticsearch ingester: options: kafka: consumer: topic: jaeger-spans brokers: my-cluster-kafka-brokers.kafka:9092
- Create をクリックして分散トレースプラットフォームのインスタンスを作成します。
-
Jaegers ページで、分散トレースプラットフォームインスタンスの名前 (例:
jaeger-streaming
) をクリックします。 - Jaeger Details ページで、Resources タブをクリックします。すべての Pod のステータスが Running になるまで待機してから続行します。
3.2.3.1. CLI からの分散トレースの streaming ストラテジーのデプロイ
以下の手順に従って、コマンドラインから分散トレースプラットフォームのインスタンスを作成します。
前提条件
- AMQ Streams Operator がインストールされている。バージョン 1.4.0 以降を使用している場合は、セルフプロビジョニングを使用できます。それ以外の場合は、Kafka インスタンスを作成する必要があります。
- 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-streaming.yaml
という名前のカスタムリソースファイルを作成します。 以下のコマンドを実行して Jaeger をデプロイします。
$ oc create -n tracing-system -f jaeger-streaming.yaml
以下のコマンドを実行して、インストールプロセス時の Pod の進捗を確認します。
$ oc get pods -n tracing-system -w
インストールプロセスが完了すると、以下の例ような出力が表示されるはずです。
NAME READY STATUS RESTARTS AGE elasticsearch-cdm-jaegersystemjaegerstreaming-1-697b66d6fcztcnn 2/2 Running 0 5m40s elasticsearch-cdm-jaegersystemjaegerstreaming-2-5f4b95c78b9gckz 2/2 Running 0 5m37s elasticsearch-cdm-jaegersystemjaegerstreaming-3-7b6d964576nnz97 2/2 Running 0 5m5s jaeger-streaming-collector-6f6db7f99f-rtcfm 1/1 Running 0 80s jaeger-streaming-entity-operator-6b6d67cc99-4lm9q 3/3 Running 2 2m18s jaeger-streaming-ingester-7d479847f8-5h8kc 1/1 Running 0 80s jaeger-streaming-kafka-0 2/2 Running 0 3m1s jaeger-streaming-query-65bf5bb854-ncnc7 3/3 Running 0 80s jaeger-streaming-zookeeper-0 2/2 Running 0 3m39s