2022 年 9 月 2 日 Václav Muzikář
一段时间之前,我们宣布了一个从头开始重写的新的 Operator,为 Quarkus 分发提供最佳体验。虽然旧的 Operator现在已被弃用,并将在 Keycloak 20 中达到生命周期结束 (EOL),但新的 Operator已经可以作为预览版使用,请查看安装指南。
围绕新 Operator 最常见的顾虑之一是目前缺少用于以云原生方式管理 Keycloak 资源(如 realm、用户和客户端)的 CRD。新 Operator 的关键方面之一将是重新设计通过 CR 和 GitOps 管理这些 Keycloak 资源的方式。这种新方法将利用新的存储架构和未来的不可变性选项,使 CR 成为声明性的单一事实来源。与旧的 Operator 相比,这将为整个解决方案带来更高的健壮性、可靠性和可预测性。
在我们考虑 Operator 准备好利用 CR 之前,我们希望完成一些功能,包括但不限于
文件存储(预计在 Keycloak 20 中提供),用于将数据持久化到文件而不是数据库。
对管理 REST API、UI 控制台和其他接口的只读功能。这是新的不可变性概念所必需的,该概念将用于确保来自 CR(随后来自文件存储)的任何数据在所有接口中都是只读的。
所有这些对于正确实现 CR 至关重要,因此新的 Operator 目前缺少用于管理 Keycloak 资源的 CRD。一旦 Keycloak 拥有必要的支持,就会添加缺少的 CRD,目前预计将在 Keycloak 21 中提供。
我们已经准备了一些选项来缓解 此仓库中缺少 CRD 的情况。