11.4. 使用自定义资源安装 Red Hat Single Sign-On


您可以通过创建 Keycloak 自定义资源,使用 Operator 自动安装 Red Hat Single Sign-On。当您使用自定义资源安装 Red Hat Single Sign-On 时,您可以创建此处描述的组件和服务,并在下图所示。

  • Keycloak-db-secret - 存储数据库用户名、密码和外部地址(如果您连接到外部数据库)
  • 凭证-<CR-Name > - 要登录到 Red Hat Single Sign-On 管理控制台(< CR-Name&gt; 基于 Keycloak 自定义资源名称)的管理员用户名和密码。
  • Keycloak - Keycloak 部署规格作为具有高可用性支持的 StatefulSet 实现
  • Keycloak-postgresql - 启动 PostgreSQL 数据库安装
  • Keycloak-discovery Service - 执行 JDBC_PING 发现
  • Keycloak Service - 通过 HTTPS 连接到 Red Hat Single Sign-On (不支持 HTTP)
  • Keycloak-postgresql Service - 连接一个内部和外部(如果使用)数据库实例
  • Keycloak Route - 从 OpenShift 访问 Red Hat Single Sign-On 管理控制台的 URL

Operator 组件和服务如何交互

operator components

11.4.1. Keycloak 自定义资源

Keycloak 自定义资源是一个 YAML 文件,它定义用于安装的参数。此文件包含三个属性:

  • 实例 - 控制在高可用性模式下运行的实例数量。
  • externalAccess - 如果启用True,Operator 会为 Red Hat Single Sign-On 集群创建一个路由。
  • externalDatabase - 以连接到外部托管的数据库。该主题包括在本指南的 外部数据库 部分。把它设置为 false 应该仅用于测试目的,并安装嵌入式 PostgreSQL 数据库。请注意,生产环境中不支持 externalDatabase:false。

Keycloak 自定义资源的 YAML 文件示例

apiVersion: keycloak.org/v1alpha1
kind: Keycloak
metadata:
  name: example-sso
  labels:
    app: sso
spec:
  instances: 1
  externalAccess:
    enabled: True
Copy to Clipboard Toggle word wrap

注意

您可以更新 YAML 文件,并在 Red Hat Single Sign-On 管理控制台中显示更改,但更改管理控制台不会更新自定义资源。

11.4.2. 在 OpenShift 中创建 Keycloak 自定义资源

在 OpenShift 中,您可以使用自定义资源创建路由,这是 admin 控制台的 URL,再找到含有管理控制台的用户名和密码的 secret。

前提条件

  • 有用于此自定义资源的 YAML 文件。
  • 您有 cluster-admin 权限,或具有管理员授予的同等权限级别。

流程

  1. 使用 YAML 文件创建路由: oc create -f <filename>.yaml -n <namespace>。例如:

    $ oc create -f sso.yaml -n sso
    keycloak.keycloak.org/example-sso created
    Copy to Clipboard Toggle word wrap

    在 OpenShift 中创建路由。

  2. 登录 OpenShift Web 控制台。
  3. 选择 Networking 、Route 和 search for Keycloak。

    OpenShift Web 控制台中的路由页面

    route ocp

  4. 在带有 Keycloak 路由的屏幕上,点 Location 下的 URL。

    此时会出现 Red Hat Single Sign-On 管理控制台登录屏幕。

    管理控制台登录屏幕

    login empty

  5. 在 OpenShift Web 控制台中找到 admin 控制台的用户名和密码;在 Workloads 下,点 Secrets 和 search Keycloak。

    OpenShift Web 控制台中的 secret 屏幕

    secrets ocp

  6. 在 admin 控制台登录屏幕中输入用户名和密码。

    管理控制台登录屏幕

    login complete

    您现在已登录到一个由 Keycloak 自定义资源安装的 Red Hat Single Sign-On 实例。您已准备好为域、客户端和用户创建自定义资源。

    Red Hat Single Sign-On master realm

    new install cr

  7. 检查自定义资源的状态:

    $ oc describe keycloak <CR-name>
    Copy to Clipboard Toggle word wrap

结果

Operator 处理自定义资源后,使用以下命令查看状态:

$ oc describe keycloak <CR-name>
Copy to Clipboard Toggle word wrap

Keycloak 自定义资源状态

Name:         example-keycloak
Namespace:    keycloak
Labels:       app=sso
Annotations:  <none>
API Version:  keycloak.org/v1alpha1
Kind:         Keycloak
Spec:
  External Access:
    Enabled:  true
  Instances:  1
Status:
  Credential Secret:  credential-example-keycloak
  Internal URL:       https://<External URL to the deployed instance>
  Message:
  Phase:              reconciling
  Ready:              true
  Secondary Resources:
    Deployment:
      keycloak-postgresql
    Persistent Volume Claim:
      keycloak-postgresql-claim
    Prometheus Rule:
      keycloak
    Route:
      keycloak
    Secret:
      credential-example-keycloak
      keycloak-db-secret
    Service:
      keycloak-postgresql
      keycloak
      keycloak-discovery
    Service Monitor:
      keycloak
    Stateful Set:
      keycloak
  Version:
Events:
Copy to Clipboard Toggle word wrap

其他资源

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat