1.6.5. Jaeger の設定
Service Mesh Operator は ServiceMeshControlPlane
リソースを作成する際に、Jaeger リソースも作成します。次に Jaeger Operator は Jaeger インスタンスの作成時にこのオブジェクトを使用します。
ServiceMeshControlPlane
で指定されるデフォルトの Jaeger パラメーターは以下のとおりです。
デフォルトの all-in-one
Jaeger パラメーター
apiVersion: maistra.io/v1 kind: ServiceMeshControlPlane spec: istio: tracing: enabled: true jaeger: template: all-in-one
パラメーター | 説明 | 値 | デフォルト値 |
---|---|---|---|
tracing enabled | このパラメーターは、Service Mesh でトレースを有効/無効にします。Jaeger がデフォルトでインストールされます。 |
|
|
jaeger template | このパラメーターは、使用する Jaeger デプロイメントストラテジーを指定します。 |
|
|
ServiceMeshControlPlane
リソースのデフォルトのテンプレートは、インメモリーストレージを使用する all-in-one
のデプロイメントストラテジーです。実稼働環境では、サポートされている唯一のストレージオプションが Elasticsearch であるため、実稼働環境内に Service Mesh をデプロイする際には、production-elasticsearch
テンプレートを要求するように ServiceMeshControlPlane
を設定する必要があります。
1.6.5.1. Elasticsearch の設定
デフォルトの Jaeger デプロイメントストラテジーでは、all-in-one
テンプレートを使用するため、最小のリソースでインストールを完了できます。ただし、all-in-one
テンプレートはインメモリーストレージを使用するので、開発、デモまたはテスト目的での使用を推奨しています。実稼働環境には使用しないでください。
実稼働環境で Service Mesh および Jaeger をデプロイする場合、テンプレートを production-elasticsearch
テンプレートに変更する必要があります。これは Jaeger のストレージのニーズに対応するために Elasticsearch を使用します。
Elasticsearch はメモリー集約型アプリケーションです。デフォルトの OpenShift Container Platform インストールで指定されたノードの初期セットは、Elasticsearch クラスターをサポートするのに十分な大きさではない場合があります。デフォルトの Elasticsearch 設定は、ユースケースと OpenShift Container Platform インストール用に必要とするリソースに一致するように変更する必要があります。resources ブロックを有効な CPU 値およびメモリー値で変更することにより、各コンポーネントの CPU およびメモリーの制限の両方を調整することができます。推奨容量 (以上) のメモリーを使用して実行する場合は、追加のノードをクラスターに追加する必要があります。OpenShift Container Platform インストールに必要となるリソースを超えていないことを確認してください。
Elasticsearch を使用したデフォルトの実稼働 Jaeger パラメーター
apiVersion: maistra.io/v1 kind: ServiceMeshControlPlane spec: istio: tracing: enabled: true ingress: enabled: true jaeger: template: production-elasticsearch elasticsearch: nodeCount: 3 redundancyPolicy: resources: requests: cpu: "1" memory: "16Gi" limits: cpu: "1" memory: "16Gi"
パラメーター | 説明 | 値 | デフォルト値 | 例 |
---|---|---|---|---|
tracing: enabled | このパラメーターは、Service Mesh でトレースを有効/無効にします。Jaeger がデフォルトでインストールされます。 |
|
| |
ingress: enabled | このパラメーターは、Jaeger の Ingress を有効/無効にします。 |
|
| |
jaeger template | このパラメーターは、使用する Jaeger デプロイメントストラテジーを指定します。 |
|
| |
elasticsearch: nodeCount | 作成する Elasticsearch ノードの数。 | 整数値。 | 1 | 概念実証 = 1、最小デプロイメント = 3 |
requests: cpu | ご使用の環境設定に基づく、要求に対する中央処理単位の数。 | コアまたはミリコアで指定されます (例: 200m、0.5、1)。 | 1Gi | 概念実証 = 500m、最小デプロイメント = 1 |
requests: memory | ご使用の環境設定に基づく、要求に使用できるメモリー。 | バイト単位で指定されます (例: 200Ki、50Mi、5Gi)。 | 500m | 概念実証 = 1Gi、最小デプロイメント = 16Gi* |
limits: cpu | ご使用の環境設定に基づく、中央処理単位数の制限。 | コアまたはミリコアで指定されます (例: 200m、0.5、1)。 | 概念実証 = 500m、最小デプロイメント = 1 | |
limits: memory | ご使用の環境設定に基づく、利用可能なメモリー制限。 | バイト単位で指定されます (例: 200Ki、50Mi、5Gi)。 | 概念実証 = 1Gi、最小デプロイメント = 16Gi* | |
* 各 Elasticsearch ノードはこれより低い値のメモリー設定でも動作しますが、これは実稼働環境でのデプロイメントには推奨されません。実稼働環境で使用する場合、デフォルトで各 Pod に割り当てる設定を 16Gi 未満にすることはできず、Pod ごとに最大 64Gi を割り当てることを推奨します。 |
手順
-
cluster-admin
ロールを持つユーザーとして OpenShift Container Platform Web コンソールにログインします。 -
Operators
Installed Operators に移動します。 - Red Hat OpenShift Service Mesh Operator をクリックします。
- Istio Service Mesh Control Plane タブをクリックします。
-
コントロールプレーンのファイル名 (
basic-install
など) をクリックします。 - YAML タブをクリックします。
-
Jaeger パラメーターを編集し、デフォルトの
all-in-one
テンプレートをproduction-elasticsearch
テンプレートのパラメーターに置き換え、ユースケースに合わせて変更します。インデントが正しいことを確認します。 - Save をクリックします。
- Reload をクリックします。OpenShift Container Platform は Jaeger を再デプロイし、指定されたパラメーターに基づいて Elasticsearch リソースを作成します。