使用 Aurora DB、Infinispan 和 Keycloak 的跨站點部署

在兩個具有 Infinispan(啟用跨站點)和共用 Aurora DB 的 ROSA 叢集之間部署 Keycloak。

如果 Aurora DB 尚不存在,此步驟會建立 Aurora DB,並設定 AWS VPC 和 AWS Route Tables,以允許 ROSA 叢集存取 Aurora DB 執行個體。

Infinispan 和 Keycloak 都部署在相同的命名空間中。

安裝步驟

  1. https://github.com/keycloak/keycloak-benchmark/ 檢查 Git 儲存庫。

  2. 依照 AWS Route 53 作為 ROSA 的負載平衡器 中的描述建立 Route53 項目。

  3. 變更至資料夾 provision/rosa-cross-dc

  4. 在資料夾中的 .env 檔案中提供必要變數

  5. 執行 task 命令以在兩個 OpenShift 叢集上佈建所有容器(請檢查下方所需的變數)。

可用的任務

有兩個可用的任務,一個用於部署,另一個用於取消部署,如下所示

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

一個 ROSA 叢集的名稱。

ROSA_CLUSTER_NAME_2

另一個 ROSA 叢集的名稱。

KC_CLIENT_URL

AWS Route 53 作為 ROSA 的負載平衡器 提供的 URL

KC_HEALTH_URL_CLUSTER_1

AWS Route 53 作為 ROSA 的負載平衡器 提供的 URL

KC_HEALTH_URL_CLUSTER_2

AWS Route 53 作為 ROSA 的負載平衡器 提供的 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 儲存庫可能無法在 Github Actions 中運作,因為可能未設定 SSH 金鑰。

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。

警告/已知問題