第 5 章 使用自定义红帽构建的 Keycloak 镜像


5.1. Red Hat build of Keycloak 自定义镜像使用 Operator

使用 Keycloak 自定义资源(CR),您可以为红帽构建的 Keycloak 服务器指定自定义容器镜像。

注意

为确保 Operator 和 Operand 的完整兼容性,请确保自定义镜像中使用的红帽构建的 Keycloak 版本与 Operator 的版本一致。

5.1.1. 最佳实践

当使用默认红帽构建的 Keycloak 镜像时,服务器会在每次 Pod 启动时执行成本的重新增加。为避免这种延迟,您可以为自定义镜像提供从镜像构建时间增强内置项。

使用自定义镜像,您还可以在构建容器期间指定 Keycloak 构建时 配置和扩展。

警告

当使用优化的自定义镜像时,需要在 Containerfile 中明确设置 启用了 运行状况 的选项和启用了指标 的选项。

有关如何构建此类镜像的说明,请参阅 在容器中运行红帽构建的 Keycloak

5.1.2. 提供自定义红帽构建的 Keycloak 镜像

要提供自定义镜像,您可以在 Keycloak CR 中定义 image 字段,如下例所示:

apiVersion: k8s.keycloak.org/v2alpha1
kind: Keycloak
metadata:
  name: example-kc
spec:
  instances: 1
  image: quay.io/my-company/my-keycloak:latest
  http:
    tlsSecret: example-tls-secret
  hostname:
    hostname: test.keycloak.org
注意

使用自定义镜像时,每个构建时间选项都会通过专用字段传递,否则会忽略 additionalOptions

注意

Operator 不知道 自定义镜像中指定的任何配置选项。将 Keycloak CR 用于需要 Operator 感知的任何配置,即 TLS 和 HTTP (S)设置在配置服务和探测时反映。

5.1.3. 非优化的自定义镜像

虽然最佳实践是采用预错误的镜像,但如果您想要使用非优化的自定义镜像或构建时间属性,并且仍然有可能使用增强镜像。您只需要将 startOptimized 字段设置为 false,如下例所示:

apiVersion: k8s.keycloak.org/v2alpha1
kind: Keycloak
metadata:
  name: example-kc
spec:
  instances: 1
  image: quay.io/my-company/my-keycloak:latest
  startOptimized: false
  http:
    tlsSecret: example-tls-secret
  hostname:
    hostname: test.keycloak.org

请记住,每次开始都会考虑这一点。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.