第 5 章 使用自定义红帽构建的 Keycloak 镜像
5.1. Red Hat build of Keycloak custom image with the Operator
使用 Keycloak 自定义资源(CR),您可以为红帽构建的 Keycloak 服务器指定自定义容器镜像。
注意
为确保 Operator 和 Operand 的完整兼容性,请确保自定义镜像中使用的红帽构建的 Keycloak 发行版本与 Operator 的版本一致。
5.1.1. 最佳实践
当使用默认红帽构建的 Keycloak 镜像时,服务器会在 Pod 启动时执行昂贵的重新错误。为了避免这种延迟,您可以为自定义镜像提供从构建镜像的构建时增加内置的自定义镜像。
使用自定义镜像,您还可以在容器构建期间指定 Keycloak 构建时 配置和扩展。
有关如何构建此类镜像的说明,请参阅 在容器中运行红帽构建的 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
。
5.1.3. 非优化的自定义镜像
虽然作为最佳实践方案,但如果您想使用非优化的自定义镜像或构建时间属性,则最好使用预装的镜像。您只需要将 startOptimzed
字段设置为 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
请记住,这将在每次开始时造成重新增加成本。