1.5. 优化红帽构建的 Keycloak 启动


我们建议优化红帽构建的 Keycloak,以便在生产环境中部署红帽构建的 Keycloak 前提供更快的启动和更好的内存消耗。本节论述了如何应用红帽构建的 Keycloak 优化,以获得最佳性能和运行时行为。

1.5.1. 创建经过优化的红帽构建的 Keycloak 构建

默认情况下,当使用 startstart-dev 命令时,Red Hat build of Keycloak 会在覆盖的原因下运行一个 build 命令。

build 命令为启动和运行时行为执行一组优化。构建过程可能需要几秒钟时间。特别是在容器化环境中运行 Keycloak 时,如 Kubernetes 或 OpenShift,启动时间非常重要。为避免丢失这一时间,请在启动前明确 运行构建,如 CI/CD 管道中的单独步骤。

1.5.1.1. 第一步:明确运行构建

要运行 构建,请输入以下命令:

bin/kc.[sh|bat] build <build-options>
Copy to Clipboard Toggle word wrap

此命令显示 您输入的构建选项。红帽构建的 Keycloak 可区分 构建选项这些选项 可在运行构建命令时以及启动服务器时可用的配置选项。

对于红帽构建的 Keycloak 的非优化启动,这种区别无效。但是,如果您在启动前运行构建,则 build 命令只能使用一组选项。这个限制是因为构建选项被保留到优化的红帽构建的 Keycloak 镜像中。例如,出于安全原因,不能保留 db-password (这是配置选项)等凭据的配置。

警告

所有构建选项都以纯文本形式保留。不要将任何敏感数据存储为构建选项。这适用于所有可用的配置源,包括 KeyStore Config Source。因此,我们还不建议将任何构建选项存储在 Java 密钥存储中。另外,当涉及配置选项时,我们建议使用 KeyStore Config Source 来存储敏感数据。对于非敏感数据,您可以使用剩余的配置源。

构建选项在 All configuration 中标有工具图标。要查找可用的构建选项,请输入以下命令:

bin/kc.[sh|bat] build --help
Copy to Clipboard Toggle word wrap

示例: 在启动前 运行构建将数据库设置为 PostgreSQL

bin/kc.[sh|bat] build --db=postgres
Copy to Clipboard Toggle word wrap

构建成功后,您可以启动红帽构建的 Keycloak 并输入以下命令关闭默认的启动行为:

bin/kc.[sh|bat] start --optimized <configuration-options>
Copy to Clipboard Toggle word wrap

--optimized 参数告知红帽构建的 Keycloak 假设已使用已优化的红帽构建的 Keycloak 镜像。因此,红帽构建的 Keycloak 避免在启动时检查并运行构建,从而节省时间。

您可以在启动时输入所有配置选项;这些选项是所有未标记为工具图标的配置中的选项。???

  • 如果在启动时找到构建选项,其值等于输入 构建 时使用的值,则该选项会在使用 --optimized 参数时静默忽略。
  • 如果该选项的值与输入构建时使用的值不同,日志中会出现一个警告,并使用之前构建的值。要使这个值生效,请在启动前运行新构建。

创建优化的构建

以下示例显示了在启动红帽构建的 Keycloak 时创建优化的构建,然后使用 --optimized 参数。

  1. 使用 build 命令为 PostgreSQL 数据库供应商设置构建选项

    bin/kc.[sh|bat] build --db=postgres
    Copy to Clipboard Toggle word wrap
  2. conf/keycloak.conf 文件中设置 postgres 的运行时配置选项。

    db-url-host=keycloak-postgres
    db-username=keycloak
    db-password=change_me
    hostname=mykeycloak.acme.com
    https-certificate-file
    Copy to Clipboard Toggle word wrap
  3. 使用优化参数启动服务器

    bin/kc.[sh|bat] start --optimized
    Copy to Clipboard Toggle word wrap

您可以使用 build 命令,实现对启动和运行时行为的大多数优化。另外,通过使用 keycloak.conf 文件作为配置源,您可以避免在启动时需要命令行参数的一些步骤,如初始化 CLI 本身。因此,服务器可以更快地启动。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat