3.2.5.5. 分散トレースのストレージ設定オプション
spec.storage
の下で Collector、Ingester、および Query サービスのストレージを設定します。これらの各コンポーネントの複数のインスタンスは、パフォーマンスと回復性を確保するために、必要に応じてプロビジョニングできます。
パラメーター | 説明 | 値 | デフォルト値 |
---|---|---|---|
spec: storage: type: | デプロイメントに使用するストレージのタイプ。 |
|
|
storage: secretname: |
シークレットの名前 (例: | 該当なし | |
storage: options: {} | ストレージを定義する設定オプション。 |
パラメーター | 説明 | 値 | デフォルト値 |
---|---|---|---|
storage: esIndexCleaner: enabled: | Elasticsearch ストレージを使用する場合、デフォルトでジョブが作成され、古いトレースをインデックスからクリーンアップします。このパラメーターは、インデックスクリーナージョブを有効または無効にします。 |
|
|
storage: esIndexCleaner: numberOfDays: | インデックスの削除を待機する日数。 | 整数値 |
|
storage: esIndexCleaner: schedule: | Elasticsearch インデックスを消去する頻度についてのスケジュールを定義します。 | cron 式 | "55 23 * * *" |
3.2.5.5.1. Elasticsearch インスタンスの自動プロビジョニング
Jaeger カスタムリソースをデプロイする場合には、Red Hat OpenShift 分散トレースプラットフォーム Operator は、OpenShift Elasticsearch Operator を使用して、カスタムリソースファイルの ストレージ
セクションで提供される設定に基づいて Elasticsearch クラスターを作成します。以下の設定が設定されている場合には、Red Hat 分散トレースプラットフォーム Operator は Elasticsearch をプロビジョニングします。
-
spec.storage:type
はelasticsearch
に設定されている -
spec.storage.elasticsearch.doNotProvision
はfalse
に設定されている -
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
の下で指定します。
パラメーター | 説明 | 値 | デフォルト値 |
---|---|---|---|
elasticsearch: properties: doNotProvision: | Elasticsearch インスタンスを Red Hat 分散トレースプラットフォーム Operator がプロビジョニングする必要があるかどうかを指定するために使用します。 |
|
|
elasticsearch: properties: name: | Elasticsearch インスタンスの名前。Red Hat OpenShift 分散トレースプラットフォーム Operator は、このパラメーターで指定された 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 はノード数に基づいて最も適切なレプリケーションを自動的に判別します。 |
| |
elasticsearch: useCertManagement: | 分散トレースプラットフォームが Red Hat の証明書管理機能を使用するかどうかを指定するために使用します。この機能は、OpenShift Container Platform 4.7 の Red Hat OpenShift 5.2 向けのロギングサブシステムに追加されており、新しい Jaeger デプロイメントに推奨の設定です。 |
|
|
各 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 で分散トレースプラットフォームインスタンスを作成する場合は、同じボリュームをマウントできます。