23.2. 为更新的配置确定更新策略


要确定是否可以滚动更新,请运行 update 兼容性命令:

  1. 使用旧配置生成所需的元数据。
  2. 使用新配置检查元数据以确定更新策略。
警告

此命令目前仅提供有限的功能。目前,只考虑红帽构建的 Keycloak 版本和嵌入式 Infinispan,以确定是否可以进行滚动更新。如果这些不动,则报告有可能进行滚动更新。

当前版本还没有验证配置更改,并假定所有配置更改都有资格进行滚动更新。这同样适用于自定义扩展及其更改。

使用此选项时的良好用例是,当您希望在更改红帽构建的 Keycloak 主题或自定义扩展时进行滚动更新,且仅在红帽构建的 Keycloak 版本更改时进行重新创建,它还不允许滚动更新。

虽然这些命令的用户应该知道目前存在的限制,但它们不应依赖于元数据文件的内部行为或结构。相反,它们应该只依赖 check 命令的退出代码,以便以后对内部逻辑的改进中受益,以确定何时能够进行滚动更新。

23.2.1. 生成元数据

要生成元数据,请使用相同的红帽构建的 Keycloak 版本和配置选项执行以下命令:

从当前部署生成并保存元数据。

bin/kc.[sh|bat] update-compatibility metadata --file=/path/to/file.json
Copy to Clipboard Toggle word wrap

此命令接受 start 命令使用的所有选项。命令在控制台中以 JSON 格式显示元数据,用于调试目的。--file 参数允许您将元数据保存到文件中。将此文件与后续的 check 命令一起使用。

警告

在运行上述命令时,请确保包括所有配置选项(无论是通过环境变量或 CLI 参数设置)。

省略任何配置选项会导致元数据不完整,并可能导致下一步报告的结果。

23.2.2. 检查元数据

这个命令检查上一命令生成的元数据,并将其与当前配置和红帽构建的 Keycloak 版本进行比较。如果您要升级到新的红帽构建的 Keycloak 版本,则必须使用新版本执行这个命令。

检查之前部署的元数据。

bin/kc.[sh|bat] update-compatibility check --file=/path/to/file.json
Copy to Clipboard Toggle word wrap

警告
  • 在运行此命令时,请确保包含通过环境变量或 CLI 参数设置的所有配置选项。
  • 验证是否使用正确的红帽构建的 Keycloak 版本。

无法满足这些要求会导致结果不正确。

命令将结果输出到控制台。例如,如果可能滚动更新,它会显示:

滚动更新可能消息

[OK] Rolling Update is available.
Copy to Clipboard Toggle word wrap

如果没有进行滚动更新,命令会提供有关不兼容的详细信息:

滚动更新不可能的消息

[keycloak] Rolling Update is not available. 'keycloak.version' is incompatible: 26.2.0 -> 26.2.1 
1
Copy to Clipboard Toggle word wrap

1
在本例中,Keycloak 版本 26.2.0 与版本 26.2.1 不兼容,且无法进行滚动更新。

命令退出代码

使用命令的退出代码决定自动化管道中的更新类型:

Expand
退出代码描述

0

可以滚动更新。

1

发生意外错误(如元数据文件缺失或损坏)。

2

无效的 CLI 选项。

3

无法进行滚动更新。在应用新配置前,必须关闭部署。

4

无法进行滚动更新。禁用 功能 滚动更新

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat