1.26.4.6. 分散トレースのストレージ設定オプション

spec.storage の下で Collector、Ingester、および Query サービスのストレージを設定します。これらの各コンポーネントの複数のインスタンスは、パフォーマンスと回復性を確保するために、必要に応じてプロビジョニングできます。

表1.44 分散トレースストレージを定義するために Red Hat OpenShift 分散トレースプラットフォーム Operator によって使用される一般的なストレージパラメーター

パラメーター説明デフォルト値
spec:
  storage:
    type:

デプロイメントに使用するストレージのタイプ。

memory または elasticsearchメモリーストレージは、Pod がシャットダウンした場合にデータが永続化されないため、開発、テスト、デモ、および概念検証用の環境にのみに適しています。実稼働環境については、分散トレースプラットフォームは永続ストレージの Elasticsearch をサポートします。

memory

storage:
  secretname:

シークレットの名前 (例:tracing-secret )。

 

該当なし

storage:
  options: {}

ストレージを定義する設定オプション。

  

表1.45 Elasticsearch インデックスクリーナーのパラメーター

パラメーター説明デフォルト値
storage:
  esIndexCleaner:
    enabled:

Elasticsearch ストレージを使用する場合、デフォルトでジョブが作成され、古いトレースをインデックスからクリーンアップします。このパラメーターは、インデックスクリーナージョブを有効または無効にします。

true/ false

true

storage:
  esIndexCleaner:
    numberOfDays:

インデックスの削除を待機する日数。

整数値

7

storage:
  esIndexCleaner:
    schedule:

Elasticsearch インデックスを消去する頻度についてのスケジュールを定義します。

cron 式

"55 23 * * *"

1.26.4.6.1. Elasticsearch インスタンスの自動プロビジョニング

Jaeger カスタムリソースをデプロイする場合には、Red Hat OpenShift 分散トレースプラットフォーム Operator は、OpenShift Elasticsearch Operator を使用して、カスタムリソースファイルの ストレージ セクションで提供される設定に基づいて Elasticsearch クラスターを作成します。以下の設定が設定されている場合には、Red Hat 分散トレースプラットフォーム Operator は Elasticsearch をプロビジョニングします。

  • spec.storage:typeelasticsearch に設定されている
  • spec.storage.elasticsearch.doNotProvisionfalse に設定されている
  • spec.storage.options.es.server-urls が定義されていない。つまり、Red Hat Elasticsearch Operator によってプロビジョニングされていない Elasticsearch インスタンスへの接続がない。

Elasticsearch をプロビジョニングする場には、Red Hat OpenShift 分散トレースプラットフォーム Operator は、Elasticsearch カスタムリソース を Jaeger カスタムリソースの spec.storage.elasticsearch.name の値に設定します。spec.storage.elasticsearch.name に値を指定しない場合には、Operator は elasticsearch を使用します。

制約

  • namespace ごとにセルフプロビジョニングされた Elasticsearch インスタンスがある分散トレースプラットフォーム 1 つだけを使用できます。Elasticsearch クラスターは単一の 分散トレースプラットフォームインスタンスの専用のクラスターになります。
  • namespace ごとに 1 つの Elasticsearch のみを使用できます。
注記

Elasticsearch を OpenShift ロギングの一部としてインストールしている場合、Red Hat OpenShift 分散トレースプラットフォーム Operator はインストールされた OpenShift Elasticsearch Operator を使用してストレージをプロビジョニングできます。

以下の設定パラメーターは、セルフプロビジョニングされた Elasticsearch インスタンスについてのものです。これは、OpenShift Elasticsearch Operator を使用して Red Hat OpenShift 分散トレースプラットフォーム Operator によって作成されるインスタンスです。セルフプロビジョニングされた Elasticsearch の設定オプションは、設定ファイルの spec:storage:elasticsearch の下で指定します。

表1.46 Elasticsearch リソース設定パラメーター

パラメーター説明デフォルト値
elasticsearch:
  properties:
    doNotProvision:

Elasticsearch インスタンスを Red Hat 分散トレースプラットフォーム Operator がプロビジョニングする必要があるかどうかを指定するために使用します。

true/false

true

elasticsearch:
  properties:
    name:

Elasticsearch インスタンスの名前。Red Hat OpenShift 分散トレースプラットフォーム Operator は、このパラメーターで指定された Elasticsearch インスタンスを使用して Elasticsearch に接続します。

文字列

elasticsearch

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 分散トレースプラットフォーム Operator はノード数に基づいて最も適切なレプリケーションを自動的に判別します。

ZeroRedundancy(レプリカシャードなし)、SingleRedundancy(レプリカシャード 1 つ)、MultipleRedundancy(各インデックスはデータノードの半分に分散される)、FullRedundancy (各インデックスはクラスター内のすべてのデータノードに完全にレプリケートされます)

 
elasticsearch:
  useCertManagement:

分散トレースプラットフォームが Red Hat の証明書管理機能を使用するかどうかを指定するために使用します。この機能は、OpenShift Container Platform 4.7 の Red Hat OpenShift 5.2 向けのロギングサブシステムに追加されており、新しい Jaeger デプロイメントに推奨の設定です。

true/false

true

各 Elasticsearch ノードはこれより低い値のメモリー設定でも動作しますが、これは実稼働環境でのデプロイメントには推奨されません。実稼働環境で使用する場合、デフォルトで各 Pod に割り当てる設定を 16Gi 未満にすることはできず、Pod ごとに最大 64Gi を割り当てることを推奨します。

実稼働ストレージの例

apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
  name: simple-prod
spec:
  strategy: production
  storage:
    type: elasticsearch
    elasticsearch:
      nodeCount: 3
      resources:
        requests:
          cpu: 1
          memory: 16Gi
        limits:
          memory: 16Gi

永続ストレージを含むストレージの例:

apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
  name: simple-prod
spec:
  strategy: production
  storage:
    type: elasticsearch
    elasticsearch:
      nodeCount: 1
      storage: 1
        storageClassName: gp2
        size: 5Gi
      resources:
        requests:
          cpu: 200m
          memory: 4Gi
        limits:
          memory: 4Gi
      redundancyPolicy: ZeroRedundancy

1
永続ストレージの設定。この場合、AWS gp2 のサイズは 5Gi です。値の指定がない場合、分散トレースプラットフォームは emptyDir を使用します。OpenShift Elasticsearch Operator は、分散トレースプラットフォームインスタンスで削除されないPersistentVolumeClaim および PersistentVolume をプロビジョニングします。同じ名前および namespace で分散トレースプラットフォームインスタンスを作成する場合は、同じボリュームをマウントできます。