4.4. 迁移过程
- 将红帽构建的 Keycloak Operator 安装到命名空间中。
创建新的 CR 和相关 Secret。
手动将基于 Red Hat Single Sign-On 7.6 配置模板迁移到新 Red Hat build of Keycloak CR。有关 Template 参数和 Keycloak CR 字段之间的推荐映射,请参见以下示例。
以下示例将红帽构建的 Keycloak Operator CR 与之前由 Red Hat Single Sign-On 7.6 模板创建的 DeploymentConfig 进行比较。
用于红帽构建的 Keycloak 的 Operator CR
apiVersion: k8s.keycloak.org/v2alpha1 kind: Keycloak metadata: name: rhbk spec: instances: 1 db: vendor: postgres host: postgres-db usernameSecret: name: keycloak-db-secret key: username passwordSecret: name: keycloak-db-secret key: password http: tlsSecret: sso-x509-https-secret
Red Hat Single Sign-On 7.6 的 DeploymentConfig
apiVersion: apps.openshift.io/v1 kind: DeploymentConfig metadata: name: rhsso spec: replicas: 1 template: spec: volumes: - name: sso-x509-https-volume secret: secretName: sso-x509-https-secret defaultMode: 420 containers: volumeMounts: - name: sso-x509-https-volume readOnly: true env: - name: DB_SERVICE_PREFIX_MAPPING value: postgres-db=DB - name: DB_USERNAME value: username - name: DB_PASSWORD value: password
下表通过 JSON 路径表示法引用 Keycloak CR 的字段。例如,.spec
指的是 spec
字段。请注意,spec.unsupported
是一个技术预览字段。它更为表明,功能将由其他 CR 字段选择。以粗体 标记的参数受 passthrough 和 reencrypt 模板的支持。
4.4.1. 常规参数迁移
Red Hat Single Sign-On 7.6 | 红帽构建的 Keycloak 22.0 |
---|---|
APPLICATION_NAME | .metadata.name |
IMAGE_STREAM_NAMESPACE | N/A - 镜像由 Operator 控制,或者您主使用 spec.image 指定自定义镜像 |
SSO_ADMIN_USERNAME | 没有直接设置,默认为 admin |
SSO_ADMIN_PASSWORD | N/A - 由 Operator 在初始协调过程中创建 |
MEMORY_LIMIT |
|
SSO_SERVICE_PASSWORD, SSO_SERVICE_USERNAME | 不再使用。 |
SSO_TRUSTSTORE, SSO_TRUSTSTORE_PASSWORD, SSO_TRUSTSTORE_SECRET |
创建一个引用 truststore secret 的卷,并为该卷创建一个卷挂载。这需要在不支持的 spec 下完成:
在 .
例如:
|
SSO_REALM | 如果您要重复使用现有数据库,则不需要此项。另一种方法是 RealmImport CR。 |
4.4.2. 数据库部署参数迁移
POSTGRESQL_IMAGE_STREAM_TAG,POSTGRESQL_MAX_CONNECTIONS,VOLUME_CAPACITY 和 POSTGRESQL_SHARED_BUFFERS 将需要迁移到您选择的创建数据库部署的任何替换中。
4.4.3. 数据库连接参数迁移
Red Hat Single Sign-On 7.6 | 红帽构建的 Keycloak 22.0 |
---|---|
DB_VENDOR |
|
DB_DATABASE |
|
DB_MIN_POOL_SIZE |
|
DB_MAX_POOL_SIZE |
|
DB_TX_ISOLATION |
如果驱动程序支持或者目标数据库上的常规设置,则可通过 |
DB_USERNAME |
|
DB_PASSWORD |
|
DB_JNDI | 不再可用 |
4.4.4. 网络参数迁移
Red Hat Single Sign-On 7.6 | 红帽构建的 Keycloak 22.0 |
---|---|
HOSTNAME_HTTP |
|
HOSTNAME_HTTPS |
|
SSO_HOSTNAME |
|
HTTPS_SECRET |
|
HTTPS_KEYSTORE HTTPS_KEYSTORE_TYPE HTTPS_NAME HTTPS_PASSWORD |
不再可用。 |
X509_CA_BUNDLE | 不再可用。创建一个引用信任存储的卷。 |
请注意,红帽构建的 Keycloak Operator 目前不支持配置 TLS 终止的方法。默认情况下使用 passthrough 策略。因此,代理选项尚未作为第一类公民选项字段公开,因为是否使用了 passthrough 或 reencrypt 策略。但是,如果需要这个选项,可以替换默认 Ingress Operator 证书并手动配置 Route,以信任 Keycloak 证书的红帽构建。
然后,红帽构建的 Keycloak Operator 的默认行为可以被以下覆盖:
additionalOptions: name: proxy value: reencrypt
4.4.5. JGroups 参数迁移
JGROUPS_ENCRYPT_SECRET、JGROUPS_ENCRYPT_KEYSTORE、JGROUPS_ENCRYPT_NAME、JGROUPS_ENCRYPT_PASSWORD 和 JGROUPS_CLUSTER_PASSWORD 在 Keycloak CR 中没有第一类表示。仍可使用缓存配置文件保护缓存通信的安全。
其他资源