3.4. TempoStack インスタンスのインストール
TempoStack インスタンスは、Web コンソールまたはコマンドラインを使用してインストールできます。
3.4.1. Web コンソールを使用した TempoStack インスタンスのインストール リンクのコピーリンクがクリップボードにコピーされました!
Web コンソールの Administrator ビューから TempoStack インスタンスをインストールできます。
前提条件
-
cluster-adminロールを持つクラスター管理者として、OpenShift Container Platform Web コンソールにログインしている。 -
Red Hat OpenShift Dedicated の場合、
dedicated-adminロールを持つアカウントを使用してログインしている。 サポートされているプロバイダーによる必要なオブジェクトストレージ Red Hat OpenShift Data Foundation、MinIO、Amazon S3、Azure Blob Storage、Google Cloud Storage の設定が完了している。詳細は、「オブジェクトストレージのセットアップ」を参照してください。
警告オブジェクトストレージは必須ですが、Distributed Tracing Platform には含まれていません。Distributed Tracing Platform をインストールする前に、サポートされているプロバイダーによるオブジェクトストレージを選択して設定する必要があります。
- 1 つ以上のテナントを定義し、読み取りおよび書き込み権限を設定した。詳細は、「テナントの読み取り権限の設定」および「テナントの書き込み権限の設定」を参照してください。
手順
-
Home
Projects Create Project に移動して、後続のステップで作成する TempoStackインスタンス用に、許可される任意のプロジェクトを作成します。openshift-接頭辞で始まるプロジェクト名は許可されません。 Workloads
Secrets Create From YAML に移動して、 TempoStackインスタンス用に作成したプロジェクトに、オブジェクトストレージバケットのシークレットを作成します。詳細は、「オブジェクトストレージのセットアップ」を参照してください。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: OpaqueTempoStackインスタンスを作成します。注記同じクラスター上の別々のプロジェクトに、複数の
TempoStackインスタンスを作成できます。-
Operators
Installed Operators に移動します。 -
TempoStack
Create TempoStack YAML view の順に選択します。 YAML view で、
TempoStackカスタムリソース (CR) をカスタマイズします。AWS S3 および MinIO ストレージと 2 つのテナント用の
TempoStackCR の例apiVersion: tempo.grafana.com/v1alpha1 kind: TempoStack1 metadata: name: simplest namespace: <permitted_project_of_tempostack_instance>2 spec:3 storage:4 secret:5 name: <secret_name>6 type: <secret_provider>7 storageSize: <value>Gi8 resources:9 total: limits: memory: 2Gi cpu: 2000m tenants: mode: openshift10 authentication:11 - tenantName: dev12 tenantId: "1610b0c3-c509-4592-a256-a1871353dbfa"13 - tenantName: prod tenantId: "1610b0c3-c509-4592-a256-a1871353dbfb" template: gateway: enabled: true14 queryFrontend: jaegerQuery: enabled: true15 - 1
- この CR は、HTTP および OpenTelemetry Protocol (OTLP) 経由で Jaeger Thrift を受信するように設定された
TempoStackデプロイメントを作成します。 - 2
TempoStackデプロイメント用に選択したプロジェクト。openshift-接頭辞で始まるプロジェクト名は許可されません。- 3
- Red Hat は、Red Hat OpenShift Distributed Tracing Platform ドキュメントに記載されているカスタムリソースオプションのみをサポートしています。
- 4
- トレースを保存するためのストレージを指定します。
- 5
- 前提条件の 1 つとして設定したオブジェクトストレージ用に、ステップ 2 で作成したシークレット。
- 6
- シークレットの
metadataセクションにあるnameフィールドの値。たとえば、minioです。 - 7
- この値には、Azure Blob Storage の場合は
azure、Google Cloud Storage の場合はgcs、Amazon S3、MinIO、または Red Hat OpenShift Data Foundation の場合はs3を使用できます。たとえば、s3です。 - 8
- Tempo Write-Ahead Logging (WAL) の永続ボリューム要求のサイズ。デフォルトは
10Giです。たとえば、1Giのように指定します。 - 9
- 任意。
- 10
- 値は
openshiftである必要があります。 - 11
- テナントのリスト。
- 12
- テナント名。
X-Scope-OrgIdHTTP ヘッダーの値として使用されます。 - 13
- テナントの一意の識別子。
TempoStackデプロイメントのライフサイクル全体を通じて一意である必要があります。Distributed Tracing Platform は、この ID を使用して、オブジェクトストレージ内のオブジェクトに接頭辞を付けます。UUID またはtempoNameフィールドの値を再利用できます。 - 14
- 認証と認可を実行するゲートウェイを有効にします。
- 15
http://<gateway_ingress>/api/traces/v1/<tenant_name>/searchのルート経由で、データを視覚化する Jaeger UI を公開します。
- Create を選択します。
-
Operators
検証
-
Project: ドロップダウンリストを使用して、
TempoStackインスタンスのプロジェクトを選択します。 -
Operators
Installed Operators に移動して、 TempoStackインスタンスの Status が Condition: Ready であることを確認します。 -
Workloads
Pods に移動して、 TempoStackインスタンスのすべてのコンポーネント Pod が稼働していることを確認します。 Tempo コンソールにアクセスします。
-
Networking
Routes に移動し、Ctrl+F で tempoを検索します。 Location 列で URL を開き、Tempo コンソールにアクセスします。
注記Tempo コンソールをインストールした直後は、Tempo コンソールにトレースデータは表示されません。
-
Networking
3.4.2. CLI を使用した TempoStack インスタンスのインストール リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインから TempoStack インスタンスをインストールできます。
前提条件
cluster-adminロールを持つクラスター管理者によるアクティブな OpenShift CLI (oc) セッション。ヒント-
OpenShift CLI (
oc) のバージョンが最新であり、OpenShift Container Platform バージョンと一致していることを確認してください。 oc loginコマンドを実行します。$ oc login --username=<your_username>
-
OpenShift CLI (
サポートされているプロバイダーによる必要なオブジェクトストレージ Red Hat OpenShift Data Foundation、MinIO、Amazon S3、Azure Blob Storage、Google Cloud Storage の設定が完了している。詳細は、「オブジェクトストレージのセットアップ」を参照してください。
警告オブジェクトストレージは必須ですが、Distributed Tracing Platform には含まれていません。Distributed Tracing Platform をインストールする前に、サポートされているプロバイダーによるオブジェクトストレージを選択して設定する必要があります。
- 1 つ以上のテナントを定義し、読み取りおよび書き込み権限を設定した。詳細は、「テナントの読み取り権限の設定」および「テナントの書き込み権限の設定」を参照してください。
手順
次のコマンドを実行して、後続のステップで作成する
TempoStackインスタンス用に、許可される任意のプロジェクトを作成します。$ oc apply -f - << EOF apiVersion: project.openshift.io/v1 kind: Project metadata: name: <permitted_project_of_tempostack_instance>1 EOF- 1
openshift-接頭辞で始まるプロジェクト名は許可されません。
TempoStackインスタンス用に作成したプロジェクトで、次のコマンドを実行して、オブジェクトストレージバケットのシークレットを作成します。$ 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: OpaqueTempoStackインスタンス用に作成したプロジェクトに TempoStack インスタンスを作成します。注記同じクラスター上の別々のプロジェクトに、複数の
TempoStackインスタンスを作成できます。TempoStackカスタムリソース (CR) をカスタマイズします。AWS S3 および MinIO ストレージと 2 つのテナント用の
TempoStackCR の例apiVersion: tempo.grafana.com/v1alpha1 kind: TempoStack1 metadata: name: simplest namespace: <permitted_project_of_tempostack_instance>2 spec:3 storage:4 secret:5 name: <secret_name>6 type: <secret_provider>7 storageSize: <value>Gi8 resources:9 total: limits: memory: 2Gi cpu: 2000m tenants: mode: openshift10 authentication:11 - tenantName: dev12 tenantId: "1610b0c3-c509-4592-a256-a1871353dbfa"13 - tenantName: prod tenantId: "1610b0c3-c509-4592-a256-a1871353dbfb" template: gateway: enabled: true14 queryFrontend: jaegerQuery: enabled: true15 - 1
- この CR は、HTTP および OpenTelemetry Protocol (OTLP) 経由で Jaeger Thrift を受信するように設定された
TempoStackデプロイメントを作成します。 - 2
TempoStackデプロイメント用に選択したプロジェクト。openshift-接頭辞で始まるプロジェクト名は許可されません。- 3
- Red Hat は、Red Hat OpenShift Distributed Tracing Platform ドキュメントに記載されているカスタムリソースオプションのみをサポートしています。
- 4
- トレースを保存するためのストレージを指定します。
- 5
- 前提条件の 1 つとして設定したオブジェクトストレージ用に、ステップ 2 で作成したシークレット。
- 6
- シークレットの
metadataセクションにあるnameフィールドの値。たとえば、minioです。 - 7
- この値には、Azure Blob Storage の場合は
azure、Google Cloud Storage の場合はgcs、Amazon S3、MinIO、または Red Hat OpenShift Data Foundation の場合はs3を使用できます。たとえば、s3です。 - 8
- Tempo Write-Ahead Logging (WAL) の永続ボリューム要求のサイズ。デフォルトは
10Giです。たとえば、1Giのように指定します。 - 9
- 任意。
- 10
- 値は
openshiftである必要があります。 - 11
- テナントのリスト。
- 12
- テナント名。
X-Scope-OrgIdHTTP ヘッダーの値として使用されます。 - 13
- テナントの一意の識別子。
TempoStackデプロイメントのライフサイクル全体を通じて一意である必要があります。Distributed Tracing Platform は、この ID を使用して、オブジェクトストレージ内のオブジェクトに接頭辞を付けます。UUID またはtempoNameフィールドの値を再利用できます。 - 14
- 認証と認可を実行するゲートウェイを有効にします。
- 15
http://<gateway_ingress>/api/traces/v1/<tenant_name>/searchのルート経由で、データを視覚化する Jaeger UI を公開します。
次のコマンドを実行して、カスタマイズされた CR を適用します。
$ oc apply -f - << EOF <tempostack_cr> EOF
検証
次のコマンドを実行して、すべての
TempoStackcomponentsのstatusがRunning、conditionsがtype: Readyになっていることを確認します。$ oc get tempostacks.tempo.grafana.com simplest -o yaml次のコマンドを実行して、すべての
TempoStackコンポーネント Pod が稼働していることを確認します。$ oc get podsTempo コンソールにアクセスします。
以下のコマンドを実行してルートの詳細をクエリーします。
$ oc get routeWeb ブラウザーで
https://<route_from_previous_step>を開きます。注記Tempo コンソールをインストールした直後は、Tempo コンソールにトレースデータは表示されません。