2022 年 9 月 2 日,作者:Václav Muzikář
不久之前,我們宣布了一個從頭開始重寫的新 Operator,旨在為 Quarkus 發行版本提供最佳體驗。雖然舊版 Operator現在已被棄用,並且將在 Keycloak 20 版本終止支援 (EOL),但新版 Operator 已作為預覽版提供,請參閱安裝指南。
關於新 Operator,最常見的疑慮之一是目前缺乏用於以雲原生方式管理 Keycloak 資源(例如領域、使用者和客戶端)的 CRD。新 Operator 的關鍵面向之一將是重新設計透過 CR 和 GitOps 管理這些 Keycloak 資源的方式。這種新方法將利用新的儲存架構和未來的不可變性選項,使 CR 成為宣告式的單一事實來源。與舊版 Operator 相比,這將為整個解決方案帶來更高的穩健性、可靠性和可預測性。
在我們考慮 Operator 準備好利用 CR 之前,我們預計將完成多項功能,包括但不限於:
檔案儲存 (預計在 Keycloak 20 中推出),將資料儲存在檔案中而不是資料庫中。
管理 REST API、UI 控制台和其他介面的唯讀功能。這是新不可變性概念所必需的,該概念將用於確保來自 CR(以及隨後來自檔案儲存)的任何資料在所有介面中都是唯讀的。
所有這些對於正確的 CR 實作至關重要,因此新 Operator 目前缺少用於管理 Keycloak 資源的 CRD。一旦 Keycloak 具備必要的支援,將會新增缺少的 CRD,目前預計在 Keycloak 21 中推出。
我們已準備了一些選項,以緩解這個儲存庫中缺少 CRD 的情況。