第 10 章 带有不可变服务器的环境
您可以部署一个环境,其中包含运行带有预加载服务 的不可变 KIE 服务器的一个或多个 pod。默认情况下,数据库服务器也在 pod 中运行。每个 KIE Server pod 可以根据需要单独扩展。
在不可变 KIE 服务器上,在创建镜像时必须将任何服务加载到服务器中。您不能在运行的不可变 KIE 服务器上部署或取消部署服务。这种方法的优点是 KIE 服务器与其它容器化服务运行一样运行的 KIE 服务器,且不需要特殊管理。KIE 服务器像 OpenShift 环境中的任何其他 pod 一样运行;您可以根据需要使用任何基于容器的集成工作流。
创建 KIE 服务器镜像时,您可以使用 S2I (镜像的源)构建您的服务。为您的服务源和其他业务资产提供 Git 存储库;如果您在 Business Central 中开发服务或资产,请将源复制到 S2I 构建的独立存储库中。OpenShift 会自动构建源,将服务安装到 KIE Server 镜像中,并使用服务启动容器。
如果您使用 Business Central 编写服务,您可以提取进程的源并将其放入单独的 Git 存储库(如 GitHub 或 GitLab 内部安装),以便在 S2I 构建中使用。
或者,您可以使用已构建为 KJAR 文件的服务创建类似的 KIE 服务器部署。在这种情况下,您必须在 Maven 存储库中提供服务。您可以使用 Business Central 或您自己的存储库(如 Nexus 部署)的内置存储库。服务器 pod 启动时,它会从 Maven 存储库检索 KJAR 服务。pod 上的服务永远不会更新或更改。每次重启或扩展 pod 时,服务器会从存储库检索文件,因此您必须确保它们不会更改 Maven 存储库,以保持部署不可变。
使用两种方法创建不可变镜像时,不需要进一步管理镜像。如果要使用新版本的服务,您可以构建新镜像。
另外,您还可以将 Business Central Monitoring 和 Smart Router 添加到您的环境。使用 Business Central Monitoring 在 KIE 服务器上启动、停止和监控服务。
10.1. 为具有不可变服务器的环境部署 Business Central 监控和智能路由器
您可以为具有不可变服务器的环境部署 Business Central Monitoring 和 Smart Router。
您可以使用 Business Central Monitoring 在 KIE 服务器上启动和停止(但不部署)服务并查看监控数据。Business Central Monitoring 会自动发现同一命名空间中的所有 KIE 服务器,包括不可变 KIE 服务器和受管 KIE 服务器。此功能需要 OpenShiftStartupStrategy
设置,该设置默认为所有 KIE 服务器,除非在固定受管基础架构中部署它们。有关使用启用了 OpenShiftStartupStrategy
设置部署受管 KIE 服务器的说明,请参阅 第 11.2 节 “为自由格式环境部署额外的受管 KIE 服务器”。
Smart Router 是一个端点,可以从客户端应用程序接收调用到任何服务,并将每个调用自动路由到运行该服务的服务器。
如果要使用 Business Central Monitoring,您必须提供一个 Maven 存储库。您的集成过程必须确保 Maven 存储库中也提供了内置到任何 KIE 服务器镜像中的 KJAR 文件的所有版本。
10.1.1. 启动模板配置,以进行监控和智能路由器
要为具有不可变服务器的环境部署监控和智能路由器,请使用 rhpam711-immutable-monitor.yaml
模板文件。
流程
-
从红帽客户门户的 软件下载 页面下载
rhpam-7.11.0-openshift-templates.zip
产品。 -
提取
rhpam711-immutable-monitor.yaml
模板文件。 使用以下方法之一开始部署模板:
-
要使用 OpenShift Web UI,在 OpenShift 应用程序控制台中选择 Add to Project
Import YAML / JSON,然后选择或粘贴 rhpam711-immutable-monitor.yaml
文件。在 Add Template 窗口中,确保选择了 Process,然后单击 Continue。 要使用 OpenShift 命令行控制台,准备以下命令行:
oc new-app -f <template-path>/rhpam711-immutable-monitor.yaml -p BUSINESS_CENTRAL_HTTPS_SECRET=businesscentral-app-secret -p PARAMETER=value
在这个命令行中,进行以下更改:
-
将
<template-path
> 替换为下载的模板文件的路径。 -
根据需要使用多个
-p PARAMETER=value
对来设置所需参数。
-
将
-
要使用 OpenShift Web UI,在 OpenShift 应用程序控制台中选择 Add to Project
后续步骤
设置模板的参数。按照 第 10.1.2 节 “设置监控和智能路由器所需的参数” 中的步骤设置通用参数。您可以查看模板文件以查看所有参数的描述。
10.1.2. 设置监控和智能路由器所需的参数
将模板配置为为具有不可变服务器的环境部署监控和智能路由器时,您必须在所有情况下设置以下参数:
先决条件
- 您启动了模板的配置,如 第 10.1.1 节 “启动模板配置,以进行监控和智能路由器” 所述。
流程
设置以下参数:
-
凭证 secret (
CREDENTIALS_SECRET
):包含管理用户凭证的 secret 名称,如 第 7.5 节 “为管理用户创建 secret” 中创建的。 -
Business Central Monitoring Server Keystore Secret Name (
BUSINESS_CENTRAL_HTTPS_SECRET
): Business Central 的 secret 名称,如 第 7.3 节 “为 Business Central 创建 secret” 中创建的。 -
Smart Router Keystore Secret Name (
KIE_SERVER_ROUTER_HTTPS_SECRET
):智能路由器的 secret 名称,如 第 7.4 节 “为智能路由器创建 secret” 中创建的。 -
Business Central Monitoring Server Certificate Name (
BUSINESS_CENTRAL_HTTPS_NAME
):您在 第 7.3 节 “为 Business Central 创建 secret” 中创建的密钥存储中证书的名称。 -
Business Central Monitoring Server Keystore Password (
BUSINESS_CENTRAL_HTTPS_PASSWORD
): 您在 第 7.3 节 “为 Business Central 创建 secret” 中创建的密钥存储的密码。 -
智能卡证书名称 (
KIE_SERVER_ROUTER_HTTPS_NAME
):您在 第 7.4 节 “为智能路由器创建 secret” 中创建的密钥存储中证书的名称。 -
Smart Router Keystore Password (
KIE_SERVER_ROUTER_HTTPS_PASSWORD
): 您在 第 7.4 节 “为智能路由器创建 secret” 中创建的密钥存储的密码。 -
应用名称 (
APPLICATION_NAME
):OpenShift 应用的名称。它用于 Business Central Monitoring 和 KIE Server 的默认 URL。OpenShift 使用应用程序名称创建一组单独的部署配置、服务、路由、标签和工件。 -
启用 KIE 服务器全局发现 (
KIE_SERVER_CONTROLLER_OPENSHIFT_GLOBAL_DISCOVERY_ENABLED
):如果您想 Business Central Monitoring 以在同一命名空间中使用OpenShiftStartupStrategy
发现所有 KIE 服务器,则将此参数设置为true
。默认情况下,Business Central Monitoring 仅会发现使用与 Business Central Monitoring 本身相同的APPLICATION_NAME
参数的值部署的 KIE 服务器。 -
Maven 存储库 URL (
MAVEN_REPO_URL
): Maven 存储库的 URL。您必须将要在环境中任何 KIE 服务器上部署的所有进程(KJAR 文件)上传到此存储库中。 -
Maven 存储库 ID (
MAVEN_REPO_ID
):Maven 存储库的标识符。默认值为repo-custom
。 -
Maven 存储库用户名 (
MAVEN_REPO_USERNAME
):Maven 存储库的用户名。 -
Maven 存储库密码 (
MAVEN_REPO_PASSWORD
):Maven 存储库的密码。 -
镜像流命名空间(
IMAGE_STREAM_NAMESPACE
):镜像流可用的命名空间。如果您的 OpenShift 环境中已有镜像流(请参阅 第 7.1 节 “确保镜像流和镜像 registry 的可用性”),则命名空间为openshift
。如果安装了镜像流文件,则 namespace 是 OpenShift 项目的名称。
-
凭证 secret (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.1.6 节 “完成模板部署,以进行监控和智能路由器” 中的步骤操作。
10.1.3. 配置镜像流命名空间以监控和智能路由器
如果您在不是 openshift
的命名空间中创建镜像流,则必须在模板中配置命名空间。
如果 Red Hat OpenShift Container Platform 环境中已提供了所有镜像流,您可以跳过这个过程。
先决条件
- 您启动了模板的配置,如 第 10.1.1 节 “启动模板配置,以进行监控和智能路由器” 所述。
流程
如果您根据 第 7.1 节 “确保镜像流和镜像 registry 的可用性” 中的说明安装了镜像流文件,请将 ImageStream Namespace (IMAGE_STREAM_NAMESPACE
)参数设置为 OpenShift 项目的名称。
10.1.4. 为监控和智能路由器设置 RH-SSO 身份验证的参数
如果要使用 RH-SSO 身份验证,请在配置模板时完成以下附加配置,以针对具有不可变服务器的环境部署监控和智能路由器。
不要在同一部署中配置 LDAP 身份验证和 RH-SSO 身份验证。
先决条件
- 在 RH-SSO 身份验证系统中创建了 Red Hat Process Automation Manager 的域。
Red Hat Process Automation Manager 的用户名和密码在 RH-SSO 身份验证系统中创建。有关可用角色的列表,请参阅 第 14 章 Red Hat Process Automation Manager 角色和用户。
您必须为管理用户在 secret 中配置的用户名和密码的用户,如 第 7.5 节 “为管理用户创建 secret” 所述。此用户必须具有
kie-server、rest-all、admin
角色。- 客户端在您要部署的 Red Hat Process Automation Manager 环境的所有组件的 RH-SSO 身份验证系统中创建。客户端设置包含组件的 URL。在部署环境后,您可以查看并编辑 URL。另外,Red Hat Process Automation Manager 部署也可以创建客户端。但是,这个选项对环境提供较少的详细控制。
- 您启动了模板的配置,如 第 10.1.1 节 “启动模板配置,以进行监控和智能路由器” 所述。
流程
设置以下参数:
-
RH-SSO URL (
SSO_URL
):RH-SSO 的 URL。 -
RH-SSO Realm 名称 (
SSO_REALM
):Red Hat Process Automation Manager 的 RH-SSO 域。 -
RH-SSO 禁用 SSL 证书验证 (
SSO_DISABLE_SSL_CERTIFICATE_VALIDATION
):如果您的 RH-SSO 安装不使用有效的 HTTPS 证书,则设置为true
。
-
RH-SSO URL (
完成以下流程之一:
如果您在 RH-SSO 中为 Red Hat Process Automation Manager 创建客户端,请在模板中设置以下参数:
-
Business Central Monitoring RH-SSO Client name (
BUSINESS_CENTRAL_SSO_CLIENT
): Business Central Monitoring 的 RH-SSO 客户端名称。 -
Business Central Monitoring RH-SSO Client Secret (
BUSINESS_CENTRAL_SSO_SECRET
):用于 Business Central Monitoring 的客户端的 RH-SSO 中设置的机密字符串。
-
Business Central Monitoring RH-SSO Client name (
要在 RH-SSO 中为 Red Hat Process Automation Manager 创建客户端,请在模板中设置以下参数:
-
Business Central Monitoring RH-SSO Client name (
BUSINESS_CENTRAL_SSO_CLIENT
):要在用于 Business Central Monitoring 的 RH-SSO 中创建的客户端名称。 -
Business Central Monitoring RH-SSO Client Secret (
BUSINESS_CENTRAL_SSO_SECRET
):为 Business Central Monitoring 在 RH-SSO 中设置的机密字符串。 -
RH-SSO Realm Admin Username (
SSO_USERNAME
)和 RH-SSO Realm Admin Password (SSO_PASSWORD
):Red Hat Process Automation Manager 的 RH-SSO 域的域用户名和密码。您必须提供此用户名和密码才能创建所需的客户端。
-
Business Central Monitoring RH-SSO Client name (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.1.6 节 “完成模板部署,以进行监控和智能路由器” 中的步骤操作。
完成部署后,查看 RH-SSO 身份验证系统中 Red Hat Process Automation Manager 组件的 URL,以确保它们正确。
10.1.5. 为监控和智能路由器设置 LDAP 身份验证参数
如果要使用 LDAP 身份验证,请在配置模板时使用不可变服务器的环境部署监控和智能路由器时完成以下附加配置。
不要在同一部署中配置 LDAP 身份验证和 RH-SSO 身份验证。
先决条件
您在 LDAP 系统中为 Red Hat Process Automation Manager 创建用户名和密码。有关可用角色的列表,请参阅 第 14 章 Red Hat Process Automation Manager 角色和用户。
您必须为管理用户在 secret 中配置的用户名和密码的用户,如 第 7.5 节 “为管理用户创建 secret” 所述。此用户必须具有
kie-server、rest-all、admin
角色。- 您启动了模板的配置,如 第 10.1.1 节 “启动模板配置,以进行监控和智能路由器” 所述。
流程
设置模板的
AUTH_LDAP
the 参数。这些参数与 Red Hat JBoss EAP 的LdapExtended
Login 模块的设置对应。有关使用这些设置的说明,请参阅 LdapExtended 登录模块。注意如果要启用 LDAP 故障转移,您可以将设置或多个 LDAP 服务器地址放在
AUTH_LDAP_URL
参数中,用空格分开。如果 LDAP 服务器没有定义部署所需的所有角色,您可以将 LDAP 组映射到 Red Hat Process Automation Manager 角色。要启用 LDAP 角色映射,请设置以下参数:
-
RoleMapping rolesProperties 文件路径 (
AUTH_ROLE_MAPPER_ROLES_PROPERTIES
): 定义角色映射的文件的完全限定域名,如/opt/eap/standalone/configuration/rolemapping/rolemapping.properties
。您必须提供此文件并将其挂载到所有适用的部署配置中的该路径中 ; 具体步骤请查看 第 13.3 节 “(可选)提供 LDAP 角色映射文件”。 -
RoleMapping replaceRole 属性 (
AUTH_ROLE_MAPPER_REPLACE_ROLE
):如果设为true
,则映射的角色会替换 LDAP 服务器上定义的角色;如果设为false
,则 LDAP 服务器上定义的映射角色和角色都被设置为用户应用角色。默认设置为false
。
-
RoleMapping rolesProperties 文件路径 (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.1.6 节 “完成模板部署,以进行监控和智能路由器” 中的步骤操作。
10.1.6. 完成模板部署,以进行监控和智能路由器
在 OpenShift Web UI 或命令行中设置所有必要的参数后,请完成模板部署。
流程
根据您使用的方法,完成以下步骤:
在 OpenShift Web UI 中,单击 Create。
-
如果
这将创建可能具有安全性或项目行为影响的资源
,请单击 Create Anyway。
-
如果
- 完成命令行并按 Enter。
后续步骤
根据您的环境需求,可选完成 第 13 章 部署环境后的可选步骤 中描述的步骤。