為測試準備 Keycloak

為了執行負載測試,需要存在一些設定和實體。

如果您已使用 minikube 安裝 Keycloak,則設定會自動執行,作為安裝的一部分。

先決條件

  1. 正在執行的 Keycloak 安裝。

組態設定

選擇手動或腳本化組態,以設定用於負載測試的領域。若要設定大量的領域、用戶端和使用者,請考慮使用資料集提供者

手動設定

某些情境需要啟用 使用者註冊 設定。

  1. 選擇用於測試的領域。

  2. 領域設定 中,選擇 登入 索引標籤,並啟用登入畫面自訂 使用者註冊

某些情境需要具有密碼的使用者

  1. 建立使用者。

  2. 憑證 索引標籤中,設定密碼。將密碼設為非暫時性,否則 Keycloak 會提示輸入密碼。

某些情境需要具有用戶端 ID gatling 的服務帳戶

  1. 選擇用於測試的領域。

  2. 建立一個名為 gatling 的用戶端。

  3. 將存取類型設定為 機密

  4. 勾選 啟用服務帳戶

  5. 輸入有效的重新導向 URI (例如 https://127.0.0.1)。

  6. 按一下儲存。

  7. 變更為 服務帳戶角色 索引標籤。

  8. 用戶端角色 清單方塊中,選擇 realm-management

  9. 根據下方各負載模擬情境的角色對應表,指派角色。

  10. 要傳遞到測試的用戶端密碼可以從 憑證 索引標籤複製。

情境名稱 已指派的角色

CreateClient

manage-clients, view-users

CreateDeleteClient

manage-clients, view-users

CrawlUsers

manage-clients, view-users

CreateRole

manage-realm

CreateDeleteRole

manage-realm

CreateClientScope

manage-clients, view-users

CreateDeleteClientScope

manage-clients, view-users

CreateGroup

manage-users

CreateDeleteGroup

manage-users

CreateUsers

manage-users

CreateDeleteUsers

manage-users

腳本化組態

您可以改用此 initialize-benchmark-entities.sh 腳本來為您執行設定,而無需遵循上述手動步驟。

  1. 解壓縮下載的 Keycloak 效能基準測試模組initialize-benchmark-entities.sh 腳本位於此模組的 bin 資料夾中。

  2. 將 Keycloak 發行目錄的路徑指定為環境變數 KEYCLOAK_HOME

  3. 使用 Keycloak 發行版本隨附的 kcadm.sh CLI 腳本登入 Keycloak 伺服器。

    $KEYCLOAK_HOME/bin/kcadm.sh config credentials --server https://keycloak-keycloak.192.168.12.345.nip.io --realm master --user admin --password admin
  4. 執行以下命令以建立所需的領域、用戶端和使用者。

    ./initialize-benchmark-entities.sh -r test-realm -c gatling -u user-0

    使用 -d 旗標,從頭開始重新建立實體,以備任何原因。

    ./initialize-benchmark-entities.sh -r test-realm -c gatling -u user-0 -d