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 ロールを持つユーザーとしてクラスターにアクセスできる。

手順

  1. cluster-admin ロールを持つユーザーとして OpenShift Container Platform Web コンソールにログインします。
  2. 新規プロジェクト (例: tracing-system) を作成します。

    注記

    サービスメッシュの一部としてインストールする場合、分散トレースリソースは、istio-system など、ServiceMeshControlPlane リソースと同じ namespace にインストールする必要があります。

    1. Home Projects に移動します。
    2. Create Project をクリックします。
    3. Name フィールドに tracing-system を入力します。
    4. Create をクリックします。
  3. Operators Installed Operators に移動します。
  4. 必要な場合は、Project メニューから tracing-system を選択します。Operator が新規プロジェクトにコピーされるまでに数分待機する必要がある場合があります。
  5. Red Hat OpenShift distributed tracing platform Operator をクリックします。Details タブの Provided APIs で、Operator は単一リンクを提供します。
  6. Jaeger で、Create Instance をクリックします。
  7. Create Jaeger ページで、デフォルトを使用してインストールするには、 Create をクリックして分散トレースプラットフォームのインスタンスを作成します。
  8. Jaegers ページで、分散トレースプラットフォームインスタンスの名前 (例: jaeger-all-in-one-inmemory) をクリックします。
  9. Jaeger Details ページで、Resources タブをクリックします。Pod のステータスが Running になるまで待機してから続行します。

3.2.1.1. CLI からの分散トレースのデフォルトストラテジーのデプロイ

以下の手順に従って、コマンドラインから分散トレースプラットフォームのインスタンスを作成します。

前提条件

  • Red Hat OpenShift 分散トレースプラットフォーム Operator がインストールされ検証されている。
  • デプロイメントのカスタマイズ手順を確認している。
  • OpenShift Container Platform バージョンに一致する OpenShift CLI (oc) にアクセスできる。
  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。

手順

  1. cluster-admin ロールを持つユーザーとして OpenShift Container Platform CLI にログインします。

    $ oc login --username=<NAMEOFUSER> https://<HOSTNAME>:8443
  2. tracing-system という名前の新規プロジェクトを作成します。

    $ oc new-project tracing-system
  3. 以下のテキストが含まれる jaeger.yaml という名前のカスタムリソースファイルを作成します。

    例: jaeger-all-in-one.yaml

    apiVersion: jaegertracing.io/v1
    kind: Jaeger
    metadata:
      name: jaeger-all-in-one-inmemory

  4. 以下のコマンドを実行して、分散トレースプラットフォームをデプロイします。

    $ oc create -n tracing-system -f jaeger.yaml
  5. 以下のコマンドを実行して、インストールプロセス時の 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
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.