Aurora DB、Infinispan、Keycloak を用いたクロスサイトデプロイメント

Infinispan (クロスサイト有効) と共有 Aurora DB を使用して、2 つの ROSA クラスター間に Keycloak をデプロイします。

この手順では、Aurora DB がまだ存在しない場合は作成し、ROSA クラスターが Aurora DB インスタンスにアクセスできるように AWS VPC と AWS ルートテーブルを構成します。

Infinispan と Keycloak は両方とも同じ名前空間にデプロイされます。

インストール手順

  1. Git リポジトリを https://github.com/keycloak/keycloak-benchmark/ からチェックアウトしてください。

  2. ROSA のロードバランサーとしての AWS Route 53 で説明されているように、Route53 エントリを作成します。

  3. フォルダ provision/rosa-cross-dc に移動します。

  4. フォルダ内の .env ファイルに 必須変数 を指定します。

  5. task コマンドを実行して、両方の OpenShift クラスター上のすべてのコンテナをプロビジョニングします (必須変数を以下で確認してください)。

利用可能なタスク

2 つのタスクが利用可能です。1 つはデプロイ、もう 1 つはアンデプロイです。

task: Available tasks for this project:
* default:        Deploys Infinispan, Aurora DB and Keycloak in a Cross-Site deployment using ROSA clusters
* undeploy:       Undeploy Infinispan and Keycloak in a Cross-Site deployment using ROSA clusters
undeploy タスクは Aurora DB を削除せず、手動で削除する必要があります。ディレクトリ provision/aws/rds のスクリプトを確認してください。

必須変数

変数 詳細

AURORA_CLUSTER

Aurora データベースの一意の名前。

AURORA_REGION

Aurora DB をデプロイする AWS リージョン。

ROSA_CLUSTER_NAME_1

1 つの ROSA クラスターの名前。

ROSA_CLUSTER_NAME_2

もう 1 つの ROSA クラスターの名前。

KC_CLIENT_URL

ROSA のロードバランサーとしての AWS Route 53 によって提供される URL

KC_HEALTH_URL_CLUSTER_1

ROSA のロードバランサーとしての AWS Route 53 によって提供される URL

KC_HEALTH_URL_CLUSTER_2

ROSA のロードバランサーとしての AWS Route 53 によって提供される URL

Aurora DB、Keycloak、または Infinispan のデプロイメントをカスタマイズします。

このインストールスクリプトは、元のデプロイメントスクリプトで定義されたほとんどの変数をサポートしています。

Aurora DB 変数については、Aurora インストール ページを確認してください。

Infinispan デプロイメントについては、Infinispan インストール ページを確認してください。

Keycloak デプロイメントについては、Keycloak カスタマイズ ページを確認してください。すべての変数が尊重されるわけではないことに注意してください。例として、KC_ISPN_NAMESPACE はこのインストールスクリプトによって自動的に計算されるため、変更できません。

Keycloak ソースのカスタマイズ

このセットアップは、デフォルトで、ナイトリービルドから Keycloak をデプロイします。特定の Keycloak ソースコードのデプロイメントを作成するには、git リポジトリとブランチを指定できます。これにより、Keycloak と Keycloak Operator の両方のデプロイメントが置き換えられます。カスタムソースコードを使用するには、次の変数を指定してください

変数 詳細

KC_REPOSITORY

Keycloak ソースコードをクローンする Git リポジトリ。例: https://github.com/keycloak/keycloak.git

注: SSH キーが構成されていない可能性があるため、SSH リポジトリは Github Actions で動作しない場合があります。

KC_BRANCH

使用する KC_REPOSITORY 内のブランチ。

AWS JDBC ドライバーの使用

AWS は、セットアップで使用している Aurora PostgreSQL と互換性のある JDBC ドライバーラッパー を提供しています。このドライバーは、互換性のあるデータベースを使用する場合にいくつかの追加機能を提供します。このラッパーは、クロスサイトデプロイメントでデフォルトで有効になっています。

AWS JDBC ドライバーを無効にするには、KC_USE_AWS_JDBC_WRAPPER 変数を false に設定します。

AWS JDBC ドライバーのバージョンを指定するには、KC_AWS_JDBC_WRAPPER_URL 変数を対応する jar ファイルの URL に設定します。

警告 / 既知の問題