3.5. TempoMonolithic インスタンスのインストール
TempoMonolithic インスタンスはテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
TempoMonolithic インスタンスは、Web コンソールまたはコマンドラインを使用してインストールできます。
TempoMonolithic カスタムリソース (CR) は、モノリシックモードで Tempo デプロイメントを作成します。コンパクター、ディストリビューター、インジェスター、クエリアー、クエリーフロントエンドなど、Tempo デプロイメントのすべてのコンポーネントが、単一のコンテナーに含まれます。
TempoMonolithic インスタンスは、インメモリーストレージ、永続ボリューム、またはオブジェクトストレージへのトレースの保存をサポートしています。
小規模なデプロイメント、デモンストレーション、テストには、モノリシックモードでの Tempo デプロイメントが適しています。
Tempo のモノリシックデプロイメントは水平方向にスケーリングできません。水平スケーリングが必要な場合は、マイクロサービスモードでの Tempo デプロイメント用の TempoStack CR を使用してください。
3.5.1. Web コンソールを使用した TempoMonolithic インスタンスのインストール リンクのコピーリンクがクリップボードにコピーされました!
TempoMonolithic インスタンスはテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Web コンソールの Administrator ビューから TempoMonolithic インスタンスをインストールできます。
前提条件
-
cluster-adminロールを持つクラスター管理者として、OpenShift Container Platform Web コンソールにログインしている。 -
Red Hat OpenShift Dedicated の場合、
dedicated-adminロールを持つアカウントを使用してログインしている。 - 1 つ以上のテナントを定義し、読み取りおよび書き込み権限を設定した。詳細は、「テナントの読み取り権限の設定」および「テナントの書き込み権限の設定」を参照してください。
手順
-
Home
Projects Create Project に移動して、後続のステップで作成する TempoMonolithic インスタンス用に、許可される任意のプロジェクトを作成します。 openshift-接頭辞で始まるプロジェクト名は許可されません。 トレースの保存に使用するサポート対象のストレージのタイプ (インメモリーストレージ、永続ボリューム、オブジェクトストレージ) を決定します。
重要オブジェクトストレージは、Distributed Tracing Platform には含まれていません。そのため、サポートされているプロバイダー (Red Hat OpenShift Data Foundation、MinIO、Amazon S3、Azure Blob Storage、または Google Cloud Storage) によるオブジェクトストアを設定する必要があります。
また、オブジェクトストレージを選択するには、TempoMonolithic インスタンス用に作成したプロジェクトにオブジェクトストレージバケットのシークレットを作成する必要があります。これは、Workloads
Secrets Create From YAML で実行できます。 詳細は、「オブジェクトストレージのセットアップ」を参照してください。
Amazon S3 および MinIO ストレージのシークレット例
apiVersion: v1 kind: Secret metadata: name: minio-test stringData: endpoint: http://minio.minio.svc:9000 bucket: tempo access_key_id: tempo access_key_secret: <secret> type: OpaqueTempoMonolithic インスタンスを作成します。
注記同じクラスター上の別々のプロジェクトに複数の TempoMonolithic インスタンスを作成できます。
-
Operators
Installed Operators に移動します。 -
TempoMonolithic
Create TempoMonolithic YAML view を選択します。 YAML view で、
TempoMonolithicカスタムリソース (CR) をカスタマイズします。TempoMonolithicCR の例apiVersion: tempo.grafana.com/v1alpha1 kind: TempoMonolithic1 metadata: name: <metadata_name> namespace: <permitted_project_of_tempomonolithic_instance>2 spec:3 storage:4 traces: backend: <supported_storage_type>5 size: <value>Gi6 s3:7 secret: <secret_name>8 tls:9 enabled: true caName: <ca_certificate_configmap_name>10 jaegerui: enabled: true11 route: enabled: true12 resources:13 total: limits: memory: <value>Gi cpu: <value>m multitenancy: enabled: true mode: openshift authentication:14 - tenantName: dev15 tenantId: "1610b0c3-c509-4592-a256-a1871353dbfa"16 - tenantName: prod tenantId: "1610b0c3-c509-4592-a256-a1871353dbfb"- 1
- この CR は、OTLP プロトコルでトレースの取り込みを行う
TempoMonolithicデプロイメントを作成します。 - 2
TempoMonolithicデプロイメント用に選択したプロジェクト。openshift-接頭辞で始まるプロジェクト名は許可されません。- 3
- Red Hat は、Red Hat OpenShift Distributed Tracing Platform ドキュメントに記載されているカスタムリソースオプションのみをサポートしています。
- 4
- トレースを保存するためのストレージを指定します。
- 5
- トレースを保存するストレージのタイプ (インメモリーストレージ、永続ボリューム、またはオブジェクトストレージ)。永続ボリュームの値は
pvです。オブジェクトストレージの値は、使用するオブジェクトストアのタイプに応じて、s3、gcs、またはazureが受け入れられます。デフォルト値は、tmpfsインメモリーストレージのmemoryです。これは、Pod がシャットダウンするとデータが保持されないため、開発、テスト、デモ、および概念検証用の環境にのみ適しています。 - 6
- メモリーサイズ: インメモリーストレージの場合、これは
tmpfsボリュームのサイズを意味します。デフォルトは2Giです。永続ボリュームの場合、これは永続ボリューム要求のサイズを意味します。デフォルトは10Giです。オブジェクトストレージの場合、これは Tempo Write-Ahead Logging (WAL) の永続ボリューム要求のサイズを意味し、デフォルトは10Giです。 - 7
- オプション: オブジェクトストレージの場合、オブジェクトストレージのタイプ。使用するオブジェクトストアのタイプに応じて、
s3、gcs、およびazureが値として受け入れられます。 - 8
- オプション: オブジェクトストレージの場合、ストレージシークレットの
metadata内のnameの値。ストレージシークレットは、TempoMonolithic インスタンスと同じ namespace にあり、「表 1. 必要なシークレットパラメーター」(「オブジェクトストレージのセットアップ」セクションを参照) で指定えているフィールドを含んでいる必要があります。 - 9
- オプション:
- 10
- オプション: CA 証明書を含む
ConfigMapオブジェクトの名前。 - 11
http://<gateway_ingress>/api/traces/v1/<tenant_name>/searchのルート経由で、データを視覚化する Jaeger UI を公開します。- 12
- Jaeger UI のルートの作成を有効にします。
- 13
- 任意。
- 14
- テナントをリスト表示します。
- 15
- テナント名。
X-Scope-OrgIdHTTP ヘッダーの値として使用されます。 - 16
- テナントの一意の識別子。TempoMonolithic デプロイメントのライフサイクル全体を通じて一意である必要があります。この ID は、オブジェクトストレージ内のオブジェクトの接頭辞として追加されます。UUID または
tempoNameフィールドの値を再利用できます。
- Create を選択します。
-
Operators
検証
- Project: ドロップダウンリストを使用して、TempoMonolithic インスタンスのプロジェクトを選択します。
-
Operator
Installed Operator に移動して、TempoMonolithic インスタンスの Status が Condition: Ready であることを確認します。 -
Workloads
Pod に移動して、TempoMonolithic インスタンスの Pod が実行中であることを確認します。 Jaeger UI にアクセスします。
Networking
Routes に移動し、Ctrl+F を押して jaegeruiを検索します。注記Jaeger UI は、
tempo-<metadata_name_of_TempoMonolithic_CR>-jaegeruiルートを使用します。- Location 列で URL を開き、Jaeger UI にアクセスします。
TempoMonolithic インスタンスの Pod の準備ができたら、クラスター内の
tempo-<metadata_name_of_TempoMonolithic_CR>:4317(OTLP/gRPC) およびtempo-<metadata_name_of_TempoMonolithic_CR>:4318(OTLP/HTTP) エンドポイントにトレースを送信できます。Tempo API は、クラスター内の
tempo-<metadata_name_of_TempoMonolithic_CR>:3200エンドポイントで利用できます。
3.5.2. CLI を使用した TempoMonolithic インスタンスのインストール リンクのコピーリンクがクリップボードにコピーされました!
TempoMonolithic インスタンスはテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
コマンドラインから TempoMonolithic インスタンスをインストールできます。
前提条件
cluster-adminロールを持つクラスター管理者によるアクティブな OpenShift CLI (oc) セッション。ヒント-
OpenShift CLI (
oc) のバージョンが最新であり、OpenShift Container Platform バージョンと一致していることを確認してください。 oc loginコマンドを実行します。$ oc login --username=<your_username>
-
OpenShift CLI (
- 1 つ以上のテナントを定義し、読み取りおよび書き込み権限を設定した。詳細は、「テナントの読み取り権限の設定」および「テナントの書き込み権限の設定」を参照してください。
手順
次のコマンドを実行して、後続のステップで作成する TempoMonolithic インスタンス用に、許可される任意のプロジェクトを作成します。
$ oc apply -f - << EOF apiVersion: project.openshift.io/v1 kind: Project metadata: name: <permitted_project_of_tempomonolithic_instance>1 EOF- 1
openshift-接頭辞で始まるプロジェクト名は許可されません。
トレースの保存に使用するサポート対象のストレージのタイプ (インメモリーストレージ、永続ボリューム、オブジェクトストレージ) を決定します。
重要オブジェクトストレージは、Distributed Tracing Platform には含まれていません。そのため、サポートされているプロバイダー (Red Hat OpenShift Data Foundation、MinIO、Amazon S3、Azure Blob Storage、または Google Cloud Storage) によるオブジェクトストアを設定する必要があります。
また、オブジェクトストレージを選択するには、TempoMonolithic インスタンス用に作成したプロジェクトにオブジェクトストレージバケットのシークレットを作成する必要があります。これを行うには、次のコマンドを実行します。
$ oc apply -f - << EOF <object_storage_secret> EOF詳細は、「オブジェクトストレージのセットアップ」を参照してください。
Amazon S3 および MinIO ストレージのシークレット例
apiVersion: v1 kind: Secret metadata: name: minio-test stringData: endpoint: http://minio.minio.svc:9000 bucket: tempo access_key_id: tempo access_key_secret: <secret> type: OpaqueTempoMonolithic インスタンス用に作成したプロジェクト内に TempoMonolithic インスタンスを作成します。
ヒント同じクラスター上の別々のプロジェクトに複数の TempoMonolithic インスタンスを作成できます。
TempoMonolithicカスタムリソース (CR) をカスタマイズします。TempoMonolithicCR の例apiVersion: tempo.grafana.com/v1alpha1 kind: TempoMonolithic1 metadata: name: <metadata_name> namespace: <permitted_project_of_tempomonolithic_instance>2 spec:3 storage:4 traces: backend: <supported_storage_type>5 size: <value>Gi6 s3:7 secret: <secret_name>8 tls:9 enabled: true caName: <ca_certificate_configmap_name>10 jaegerui: enabled: true11 route: enabled: true12 resources:13 total: limits: memory: <value>Gi cpu: <value>m multitenancy: enabled: true mode: openshift authentication:14 - tenantName: dev15 tenantId: "1610b0c3-c509-4592-a256-a1871353dbfa"16 - tenantName: prod tenantId: "1610b0c3-c509-4592-a256-a1871353dbfb"- 1
- この CR は、OTLP プロトコルでトレースの取り込みを行う
TempoMonolithicデプロイメントを作成します。 - 2
TempoMonolithicデプロイメント用に選択したプロジェクト。openshift-接頭辞で始まるプロジェクト名は許可されません。- 3
- Red Hat は、Red Hat OpenShift Distributed Tracing Platform ドキュメントに記載されているカスタムリソースオプションのみをサポートしています。
- 4
- トレースを保存するためのストレージを指定します。
- 5
- トレースを保存するストレージのタイプ (インメモリーストレージ、永続ボリューム、またはオブジェクトストレージ)。永続ボリュームの値は
pvです。オブジェクトストレージの値は、使用するオブジェクトストアのタイプに応じて、s3、gcs、またはazureが受け入れられます。デフォルト値は、tmpfsインメモリーストレージのmemoryです。これは、Pod がシャットダウンするとデータが保持されないため、開発、テスト、デモ、および概念検証用の環境にのみ適しています。 - 6
- メモリーサイズ: インメモリーストレージの場合、これは
tmpfsボリュームのサイズを意味します。デフォルトは2Giです。永続ボリュームの場合、これは永続ボリューム要求のサイズを意味します。デフォルトは10Giです。オブジェクトストレージの場合、これは Tempo Write-Ahead Logging (WAL) の永続ボリューム要求のサイズを意味し、デフォルトは10Giです。 - 7
- オプション: オブジェクトストレージの場合、オブジェクトストレージのタイプ。使用するオブジェクトストアのタイプに応じて、
s3、gcs、およびazureが値として受け入れられます。 - 8
- オプション: オブジェクトストレージの場合、ストレージシークレットの
metadata内のnameの値。ストレージシークレットは、TempoMonolithic インスタンスと同じ namespace にあり、「表 1. 必要なシークレットパラメーター」(「オブジェクトストレージのセットアップ」セクションを参照) で指定えているフィールドを含んでいる必要があります。 - 9
- オプション:
- 10
- オプション: CA 証明書を含む
ConfigMapオブジェクトの名前。 - 11
http://<gateway_ingress>/api/traces/v1/<tenant_name>/searchのルート経由で、データを視覚化する Jaeger UI を公開します。- 12
- Jaeger UI のルートの作成を有効にします。
- 13
- 任意。
- 14
- テナントをリスト表示します。
- 15
- テナント名。
X-Scope-OrgIdHTTP ヘッダーの値として使用されます。 - 16
- テナントの一意の識別子。TempoMonolithic デプロイメントのライフサイクル全体を通じて一意である必要があります。この ID は、オブジェクトストレージ内のオブジェクトの接頭辞として追加されます。UUID または
tempoNameフィールドの値を再利用できます。
次のコマンドを実行して、カスタマイズされた CR を適用します。
$ oc apply -f - << EOF <tempomonolithic_cr> EOF
検証
次のコマンドを実行して、すべての TempoMonolithic
componentsのstatusがRunningであり、conditionsがtype: Readyであることを確認します。$ oc get tempomonolithic.tempo.grafana.com <metadata_name_of_tempomonolithic_cr> -o yaml次のコマンドを実行して、TempoMonolithic インスタンスの Pod が実行中であることを確認します。
$ oc get podsJaeger UI にアクセスします。
次のコマンドを実行して、
tempo-<metadata_name_of_tempomonolithic_cr>-jaegeruiルートのルート詳細をクエリーします。$ oc get route-
Web ブラウザーで
https://<route_from_previous_step>を開きます。
TempoMonolithic インスタンスの Pod の準備ができたら、クラスター内の
tempo-<metadata_name_of_tempomonolithic_cr>:4317(OTLP/gRPC) およびtempo-<metadata_name_of_tempomonolithic_cr>:4318(OTLP/HTTP) エンドポイントにトレースを送信できます。Tempo API は、クラスター内の
tempo-<metadata_name_of_tempomonolithic_cr>:3200エンドポイントで利用できます。