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 的情况。