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


要确定是否可以滚动更新:

  1. 运行 update 兼容性命令,以使用旧配置生成所需的元数据。
  2. 使用新配置检查元数据以确定更新策略。
注意

如果您没有使用 优化 性,则 update 命令可能会隐式创建或更新优化的构建 - 如果您从与服务器实例相同的机器运行该命令,这可能会影响服务器下次启动。

警告

这些命令的使用者不应依赖于内部行为或元数据文件的结构。相反,它们应该只依赖 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 不兼容,且无法进行滚动更新。
注意

在这个功能的下一次迭代中,也可以在升级到红帽构建的 Keycloak 的以下补丁版本时,也可以使用滚动更新策略。详情请参考 第 23.4 节 “补丁发行版本的滚动更新” 部分。

命令退出代码

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

Expand
退出代码描述

0

可以滚动更新。

1

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

2

无效的 CLI 选项。

3

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

4

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

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat