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


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

  • keycloak-db-secret - 存储数据库用户名、密码和外部地址等属性(如果您连接到外部数据库)
  • credentials-<CR-Name > - 用于登录到 Red Hat Single Sign-On 管理控制台的 Admin 用户名和密码(& lt;CR-Name > 基于 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.2.1. Keycloak 自定义资源

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

  • 实例 - 控制在高可用性模式下运行的实例数量。
  • externalAccess - 如果启用True,Operator 会为 Red Hat Single Sign-On 集群创建一个路由。
  • ExternalDatabase - 仅在您要连接外部托管数据库时才应用。该主题包括在本指南的 外部数据库 部分。

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 admin 控制台中显示的更改,但对管理控制台的更改不会更新自定义资源。

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

在 OpenShift 上,您可以使用自定义资源来创建路由,这是管理控制台的 URL,并查找包含管理控制台的用户名和密码的机密。

先决条件

  • 您有一个用于此自定义资源的 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,Routes and search for Keycloak。

    OpenShift Web 控制台中的路由屏幕

    route ocp

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

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

    管理控制台登录屏幕

    login empty

  5. 在 OpenShift Web 控制台中找到管理控制台的用户名和密码;在 Workloads 下,单击 Secrets 并搜索 Keycloak。

    OpenShift Web 控制台中的 secret 屏幕

    secrets ocp

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

    管理控制台登录屏幕

    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
返回顶部