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 用户名和密码(<CR-Name> 基于Keycloak自定义资源名称) -
Keycloak - Keycloak 部署规格,该规格作为具有高可用性支持的 StatefulSet 实现
-
keycloak-postgresql- 启动 PostgreSQL 数据库安装 -
keycloak-discoveryService - 执行JDBC_PING发现 -
KeycloakService - 通过 HTTPS 连接到 Red Hat Single Sign-On (不支持 HTTP) -
keycloak-postgresqlService - 如果使用的数据库实例,请连接内部和外部 -
KeycloakRoute - 从 OpenShift 访问 Red Hat Single Sign-On 管理控制台的 URL
Operator 组件和服务如何交互
11.2.1. Keycloak 自定义资源 复制链接链接已复制到粘贴板!
Keycloak 自定义资源是一个 YAML 文件,用于定义安装的参数。此文件包含三个属性:
-
实例- 控制在高可用性模式下运行的实例数量。 -
externalAccess-如果启用为True,Operator 会为 Red Hat Single Sign-On 集群创建一个路由。 -
ExternalDatabase- 仅在您要连接外部托管数据库时才应用。该主题包括在本指南的 外部数据库 部分。
Keycloak 自定义资源的 YAML 文件示例
您可以更新 YAML 文件,且 Red Hat Single Sign-On admin 控制台中显示的更改,但对管理控制台的更改不会更新自定义资源。
11.2.2. 在 OpenShift 中创建 Keycloak 自定义资源 复制链接链接已复制到粘贴板!
在 OpenShift 上,您可以使用自定义资源来创建路由,这是管理控制台的 URL,并查找包含管理控制台的用户名和密码的机密。
先决条件
- 您有一个用于此自定义资源的 YAML 文件。
- 有 cluster-admin 权限或管理员授予的等效权限级别。
流程
使用 YAML 文件创建一个路由:
oc create -f <filename>.yaml -n <namespace>。例如:oc create -f sso.yaml -n sso keycloak.keycloak.org/example-sso created
$ oc create -f sso.yaml -n sso keycloak.keycloak.org/example-sso createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 OpenShift 中创建路由。
- 登录 OpenShift Web 控制台。
选择
Networking,Routesand search for Keycloak。OpenShift Web 控制台中的路由屏幕
在带有 Keycloak 路由的屏幕上,点
Location下的 URL。此时会出现 Red Hat Single Sign-On admin 控制台登录屏幕。
管理控制台登录屏幕
在 OpenShift Web 控制台中找到管理控制台的用户名和密码;在
Workloads下,单击Secrets并搜索 Keycloak。OpenShift Web 控制台中的 secret 屏幕
在管理控制台登录屏幕中输入用户名和密码。
管理控制台登录屏幕
现在,您已登录到由 Keycloak 自定义资源安装的 Red Hat Single Sign-On 实例。您已准备好为域、客户端和用户创建自定义资源。
Red Hat Single Sign-On master realm
检查自定义资源的状态:
oc describe keycloak <CR-name>
$ oc describe keycloak <CR-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
结果
Operator 处理自定义资源后,使用以下命令查看状态:
oc describe keycloak <CR-name>
$ oc describe keycloak <CR-name>
Keycloak 自定义资源状态
其他资源
- 安装 Red Hat Single Sign-On 后,就可以 创建一个 realm 自定义资源。
- 如果您有外部数据库,您可以修改 Keycloak 自定义资源来支持它。请参阅连接到外部数据库。