アーキテクチャ

これは、セットアップのランタイムビューについて説明しています。

minikube runtime view.dio
図 1. minikube ランタイムビュー

セットアップは次のとおりです。

  • minikube は仮想マシンを実行します。

  • 構成されたイングレスを介して、ローカルブラウザは Keycloak や Grafana などの minikube で実行されているさまざまなサービスにアクセスできます。

  • Keycloak は minikube 内で実行されている PostgreSQL データベースに接続します。

  • PostgreSQL データベース (minikube 内) には、ホストからノードポート経由でアクセスできます。

  • Prometheus はメトリクスを収集し、Jaeger はトレースを収集します。

  • Promtail はログを収集し、Loki に送信して保存します。

  • Gatling はローカルで実行でき、ノードポート経由で Graphite メトリクスを minikube 内のコレクターに送信できます。

  • Jaeger は minikube 内で実行されている Keycloak からトレースを収集し、ローカルで実行されているテストアプリケーションからトレースを受信することもできます。

  • Cryostat は Keycloak インスタンスに接続し、Java Flight Recorder (JFR) レコーディングを作成できます。

ログ、トレース、およびメトリクスは、minikube 内に 7 日間 (= 168 時間) 保存されます。これは、設定 KB_RETENTION=XXh を使用して .env ファイルに追加することで上書きして、別の値に変更できます。現在、Jaeger はこれを時間単位で設定する必要があり、日単位で設定されることを理解していません。