在 Red Hat OpenShift Container Platform 上部署 Red Hat Process Automation Manager
摘要
前言
作为开发人员或系统管理员,您可以在 Red Hat OpenShift Container Platform 上部署各种 Red Hat Process Automation Manager 环境,如编写的环境、受管服务器环境、不可变服务器环境和其他支持的环境选项。
使开源包含更多
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 信息。
部分 I. 使用 Operator 在 Red Hat OpenShift Container Platform 4 上部署 Red Hat Process Automation Manager 环境
作为系统工程师,您可以在 Red Hat OpenShift Container Platform 4 上部署 Red Hat Process Automation Manager 环境,为开发或执行服务、处理应用程序和其他业务资产提供基础架构。您可以使用 OpenShift Operator 部署结构化 YAML 文件中定义的环境,并根据需要维护和修改此环境。
有关使用模板在 Red Hat OpenShift Container Platform 3 上部署 Red Hat Process Automation Manager 环境的说明,请参阅使用模板 在 Red Hat OpenShift Container Platform 3 上部署 Red Hat Process Automation Manager 环境。
先决条件
- 提供了 Red Hat OpenShift Container Platform 4 环境。有关当前版本支持的 Red Hat OpenShift Container Platform 的具体版本,请参阅 Red Hat Process Automation Manager 7 支持的配置。
- 为部署创建了 OpenShift 项目。
- 您可以使用 OpenShift Web 控制台登录项目。
OpenShift 集群上提供了以下资源:根据应用程序负载,可能需要更高的资源分配来达到可接受的性能。
- 对于编写环境,Business Central pod 的 4GB 内存和 2 个虚拟 CPU 内核。在高可用性部署中,每个副本都需要这些资源,默认创建两个副本。
- 对于生产环境或不可变环境,E Central Monitoring pod 的每个副本的 2GB 内存和 1 个虚拟 CPU 内核。
- 每个 KIE 服务器 pod 的每个副本 2GB 内存和 1 个虚拟 CPU 内核。
- 1GB 内存和一半的虚拟 CPU 内核,用于智能路由器 pod 的每个副本。
在高可用性编写部署中,MySQL、Red Hat AMQ 和 Red Hat Data Grid pod 需要根据配置的默认值进行其他资源。
注意MaxMetaspaceSize
的默认值为:- Business Central 镜像: 1024m
- KIE 服务器镜像:512m
- 对于其他镜像: 256m
启用动态持久性卷(PV)置备。另外,如果没有启用动态 PV 置备,则必须有足够的持久性卷。默认情况下,部署的组件需要以下 PV 大小:
- 默认情况下,每个 KIE 服务器部署都需要一个 1Gi PV 用于数据库。您可以更改数据库 PV 大小。您可以部署多个 KIE 服务器,每个服务器都需要一个单独的数据库 PV。如果您使用外部数据库服务器,则此要求不适用。
- 默认情况下,Business Central 需要一个 1Gi PV。您可以更改 Business Central 持久性存储的 PV 大小。
- Business Central Monitoring 需要一个 64Mi PV。
- 智能路由器需要一个 64Mi PV。
-
如果您打算使用 Business Central Monitoring pod 部署高可用性编写环境或任何环境,则 OpenShift 环境支持使用
ReadWriteMany
模式的持久性卷。如果您的环境不支持这个模式,您可以使用 NFS 来置备卷。有关在 OpenShift 公共云和专用云中支持访问模式的详情,请参阅 Red Hat OpenShift Container Platform 文档中的访问模式。
第 1 章 Red Hat OpenShift Container Platform 上的 Red Hat Process Automation Manager 概述
您可以将 Red Hat Process Automation Manager 部署到 Red Hat OpenShift Container Platform 环境中。
在这个解决方案中,Red Hat Process Automation Manager 组件被部署为单独的 OpenShift pod。您可以单独扩展和缩减每个 pod,以根据特定组件的要求提供尽量少或任意数量的容器。您可以使用标准 OpenShift 方法管理容器集并平衡负载。
OpenShift 中提供了以下 Red Hat Process Automation Manager 的主要组件:
KIE 服务器(也称为 Execution Server )是运行决策服务、进程应用程序和其他可部署资产(称为 服务)的基础架构元素。服务的所有逻辑都在执行服务器上运行。
KIE 服务器通常需要数据库服务器。您可以在另一个 OpenShift pod 中提供数据库服务器,或者在 OpenShift 上配置执行服务器以使用任何其他数据库服务器。或者,KIE 服务器可以使用 H2 数据库;在这种情况下,您无法扩展 pod。
在某些模板中,您可以扩展 KIE 服务器 pod,以根据需要提供尽可能多的副本,在同一主机或不同的主机上运行。当您扩展或缩减 pod 时,其所有副本都使用相同的数据库服务器并运行相同的服务。OpenShift 提供负载平衡和请求,可由任何容器集处理。
您可以部署单独的 KIE Server pod 来运行不同的服务组。该 pod 也可以扩展或缩减。您可以根据需要拥有任意数量的单独的复制 KIE 服务器 pod。
Business Central 是用于编写服务的基于 Web 的互动环境。它还提供管理和监控控制台。您可以使用 Business Central 开发服务并将其部署到 KIE 服务器中。您还可以使用 Business Central 来监控进程的执行。
Business Central 是一个集中式应用程序。但是,您可以将它配置为高可用性,其中多个 pod 运行并共享相同的数据。
Business Central 包括一个 Git 存储库,其中包含您开发的服务的源。它还包含一个内置的 Maven 存储库。根据配置,Business Central 可以将编译的服务(KJAR 文件)放在内置 Maven 存储库中,或者(如果已配置)放入外部 Maven 存储库中。
- Business Central Monitoring 是一个基于 Web 的管理和监控控制台。它可以管理服务到 KIE 服务器,并提供监控信息,但不包括编写的功能。您可以使用此组件来管理暂存和生产环境。
- Smart Router 是 KIE 服务器与与其交互的其他组件之间的可选层。当您的环境包含在不同 KIE 服务器上运行的许多服务时,智能路由器为所有客户端应用程序提供单一端点。客户端应用程序可以发出需要任何服务的 REST API 调用。智能路由器自动调用可处理特定请求的 KIE 服务器。
您可以将这些组件和其他组件设置为 OpenShift 中的各种环境配置。
1.1. 编写环境的架构
在 Red Hat Process Automation Manager 中,Business Central 组件提供了一个基于 Web 的互动用户界面,用于编写服务。KIE 服务器组件运行该服务。
KIE 服务器使用数据库服务器来存储进程服务的状态。
您还可以使用 Business Central 将服务部署到 KIE 服务器中。您可以使用多个 KIE 服务器来运行不同的服务,并控制来自同一 Business Central 的服务器。
单编写环境
在单一编写环境中,只有一个 Business Central 实例正在运行。多个用户可以同时访问其 Web 界面,但性能可能会受限制,且没有故障转移功能。
Business Central 包括一个内置的 Maven 存储库,它存储您开发的服务(KJAR 文件/artifacts)的构建版本。您可以使用持续集成和持续部署(CICD)工具从存储库中检索这些工件,并根据需要移动它们。
Business Central 将源代码保存在内置 Git 存储库中,存储在 .niogit
目录中。它使用内置的索引机制来索引您的服务中的资产。
Business Central 将持久性存储用于 Maven 存储库和 Git 存储库。
默认情况下,单个编写环境包含一个 KIE 服务器。此 KIE 服务器使用内置的 H2 数据库引擎来存储进程服务的状态。
单个编写环境可以使用控制器策略。Business Central 包括 Controller,这是可以管理 KIE 服务器的组件。当您将 KIE 服务器配置为连接到 Business Central 时,KIE 服务器使用 REST API 连接到 Controller。此连接将打开持久的 WebSocket。在使用控制器策略的 OpenShift 部署中,每个 KIE 服务器都最初配置为连接到 Business Central Controller。
当您使用 Business Central 用户界面在 KIE 服务器上部署和管理服务时,KIE 服务器会通过 Controller 连接 WebSocket 接收请求。要部署服务,KIE 服务器从作为 Business Central 一部分的 Maven 存储库请求必要的工件。
客户端应用使用 REST API 来使用 KIE 服务器上运行的服务。
图 1.1. 单个编写环境的构架图
集群 KIE 服务器并使用多个 KIE 服务器
您可以扩展 KIE Server pod 以运行集群的 KIE 服务器环境。要扩展 KIE 服务器,您必须确保它在单独的 pod 或外部数据库服务器中使用数据库服务器,而不是内置的 H2 数据库引擎。
在集群部署中,KIE 服务器的几个实例运行相同的服务。这些服务器可以使用相同的服务器 ID 连接到 Business Central Controller,以便可以从控制器接收相同的请求。Red Hat OpenShift Container Platform 在服务器之间提供负载均衡。在集群 KIE 服务器上运行的决策服务和红帽构建的 OptaPlanner 服务必须无状态,因为来自同一客户端的请求可能由不同的实例处理。
您还可以部署几个独立的 KIE 服务器来运行不同的服务。在这种情况下,服务器使用不同的服务器 ID 值连接到 Business Central Controller。您可以使用 Business Central UI 将服务部署到每台服务器。
智能路由器
可选的智能路由器组件在客户端应用程序和 KIE 服务器之间提供层。如果您使用多个独立的 KIE 服务器,这很有用。
客户端应用程序可以使用在不同 KIE 服务器上运行的服务,但始终连接到智能路由器。智能路由器会自动将请求传递给运行所需服务的 KIE 服务器。智能路由器还启用对服务版本的管理,并提供额外的负载平衡层。
高可用性编写环境
在高可用性(HA)编写环境中,Emer Central 容器集已扩展,因此运行了几个 Business Central 实例。Red Hat OpenShift Container Platform 为用户请求提供负载均衡。此环境为多个用户提供最佳性能,并支持故障转移。
Business Central 的每个实例都包含构建的工件的 Maven 存储库,并使用 .niogit
Git 存储库进行源代码。实例将共享持久性存储用于存储库。此存储需要具有 ReadWriteMany
访问权限的持久性卷。
Red Hat DataGrid 实例提供在 Business Central 中开发的所有项目和资产的索引。
Red Hat AMQ 实例在所有 Business Central 实例之间传播 Java CDI 消息。例如,当创建新项目时,或者在其中一个实例上锁定或修改资产时,此信息会立即反映在所有其他实例中。
控制器策略不适用于集群部署。在 OpenShift 部署中,高可用性的 Business Central 必须使用 OpenShift 启动策略 来管理 KIE 服务器。
每个 KIE 服务器部署(可以扩展)创建一个反映其当前状态的 ConfigMap。Business Central 通过读取其 ConfigMap 来发现所有 KIE 服务器。
当用户请求 KIE 服务器配置中的更改时(例如,部署或取消部署服务),Business Central 会启动与 KIE 服务器的连接并发送 REST API 请求。KIE 服务器会更改 ConfigMap 以反应新的配置状态,然后触发自己的重新部署,以便重新部署所有实例并反映新配置。
您可以在 OpenShift 环境中部署几个独立的 KIE 服务器。每个 KIE 服务器都有单独的 ConfigMap,以及必要的配置。您可以单独扩展每个 KIE 服务器。
您可以在 OpenShift 部署中包含智能路由器。
图 1.2. 高可用性编写环境的架构图
第 2 章 准备在 OpenShift 环境中部署 Red Hat Process Automation Manager
在 OpenShift 环境中部署 Red Hat Process Automation Manager 前,您必须完成几个流程。如果要部署其他镜像,例如,对于新版本的进程或其他进程,则不需要重复这些步骤。
如果您要部署试用环境,请完成 第 2.1 节 “确保您的环境已向红帽 registry 进行身份验证” 中描述的步骤,且不完成任何其他准备步骤。
2.1. 确保您的环境已向红帽 registry 进行身份验证
要部署 Red Hat OpenShift Container Platform 的 Red Hat Process Automation Manager 组件,您必须确保 OpenShift 可以从 Red Hat registry 下载正确的镜像。
OpenShift 必须配置为使用您的服务帐户用户名和密码与红帽 registry 进行身份验证。此配置特定于命名空间,如果 Operator 正常工作,则代表 openshift
命名空间已经完成配置。
但是,如果 openshift
命名空间中找不到 Red Hat Process Automation Manager 的镜像流,或者配置了 Operator 来自动将 Red Hat Process Automation Manager 更新至新版本,Operator 需要将镜像下载到项目的命名空间中。您必须为此命名空间完成身份验证配置。
流程
-
确保您已使用
oc
命令登录 OpenShift,并且您的项目处于活动状态。 - 完成 共享环境的 Registry 服务帐户 中记录的步骤。您必须登录到红帽客户门户网站来访问文档,并完成创建 registry 服务帐户的步骤。
- 选择 OpenShift Secret 选项卡,再点 Download secret 下的链接下载 YAML secret 文件。
-
查看下载的文件并记录
name:
条目中列出的名称。 运行以下命令:
oc create -f <file_name>.yaml oc secrets link default <secret_name> --for=pull oc secrets link builder <secret_name> --for=pull
将
<file_name
> 替换为下载的文件名,<secret_name
> 替换为文件的name:
条目中列出的名称。
2.2. 为 KIE 服务器创建 secret
OpenShift 使用名为 secret 的对象 来保存敏感信息,如密码或密钥存储。如需有关 OpenShift secret 的更多信息,请参阅 Red Hat OpenShift Container Platform 文档中的 secret。
为了提供 HTTPS 访问,KIE 服务器使用 SSL 证书。部署可以自动创建示例 secret。但是,在生产环境中,您必须为 KIE 服务器创建一个 SSL 证书,并将其作为 secret 提供给 OpenShift 环境。
流程
使用 KIE 服务器的 SSL 加密生成名为
keystore.jks
的 SSL 密钥存储。有关如何创建带有自签名或购买的 SSL 证书的密钥存储的更多信息,请参阅 生成 SSL 加密密钥和证书。注意在生产环境中,生成有效的签名证书,与 KIE 服务器的预期 URL 匹配。
-
记录证书的名称。此名称的默认值在 Red Hat Process Automation Manager 配置中是
jboss
。 -
记录密钥存储文件的密码。此名称的默认值在 Red Hat Process Automation Manager 配置中是
mykeystorepass
。 使用
oc
命令从新的密钥存储文件中生成名为kieserver-app-secret
的 secret:$ oc create secret generic kieserver-app-secret --from-file=keystore.jks
2.3. 为 Business Central 创建 secret
为了提供 HTTPS 访问,Business Central 使用 SSL 证书。部署可以自动创建示例 secret。但是,在生产环境中,您必须为 Business Central 创建 SSL 证书,并将其作为机密提供给 OpenShift 环境。
不要将相同的证书和密钥用于 Business Central 和 KIE 服务器。
流程
生成名为
keystore.jks
的 SSL 密钥存储,其中包含用于 Business Central 的 SSL 加密的私钥和公钥。有关如何创建带有自签名或购买的 SSL 证书的密钥存储的更多信息,请参阅 生成 SSL 加密密钥和证书。注意在生产环境中,生成有效的签名证书,与 Business Central 的预期 URL 匹配。
-
记录证书的名称。此名称的默认值在 Red Hat Process Automation Manager 配置中是
jboss
。 -
记录密钥存储文件的密码。此名称的默认值在 Red Hat Process Automation Manager 配置中是
mykeystorepass
。 使用
oc
命令从新的密钥存储文件中生成名为businesscentral-app-secret
的 secret:$ oc create secret generic businesscentral-app-secret --from-file=keystore.jks
2.4. 为 AMQ 代理连接创建 secret
如果要将任何 KIE 服务器连接到 AMQ 代理,并将 SSL 用于 AMQ 代理连接,您必须为连接创建一个 SSL 证书,并将其提供给 OpenShift 环境作为 secret。
流程
使用 AMQ 代理连接的 SSL 加密生成名为
keystore.jks
的 SSL 密钥存储。有关如何创建带有自签名或购买的 SSL 证书的密钥存储的更多信息,请参阅 生成 SSL 加密密钥和证书。注意在生产环境中,生成有效的签名证书,与 AMQ 代理连接的预期 URL 匹配。
-
记录证书的名称。此名称的默认值在 Red Hat Process Automation Manager 配置中是
jboss
。 -
记录密钥存储文件的密码。此名称的默认值在 Red Hat Process Automation Manager 配置中是
mykeystorepass
。 使用
oc
命令从新的密钥存储文件中生成名为broker-app-secret
的 secret:$ oc create secret generic broker-app-secret --from-file=keystore.jks
2.5. 为智能路由器创建 secret
为了提供 HTTPS 访问,智能路由器使用 SSL 证书。部署可以自动创建示例 secret。但是,在生产环境中,您必须为智能路由器创建一个 SSL 证书,并将其作为机密提供给 OpenShift 环境。
不要将与 KIE 服务器或 Business Central 所使用的智能路由器使用相同的证书和密钥。
流程
生成名为
keystore.jks
的 SSL 密钥存储,其中包含用于智能路由器的 SSL 加密的私钥和公钥。有关如何创建带有自签名或购买的 SSL 证书的密钥存储的更多信息,请参阅 生成 SSL 加密密钥和证书。注意在生产环境中,生成有效的签名证书,与智能路由器的预期 URL 匹配。
-
记录证书的名称。此名称的默认值在 Red Hat Process Automation Manager 配置中是
jboss
。 -
记录密钥存储文件的密码。此名称的默认值在 Red Hat Process Automation Manager 配置中是
mykeystorepass
。 使用
oc
命令从新的密钥存储文件中生成名为smartrouter-app-secret
的 secret:$ oc create secret generic smartrouter-app-secret --from-file=keystore.jks
2.6. 为外部数据库构建自定义 KIE 服务器扩展镜像
如果要将外部数据库服务器用于 KIE 服务器,并且数据库服务器不是 MySQL 或 PostgreSQL 服务器,您必须在部署环境前构建带有此服务器的驱动程序的自定义 KIE 服务器扩展镜像。
完成此构建过程中的步骤,为以下任何数据库服务器提供驱动程序:
- Microsoft SQL Server
- IBM DB2
- Oracle 数据库
- 法国
另外,您可以使用此流程为以下任何数据库服务器构建新版本的驱动程序:
- MySQL
- MariaDB
- PostgreSQL
有关数据库服务器支持的版本,请参阅 Red Hat Process Automation Manager 7 支持的配置。
构建过程会创建一个自定义扩展镜像,它扩展了现有 KIE Server 镜像。您必须将此自定义扩展镜像导入到 OpenShift 环境中,然后在 EXTENSIONS_IMAGE
参数中引用它。
先决条件
-
您可以使用
oc
命令登录到 OpenShift 环境。您的 OpenShift 用户必须具有registry-editor
角色。 - 对于 Oracle 数据库、IBM DB2 或 slirp,您可以从数据库服务器供应商下载 JDBC 驱动程序。
已安装以下所需的软件:
流程
- 对于 IBM DB2、Oracle Database 或 192.168.1.0/24,在本地目录中提供 JDBC 驱动程序 JAR 文件。
-
从红帽客户门户的 软件下载 页面下载
rhpam-7.11.0-openshift-templates.zip
产品。 -
解压文件,使用命令行更改到解压缩文件的
templates/contrib/jdbc/cekit
目录。此目录包含自定义构建的源代码。 根据数据库服务器类型输入以下命令来输入以下任一命令:
对于 Microsoft SQL Server:
make mssql
For MySQL:
make mysql
对于 PostgreSQL:
make postgresql
对于 MariaDB:
make mariadb
对于 IBM DB2:
make db2 artifact=/tmp/db2jcc4.jar version=10.2
在此命令中,将
/tmp/db2jcc4.jar
替换为 IBM DB2 驱动程序的路径名称,将10.2
替换为驱动程序的版本。对于 Oracle 数据库:
make oracle artifact=/tmp/ojdbc7.jar version=7.0
在此命令中,将
/tmp/ojdbc7.jar
替换为 Oracle Database 驱动程序的路径名,将7.0
替换为驱动程序的版本。对于 过程:
make build sybase artifact=/tmp/jconn4-16.0_PL05.jar version=16.0_PL05
在此命令中,将
/tmp/jconn4-16.0_PL05.jar
替换为下载的 IaaS 驱动程序的路径名称,将16.0_PL05
替换为驱动程序的版本。或者,如果您需要为 sVirt 驱动程序更新驱动程序类或驱动程序 XA 类,您可以为这个命令设置
DRIVER_CLASS
或DRIVER_XA_CLASS
变量,例如:export DRIVER_CLASS=another.class.Sybase && make sybase artifact=/tmp/jconn4-16.0_PL05.jar version=16.0_PL05
输入以下命令列出本地可用的 Docker 镜像:
docker images
请注意构建的镜像的名称,如
jboss-kie-db2-extension-openshift-image
,以及镜像的 version 标签,如11.1.4.4
(而不是latest
标签)。-
直接访问 OpenShift 环境的 registry,并将镜像推送到 registry。根据您的用户权限,您可将镜像推送到
openshift
命名空间或项目命名空间中。有关访问 registry 和推送镜像的说明,请参阅 Red Hat OpenShift Container Platform 产品文档中的 直接从集群访问 registry。
2.7. 准备 Git hook
在编写环境中,您可以在 Business Central 中项目的源代码改变时,使用 Git hook 执行自定义操作。Git hook 的典型用途是与上游存储库交互。
要启用 Git hook 使用 SSH 身份验证与上游存储库交互,还必须提供一个 secret 密钥和一个已知主机文件来与存储库进行身份验证。
如果您不想配置 Git hook,请跳过这个过程。
流程
创建 Git hook 文件。具体步骤请查看 Git hook 参考文档。
注意Business Central 不支持
pre-commit
脚本。使用提交后
脚本。使用文件创建配置映射(ConfigMap)或持久性卷。
如果 Git hook 由一个或多个固定的脚本文件组成,请使用
oc
命令创建配置映射。例如:oc create configmap git-hooks --from-file=post-commit=post-commit
如果 Git hook 由长文件或依赖二进制文件(如可执行文件或 JAR 文件)组成,请使用持久性卷。您必须创建一个持久性卷,创建一个持久性卷声明,并将卷与声明相关联,并将文件传送到卷。
有关持久性卷和持久性卷声明的说明,请参阅 Red Hat OpenShift Container Platform 文档中的 存储。有关将文件复制到持久性卷的说明,请参阅 从容器中传输文件和移出 文件。
如果 Git hook 脚本必须使用 SSH 身份验证与上游存储库交互,请使用必要的文件准备 secret:
-
使用与存储库中存储的公钥匹配的私钥准备
id_rsa
文件。 -
使用存储库的正确名称、地址和公钥准备
known_hosts
文件。 使用
oc
命令创建带有两个文件的 secret,例如:oc create secret git-hooks-secret --from-file=id_rsa=id_rsa --from-file=known_hosts=known_hosts
注意当部署使用此 secret 时,它会将
id_rsa
和known_hosts
文件挂载到 Business Central Pod 上的/home/jboss/.ssh
目录中。
-
使用与存储库中存储的公钥匹配的私钥准备
2.8. 使用 NFS 使用 ReadWriteMany
访问模式置备持久性卷
如果要部署 Business Central Monitoring 或高可用性 Business Central,您的环境必须使用 ReadWriteMany
访问模式置备持久性卷。
如果您的配置需要置备 ReadWriteMany
访问模式的持久性卷,但您的环境不支持这样的置备,请使用 NFS 来置备卷。否则,请跳过这个过程。
流程
部署 NFS 服务器并使用 NFS 置备持久性卷。有关使用 NFS 置备持久性卷的详情,请参考 OpenShift Container Platform Storage 指南中的"使用 NFS 持久性存储"部分。
2.9. 从 Business Central 提取源代码,以便在 S2I 构建中使用
如果您计划使用 Source-to-image (S2I)过程创建不可变 KIE 服务器,则必须在 Git 存储库中提供您的服务的源代码。如果您使用 Business Central 编写服务,您可以提取服务的源代码并将其放在单独的 Git 存储库中,如 GitHub 或 GitLab 的内部安装,以便在 S2I 构建中使用。
如果您不打算使用 S2I 进程,或者您没有使用 Business Central 编写服务,请跳过这个过程。
流程
使用以下命令提取源代码:
git clone https://<business-central-host>:443/git/<MySpace>/<MyProject>
在这个命令中,替换以下变量:
-
<business-central-host
> 带有运行 Business Central 的主机 -
<
myspace>,项目所在的 Business Central 空间的名称 -
<myproject
> 带有项目名称
注意要查看 Business Central 中项目的完整 Git URL,请点击 Menu → Design → < MyProject> → Settings。
注意如果您将自签名证书用于 HTTPS 通信,命令可能会失败,并显示
SSL 证书问题
错误消息。在这种情况下,在git
中禁用 SSL 证书验证,例如使用GIT_SSL_NO_VERIFY
环境变量:env GIT_SSL_NO_VERIFY=true git clone https://<business-central-host>:443/git/<MySpace>/<MyProject>
-
- 将源代码上传到 S2I 构建的另一个 Git 存储库,如 GitHub 或 GitLab。
2.10. 准备在受限网络中部署
您可以在没有连接到公共互联网的受限网络中的部署 Red Hat Process Automation Manager。有关在受限网络中部署 Operator 的说明,请参阅 Red Hat OpenShift Container Platform 文档中的在受限网络中使用 Operator Lifecycle Manager。
在 Red Hat Process Automation Manager 7.11 中,在受限网络中部署仅适用于技术预览。有关红帽 技术预览功能的更多信息,请参阅技术预览功能支持范围。
要使用无法传出访问公共互联网的部署,还必须准备一个 Maven 存储库,其中包含所有必要的工件的镜像。有关创建此软件仓库的步骤,请参考 第 2.11 节 “准备 Maven 镜像存储库以供离线使用”。
2.11. 准备 Maven 镜像存储库以供离线使用
如果您的 Red Hat OpenShift Container Platform 环境无法传出访问公共互联网,您必须准备一个 Maven 存储库,其中包含所有必要的工件的镜像,并将此存储库提供给您的环境。
如果您的 Red Hat OpenShift Container Platform 环境连接到互联网,则不需要完成此流程。
先决条件
- 具有一个可以传出访问公共互联网的计算机。
流程
配置具有写入访问权限的 Maven 发行版本存储库。存储库必须在不进行身份验证的情况下允许读取访问权限,而且您的 OpenShift 环境必须具有对此存储库的网络访问。
您可以在 OpenShift 环境中部署 Nexus 存储库管理器。有关在 OpenShift 中设置 Nexus 的说明,请参阅 Red Hat OpenShift Container Platform 3.11 文档中的 设置 Nexus。所记录的步骤适用于 Red Hat OpenShift Container Platform 4。
使用此存储库作为镜像来托管公开的 Maven 工件。您还可以在此存储库中提供自己的服务,以便在不可变服务器上部署这些服务,或使用 Business Central 监控将其部署到受管服务器上。
- 在与公共互联网传出连接的计算机上完成以下步骤:
导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:
- 产品 : Red Hat Process Automation Manager
Version: 7.11
-
下载并提取 Red Hat Process Automation Manager 7.11.0 Offliner 内容列表(
rhpam-7.11.0-offliner.zip
)产品可交付文件。 -
将
rhpam-7.11.0-offliner.zip
文件的内容提取到任何目录中。 进入该目录并输入以下命令:
./offline-repo-builder.sh offliner.txt
此命令创建
存储库
子目录,并将必要的工件下载到此子目录中。这是镜像存储库。如果消息报告某些下载失败,请再次运行相同的命令。如果下载再次失败,请联系红帽支持。
-
将存储库子目录中的所有工件上传到您准备的 Maven 镜像存储库。
您可以使用 Maven 存储库工具 Git 存储库提供的 Maven Repository Provisioner 实用程序上传工件。
-
下载并提取 Red Hat Process Automation Manager 7.11.0 Offliner 内容列表(
如果您在 Business Central 外部开发了服务,并且它们还有额外的依赖项,请将依赖项添加到镜像存储库中。如果您以 Maven 项目的形式开发了服务,您可以使用以下步骤自动准备这些依赖项。完成具有到公共互联网传出连接的计算机上的步骤。
-
创建本地 Maven 缓存目录的备份(
~/.m2/repository
),然后清除该目录。 -
使用
mvn clean install
命令构建项目源。 对于每个项目,输入以下命令来确保 Maven 下载项目生成的所有工件的所有运行时依赖项:
mvn -e -DskipTests dependency:go-offline -f /path/to/project/pom.xml --batch-mode -Djava.net.preferIPv4Stack=true
将
/path/to/project/pom.xml
替换为项目的pom.xml
文件的路径。-
将本地 Maven 缓存目录(
~/.m2/repository
)中的所有工件上传到您准备的 Maven 镜像存储库。您可以使用 Maven 存储库工具 Git 存储库提供的 Maven Repository Provisioner 实用程序上传工件。
-
创建本地 Maven 缓存目录的备份(
第 3 章 使用 OpenShift operator 部署和管理 Red Hat Process Automation Manager 环境
为了部署 Red Hat Process Automation Manager 环境,OpenShift operator 使用描述环境的 YAML 源。Red Hat Process Automation Manager 提供了一个安装程序,您可以使用它来组成 YAML 源并部署环境。
当 Business Automation Operator 部署环境时,它会创建一个环境的 YAML 描述,然后确保环境始终与描述一致。您可以编辑描述来修改环境。
您可以通过在 Red Hat OpenShift Container Platform 中删除 Operator 应用程序来删除环境。
当您使用高可用性 Business Central 删除环境时,Operator 不会删除作为 JBoss Datagrid 和 JBoss AMQ StatefulSet 创建一部分创建的持久性卷声明。这个行为是 Kubernetes 设计的一部分,因为删除持久性卷声明可能会导致数据丢失。有关在删除 StatefulSet 的过程中处理持久性卷的更多信息,请参阅 Kubernetes 文档。
如果您使用同一命名空间和同一应用程序名称创建新环境,则环境会重复使用持久性卷以提高性能。
为确保新部署不使用任何旧数据,您可以手动删除持久性卷声明。
3.1. 订阅 Business Automation operator
为了可以使用操作器部署 Red Hat Process Automation Manager,您必须在 OpenShift 中订阅 Business Automation Operator。
流程
- 在 OpenShift Web 集群控制台中输入您的项目。
- 在 OpenShift Web 控制台导航面板中,选择 Catalog → OperatorHub 或 Operators → OperatorHub。
- 搜索 Business Automation,选择它并点 Install。
在 Create Operator Subscription 页面中,选择目标命名空间和批准策略。
可选:将 Approval Strategy 设置为
Automatic
以启用自动 Operator 更新。Operator 更新不会立即更新产品,但在更新产品前是必需的。使用每个特定产品部署中的设置来配置自动或手动产品更新。- 点 Subscribe 创建订阅。
3.2. 使用 Operator 部署 Red Hat Process Automation Manager 环境
订阅 Business Automation Operator 后,您可以使用安装程序向导配置和部署 Red Hat Process Automation Manager 环境。
在 Red Hat Process Automation Manager 7.11 中,Operator 安装程序向导仅用于技术预览。有关红帽 技术预览功能的更多信息,请参阅技术预览功能支持范围。
3.2.1. 使用 Business Automation Operator 开始部署 Red Hat Process Automation Manager 环境
要开始使用 Business Automation operator 部署 Red Hat Process Automation Manager 环境,请访问安装程序向导。当订阅 Operator 时,安装程序向导会被部署。
先决条件
- 订阅了 Business Automation operator。有关订阅 Operator 的步骤,请参阅 第 3.1 节 “订阅 Business Automation operator”。
流程
- 在 Red Hat OpenShift Container Platform Web 集群控制台菜单中,选择 Catalog → Installed operators 或 Operators → Installed operators。
-
点包含 Business
automation
的 Operator 名称。此时会显示有关此 Operator 的信息。 - 点位于窗口右侧的 安装程序 链接。
- 若有提示,请使用您的 OpenShift 凭据登录。
结果
此时会显示向导的 Installation 标签页。
3.2.2. 设置环境的基本配置
在开始使用 Business Automation operator 部署 Red Hat Process Automation Manager 环境后,您必须选择环境的类型并设置其他基本配置。
先决条件
- 开始使用 Business Automation operator 部署 Red Hat Process Automation Manager 环境,并根据 第 3.2.1 节 “使用 Business Automation Operator 开始部署 Red Hat Process Automation Manager 环境” 中的说明访问安装程序向导。
流程
- 在 Application Name 字段中输入 OpenShift 应用的名称。此名称用于所有组件的默认 URL。
在 Environment 列表中,选择环境类型。这个类型决定了默认配置;您可以根据需要修改此配置。以下类型可用于 Red Hat Process Automation Manager:
-
RHPAM-trial
:一个试用环境,您可以快速设置并用来评估或演示开发和运行资产。包括 Business Central 和 KIE 服务器。此环境不使用任何持久性存储,您环境中做的任何工作都不会保存。 -
RHPAM-authoring
:一种使用 Business Central 创建和修改服务的环境。它由为编写工作提供 Business Central 的 pod 组成,以及用于测试服务的执行的 KIE 服务器。 rhpam-authoring-ha
:一种使用 Business Central 创建和修改服务的环境。它由为编写工作提供 Business Central 的 pod 组成,以及用于测试服务的执行的 KIE 服务器。此编写环境版本支持扩展 Business Central pod,以确保高可用性。重要在 Red Hat Process Automation Manager 7.11 中,使用 Operator 的高可用性 Business Central 功能部署仅用于技术预览。有关红帽 技术预览功能的更多信息,请参阅技术预览功能支持范围。对于完全支持的高可用性部署,请在 Red Hat OpenShift Container Platform 版本 3.11 上使用高可用性编写模板。有关部署此模板的步骤,请参考 第 II 部分 “使用模板在 Red Hat OpenShift Container Platform 3 上部署 Red Hat Process Automation Manager 环境”。
-
rhpam-production
:一个用于运行现有服务用于暂存和生产目的的环境。此环境包括 Business Central Monitoring、智能路由器和两个 KIE Server pod 组。您可以在每个此类组上部署和取消部署服务,并根据需要扩展或缩减组。使用 Business Central Monitoring 部署、运行和停止服务并监控它们的执行。 rhpam-production-immutable
:一个用于运行用于暂存和生产目的的现有服务的一个备用环境。您可以配置从源构建服务的一个或多个 KIE Server pod,或者从 Maven 存储库拉取服务。然后,您可以根据需要复制每个 pod。您无法从 pod 中删除任何服务,或将任何新服务添加到 pod。如果要使用另一个版本的服务,或者以任何其他方式修改配置,请部署新的服务器镜像来替换旧服务器镜像。您可以使用任何基于容器的集成工作流来管理 pod。
在配置此环境时,必须在 KIE Servers 选项卡中,您必须自定义 KIE 服务器,然后单击 Set immutable server configuration 按钮,或者设置
KIE_SERVER_CONTAINER_DEPLOYMENT
环境变量。有关配置 KIE 服务器的步骤,请参考 第 3.2.5 节 “设置环境的自定义 KIE 服务器配置”。另外,您还可以使用 Console 选项卡在此环境中包括 Business Central Monitoring 来监控、停止和重启进程服务的执行。有关配置 Business Central Monitoring 的说明,请参考 第 3.2.4 节 “设置环境的 Business Central 配置”。
-
如果要启用自动升级到新版本,请选择 Enable Upgrades 复选框。如果选择了此框,当有新的 Red Hat Process Automation Manager 7.11 补丁版本可用时,Operator 会自动将部署升级到这个版本。所有服务都会保留,并通常会在升级过程中保留。
如果您要在新的 Red Hat Process Automation Manager 7.x 次要版本可用时启用相同的自动升级过程,请选择 Include minor version upgrade 复选框。
注意如果要将自定义镜像用于 Red Hat Process Automation Manager 的任何组件,请禁用自动更新。
- 可选: 如果要使用镜像标签下载镜像,请选择 Use Image Tags 复选框。如果您使用自定义 registry,或者红帽支持指示,则此设置很有用。
- 可选: 如果要使用 OpenShift CA 捆绑包作为 HTTPS 通信的信任存储,请选择 Use OpenShift CA Bundle 复选框。
如果要使用自定义镜像 registry,在 Custom registry 下,在 Image registry 字段中输入 registry 的 URL。如果此 registry 没有正确签名且可识别的 SSL 证书,请选择 Insecure 复选框。
注意要使用自定义 registry 中的特定镜像,请在 Console 和 KIE Server 选项卡中设置镜像上下文、名称和标签。
在 Admin user 下,在 Username 和 Password 字段中输入 Red Hat Process Automation Manager 管理用户的用户名和密码。
重要如果使用 RH-SSO 或 LDAP 身份验证,则必须在身份验证系统中为 Red Hat Process Automation Manager 使用
kie-server,rest-all,admin
角色配置相同的用户。
后续步骤
如果要使用默认配置部署环境,点 Finish,然后点 Deploy 以部署环境。否则,继续设置其他配置参数。
3.2.3. 设置环境的安全配置
使用 Business Automation operator 设置 Red Hat Process Automation Manager 环境的基本配置后,您可以选择为环境配置身份验证(安全)设置。
先决条件
- 根据 第 3.2.2 节 “设置环境的基本配置” 中的说明,使用安装程序向导中的 Business Automation operator 完成 Red Hat Process Automation Manager 环境的基本配置。
-
如果要使用 RH-SSO 或 LDAP 进行身份验证,您可以在身份验证系统中创建具有正确角色的用户。您必须创建一个管理用户(例如,
adminUser
),其中有kie-server,rest-all,admin
角色。此用户必须具有您在 Installation 标签页中配置的用户名和密码。 - 如果要使用 RH-SSO 身份验证,您可以为环境的所有组件在 RH-SSO 系统中创建客户端,并指定正确的 URL。此操作可确保最大控制。或者,部署也可以创建客户端。
流程
- 如果打开 Installation 选项卡,点 Next 查看 Security 选项卡。
在 Authentication mode 列表中,选择以下模式之一:
-
内部
:您可以在部署环境时配置初始管理用户。用户可以使用 Business Central 根据需要设置其他用户。 -
RH-SSO
:Red Hat Process Automation Manager 使用红帽单点登录进行身份验证。 -
LDAP
:Red Hat Process Automation Manager 使用 LDAP 进行身份验证
-
根据您选择的 Authentication 模式 完成安全配置。
如果选择了
RH-SSO
,请配置 RH-SSO 身份验证:- 在 RH-SSO URL 字段中,输入 RH-SSO URL。
- 在 Realm 字段中,输入 RH-SSO 域名。
- 如果您没有为环境组件创建 RH-SSO 客户端,请在 SSO admin 用户和 SSO admin 密码字段中输入 RH-SSO 系统的管理用户凭据。
- 如果您的 RH-SSO 系统没有正确签名的 SSL 证书,请选择 Disable SSL certificate validation 复选框。
- 如果要更改用于用户名的 RH-SSO 主体属性,在 Principal 属性 字段中输入新属性的名称。
如果选择了
LDAP
,请配置 LDAP 身份验证:- 在 LDAP URL 字段中,输入 LDAP URL。
配置与 Red Hat JBoss EAP 的 LdapExtended Login 模块的设置对应的 LDAP 参数。有关使用这些设置的说明,请参阅 LdapExtended Login Module。
注意如果要启用 LDAP 故障转移,您可以在
AUTH_LDAP_URL
参数中设置两个或多个 LDAP 服务器地址,用空格分隔。
如果选择
RH-SSO
或LDAP
,如果您的 RH-SSO 或 LDAP 系统没有定义部署所需的所有角色,您可以将身份验证系统角色映射到 Red Hat Process Automation Manager 角色。要启用角色映射,您必须在项目命名空间中的 OpenShift 配置映射或机密对象中提供角色映射配置文件。该文件必须包含以下格式的条目:
ldap_role = product_role1, product_role2...
例如:
admins = kie-server,rest-all,admin
要启用此文件,请进行以下更改:
-
在 RoleMapper 下,在 Roles 属性文件 字段中,输入角色映射配置文件的完全限定路径名称,例如
/opt/eap/standalone/configuration/rolemapping/rolemapping.properties
。 - 如果要将身份验证系统中定义的角色替换为您在映射文件中定义的角色,请选择 replace roles 复选框。否则,RH-SSO 或 LDAP 中定义的角色以及配置文件中定义的角色都可用。
-
在 RoleMapper Configuration object 下的字段中,选择提供文件(
ConfigMap
或Secret
)的对象的 Kind,并输入对象的 Name。此对象自动挂载在 Business Central 上,以及您为角色映射配置文件指定的路径中的 KIE Server pod。
-
在 RoleMapper 下,在 Roles 属性文件 字段中,输入角色映射配置文件的完全限定路径名称,例如
如果需要,配置其他密码:
- AMQ 密码和 AMQ 集群密码是 使用 JMS API 与 ActiveMQ 交互的密码。
- keystore password 是 secret 中用于 HTTPS 通信的密钥存储文件的密码。如果您根据 第 2.2 节 “为 KIE 服务器创建 secret” 或 第 2.3 节 “为 Business Central 创建 secret” 中的说明创建 secret,则设置此密码。
- 数据库密码 是作为环境一部分的数据库服务器 pod 的密码。
后续步骤
如果要使用所有组件的默认配置部署环境,请点 Finish,然后单击 Deploy 以部署环境。否则,继续为 Business Central、KIE 服务器和智能路由器设置配置参数。
3.2.4. 设置环境的 Business Central 配置
在使用 Business Automation Operator 设置 Red Hat Process Automation Manager 环境的基本和安全配置后,您可以选择为环境的 Business Central 或 Business Central Monitoring 组件配置设置。
除 rhpam-production-immutable
外的所有环境类型都包括此组件。
默认情况下,PAM -production-immutable
环境不包括 Business Central Monitoring。要在此环境中包括 Business Central Monitoring,您必须在 Replicas 字段中设置 Business Central Monitoring pod 的副本数,或者对 Business Central 配置字段进行任何其他更改。
先决条件
- 根据 第 3.2.2 节 “设置环境的基本配置” 中的说明,使用安装程序向导中的 Business Automation operator 完成 Red Hat Process Automation Manager 环境的基本配置。
- 如果要使用 RH-SSO 或 LDAP 进行身份验证,请按照 第 3.2.3 节 “设置环境的安全配置” 中的说明完成安全配置。
流程
- 如果打开了 Installation 或 Security 选项卡,点 Next,直到您看到 Console 选项卡。
- 如果您根据 第 2.3 节 “为 Business Central 创建 secret” 中的说明为 Business Central 创建 secret,请在 Keystore secret 字段中输入 secret 名称。
可选:如果要将自定义镜像用于 Business Central 部署,请完成以下步骤:
- 在 Installation 选项卡中设置自定义 registry。如果您没有设置自定义 registry,安装使用默认的 Red Hat registry。有关设置自定义 registry 值的更多信息,请参阅 第 3.2.2 节 “设置环境的基本配置”。
在 Console 选项卡中,设置以下字段:
- 镜像上下文 :registry 中镜像的上下文。
- Image :镜像的名称。
镜像标签 :镜像标签。如果没有设置此字段,安装将使用
latest
标签。例如,如果镜像的完整地址为
registry.example.com/mycontext/mycentral:1.0-SNAPSHOT
,将自定义 registry 设置为registry.example.com
,Image context 字段设为mycontext
,Image 字段为mycentral
,Image tag 字段为1.0-SPSHOT
。
可选:配置 Git hook。
在编写环境中,您可以使用 Git hook 来促进 Business Central 的内部 Git 存储库和外部 Git 存储库之间的交互。如果要使用 Git hook,您必须在项目命名空间中的 OpenShift 配置映射、secret 或持久性卷声明对象中准备 Git hook 目录。您还可以使用 SSH 密钥和已知主机文件准备 secret,以进行 Git SSH 身份验证。有关准备 Git hook 的说明,请参阅 第 2.7 节 “准备 Git hook”。
要使用 Git hook 目录,请进行以下更改:
-
在 GitHooks 下,在 Mount path 字段中,为目录输入一个完全限定路径,例如
/opt/kie/data/git/hooks
。 -
在 GitHooks Configuration 对象下的字段 中,选择提供文件(
ConfigMap
、Secret
或PersistentVolumeClaim
)的对象的 Kind,并输入对象的 Name。此对象自动挂载与您为 Git hook 目录指定的路径的 Business Central pod 上。 - 可选:在 SSH secret 字段中,使用 SSH 密钥和已知主机文件输入 secret 名称。
-
在 GitHooks 下,在 Mount path 字段中,为目录输入一个完全限定路径,例如
-
可选:在 Replicas 字段中输入 Business Central 或 Business Central 监控的副本数。不要在
rhpam-authoring
环境中更改这个数字。 -
可选: 要在 Console 组件 页面中设置 Business Central 持久性卷大小
pvSize
,在 Persistent Volume Size 字段中输入所需的大小。Business Central 的默认大小为 1Gi,Business Central Monitoring 的默认大小为 1Gi。 - 可选:在 资源配额 下的字段中输入请求和最大 CPU 和内存限值。
- 如果要在 Business Central pod 上自定义 Java 虚拟机的配置,请选择 Enable JVM 配置 框,然后在 Enable JVM configuration 下的任何字段中输入信息。所有字段都是可选的。有关您可以配置的 JVM 参数,请参阅 第 3.4 节 “JVM 配置参数”。
如果您选择了 RH-SSO 身份验证,请为 Business Central 配置 RH-SSO:
- 在 Client name 字段中输入客户端名称,并在 Client secret 字段中输入客户端 secret。如果具有此名称的客户端不存在,部署会尝试使用此名称和 secret 创建新客户端。
- 如果部署是创建新客户端,请输入 HTTP 和 HTTPS URL,该 URL 将用于访问 KIE 服务器到 SSO HTTP URL 和 SSO HTTPS URL 字段。此信息记录在客户端中。
可选: 根据您的需要,设置环境变量。若要设置环境变量,请单击 Add new Environment 变量,然后在 Name 和 Value 字段中输入变量名称和值。
在
rhpam-production
或rhpam-production-immutable
环境中,如果您希望 Business Central Monitoring 在不使用文件系统的简化模式下运行,请将ORG_APPFORMER_SIMPLIFIED_MONITORING_ENABLED
设置为true
。在简化的模式中,Business Central Monitoring 不需要持久性卷声明。您可以在不支持
ReadWriteMany
访问持久性存储的环境中使用此模式。您不能在简化的模式中使用 Business Central Monitoring 来设计自定义仪表板。如果要使用外部 Maven 存储库,请设置以下变量:
-
MAVEN_REPO_URL
:Maven 存储库的 URL -
MAVEN_REPO_ID
:Maven 存储库的标识符,如repo-custom
-
MAVEN_REPO_USERNAME
:Maven 存储库的用户名 MAVEN_REPO_PASSWORD
Maven 存储库的密码重要在编写环境中,如果您希望 Business Central 将项目推送到外部 Maven 存储库,则必须在部署过程中配置此存储库,并在每个项目中配置导出到存储库。有关将 Business Central 项目导出到外部 Maven 存储库的详情,请参考 打包和部署 Red Hat Process Automation Manager 项目。
-
如果您的 OpenShift 环境没有与公共互联网的连接,请配置根据 第 2.11 节 “准备 Maven 镜像存储库以供离线使用” 设置的 Maven 镜像的访问权限。设置以下变量:
-
MAVEN_MIRROR_URL
:您在 第 2.11 节 “准备 Maven 镜像存储库以供离线使用” 中设置的 Maven 镜像存储库的 URL。此 URL 必须可从 OpenShift 环境中的容器集访问。 MAVEN_MIRROR_OF
:决定可以从镜像检索哪些工件的值。有关设置mirrorOf
值的说明,请参阅 Apache Maven 文档中的 镜像设置。https://maven.apache.org/guides/mini/guide-mirror-settings.html默认值为external:114
。使用此值时,Maven 从镜像检索每个所需的工件,且不会查询任何其他存储库。如果您配置了外部 Maven 存储库(
MAVEN_REPO_URL
),请将MAVEN_MIRROR_OF
更改为将此存储库中的工件从镜像中排除,例如external:598,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。如果您的编写环境使用内置的 Business Central Maven 存储库,请更改
MAVEN_MIRROR_OF
以将此存储库中的工件从镜像中排除:external:114,!repo-rhpamcentr
。
-
在某些情况下,您可能想要为 Business Central 保留 Maven 存储库缓存。默认情况下,缓存不会被保留,因此当您重启或扩展 Business Central pod 时,会再次下载所有 Maven 工件,并且 Business Central 中的所有项目都必须再次构建。如果您为缓存启用持久性,则不需要下载,并在某些情况下可以改进启动时间。但是,在 Business Central 持久性卷上需要大量的额外空间。
要为 Maven 存储库缓存启用持久性,请将
KIE_PERSIST_MAVEN_REPO
环境变量设置为true
。如果将
KIE_PERSIST_MAVEN_REPO
设置为true
,您可以选择使用KIE_M2_REPO_DIR
变量为缓存设置自定义路径。默认路径为/opt/kie/data/m2
。/opt/kie/data
目录树中的文件会被保留。在某些编写环境中,您可能需要确保多个用户可以同时在同一 KIE 服务器上部署服务。默认情况下,在使用 Business Central 将服务部署到 KIE 服务器后,用户需要等待几秒钟,然后才能部署更多服务。
OpenShiftStartupStrategy
设置默认启用,并导致这个限制。要删除限制,您可以将rhpam-authoring
环境配置为使用 控制器策略。除非需要启用控制器策略,否则不要进行此更改;如果您决定启用控制器策略,请在 Business Central 和同一环境中的所有 KIE 服务器上进行此更改。注意不要在带有高可用性 Business Central 的环境中启用控制器策略。在这种情况下,控制器策略无法正常工作。
要在 Business Central 上启用控制器策略,请将
KIE_SERVER_CONTROLLER_OPENSHIFT_ENABLED
环境变量设置为false
。
后续步骤
如果要使用 KIE 服务器的默认配置(没有智能路由器)部署环境,且没有进程实例迁移,点 Finish,然后单击 Deploy 以部署环境。否则,继续为 KIE 服务器和智能路由器设置配置参数。
3.2.5. 设置环境的自定义 KIE 服务器配置
Business Automation operator 中的每种环境类型都默认包含一个或多个 KIE 服务器。
另外,您可以为 KIE 服务器设置自定义配置。在这种情况下,不会创建默认 KIE 服务器,仅部署您配置的 KIE 服务器。
先决条件
- 根据 第 3.2.2 节 “设置环境的基本配置” 中的说明,使用安装程序向导中的 Business Automation operator 完成 Red Hat Process Automation Manager 环境的基本配置。
- 如果要使用 RH-SSO 或 LDAP 进行身份验证,请按照 第 3.2.3 节 “设置环境的安全配置” 中的说明完成安全配置。
流程
- 如果打开了 Installation、security 或 Console 选项卡,请单击 Next,直到您查看 KIE Servers 选项卡。
- 点 Add new KIE Server 来添加新的 KIE 服务器配置。
- 在 Id 字段中输入 KIE 服务器的标识符。如果 KIE 服务器连接到 Business Central 或 Business Central Monitoring 实例,则此标识符决定了服务器加入的服务器组。
- 在 Name 字段中输入 KIE Server 的名称。
- 在 Deployments 字段中,输入要部署的类似 KIE 服务器数量。安装程序可以使用同样的配置部署多个 KIE 服务器。KIE 服务器的标识符和名称会自动修改并保持唯一。
- 如果您根据 第 2.2 节 “为 KIE 服务器创建 secret” 中的说明为 KIE 服务器创建 secret,请在 Keystore secret 字段中输入 secret 名称。
- 可选:在 Replicas 字段中输入 KIE 服务器部署的副本数。
可选:如果要将自定义镜像用于 KIE 服务器部署,请完成以下一组额外的步骤:
如果要通过在 registry 中指定镜像来使用 Docker 镜像:
- 在 Installation 选项卡中设置自定义 registry。如果您没有设置自定义 registry,安装使用默认的 Red Hat registry。有关设置自定义 registry 值的更多信息,请参阅 第 3.2.2 节 “设置环境的基本配置”。
在 KIE Server 选项卡中,设置以下字段:
- 镜像上下文 :registry 中镜像的上下文。
- Image :镜像的名称。
镜像标签 :镜像标签。如果没有设置此字段,安装将使用
latest
标签。例如,如果镜像的完整地址是
registry.example.com/mycontext/myserver:1.0-SNAPSHOT
,请将自定义 registry 设置为registry.example.com
,Image context 字段为mycontext
,Image 字段为myserver
,Image tag 字段为1.0-SNAPSHOT
。
如果要使用现有 OpenShift 镜像流中的镜像:
- 点 Set KIE Server image。
- 在 Name 字段中输入镜像流标签的名称。
如果镜像流不在
openshift
命名空间中,在 Namespace 字段中输入命名空间。如果 OpenShift 环境中已配置了镜像流标签,安装将使用此标签。如果没有配置标签,安装会创建一个带有默认镜像名称和标签的镜像流标签。
注意不要将 Kind 值更改为
DockerImage
。这个选项无法在 Red Hat Process Automation Manager 7.11.0 中工作。有关创建自定义镜像的步骤,请参考 第 3.5 节 “为 KIE 服务器和智能路由器创建自定义镜像”。
如果要使用 Source 配置不可变 KIE 服务器到 Image (S2I)构建,请完成以下步骤:
重要如果要配置从 Maven 存储库拉取服务的不可变 KIE 服务器,请不要点击 Set Immutable 服务器配置,且不完成这些步骤。相反,设置
KIE_SERVER_CONTAINER_REPLOYMENT
环境变量。- 点 Set Immutable server configuration。
-
在 KIE Server 容器部署字段中,输入部署 必须从 Source to Image (S2I)构建的结果中提取的服务(KJAR 文件)的识别信息。格式为
<containerId>=<groupId>:<artifactId>:<version>
,或如果您要为容器设置一个别名,则为<containerId>(<aliasId>)=<groupId>:<artifactId>:<version>
。您可以使用|
分隔符提供两个或多个 KJAR 文件,如下例所示:containerId=groupId:artifactId:version|c2 (alias2)=g2:a2:v2
。 - 如果您的 OpenShift 环境没有连接到公共互联网,请在 Maven 镜像 URL 字段中输入根据 第 2.11 节 “准备 Maven 镜像存储库以供离线使用” 设置的 Maven 镜像的 URL。
- 在 Artifact directory 字段中,在成功 Maven 构建后输入包含所需二进制文件(KJAR 文件和任何其他必要的文件)的项目中的路径。通常此目录是构建的目标目录。但是,您可以在 Git 存储库中提供此目录中的预构建二进制文件。
-
如果要将自定义基础 KIE 服务器镜像用于 S2I 构建,点 Set Base build image,然后在 Name 字段中输入镜像流的名称。如果镜像流不在
openshift
命名空间中,在 Namespace 字段中输入命名空间。如果要使用 Docker 镜像名称而不是 OpenShift 镜像流标签,请将 Kind 值更改为DockerImage
。 点 Set Git source 并在以下字段中输入信息:
- S2I Git URI :包含服务源的 Git 存储库的 URI。
- 参考 :Git 存储库中的分支。
上下文目录 :(可选)从 Git 存储库下载的项目中的源路径。默认情况下,下载项目的根目录是源目录。
注意如果没有配置 Git 源,则不可变 KIE 服务器不使用 S2I 构建。相反,它会从配置的 Maven 存储库拉取您在 KIE Server container deployment 字段中定义的工件。
- 如果您使用 S2I,并希望设置 Git Webhook,以便 Git 存储库中的更改会导致 KIE 服务器的自动重建,点 Add new Webhook。然后,在 Type 字段中选择 Webhook 类型,然后在 Secret 字段中输入 Webhook 的 secret 字符串。
- 如果要为 S2I 构建设置构建环境变量,请单击 Add new Build Config Environment 变量,然后在 Name 和 Value 字段中输入变量的名称和值。
- 可选:在 资源配额 下的字段中输入请求和最大 CPU 和内存限值。如果要配置多个 KIE 服务器,限制将单独应用于每台服务器。
如果选择了 RH-SSO 身份验证,请为 KIE 服务器配置 RH-SSO:
- 在 Client name 字段中输入客户端名称,并在 Client secret 字段中输入客户端 secret。如果具有此名称的客户端不存在,部署会尝试使用此名称和 secret 创建新客户端。
- 如果部署是创建新客户端,请输入 HTTP 和 HTTPS URL,该 URL 将用于访问 KIE 服务器到 SSO HTTP URL 和 SSO HTTPS URL 字段。此信息记录在客户端中。
如果要使用外部 AMQ 消息代理通过 JMS API 与 KIE 服务器交互,请启用 Enable JMS Integration 设置。此时会显示用于配置 JMS 集成的额外字段,您必须根据需要输入值:
- User name, Password: 如果您的环境需要在代理中进行身份验证,标志代理用户的用户名和密码。
- executor :选择此设置来禁用 JMS executor。executor 默认启用。
- executor transacted :选择此设置以在 executor 队列中启用 JMS 事务。
- 启用信号 :选择此设置以通过 JMS 启用信号配置。
- 启用审计 :选择此设置以通过 JMS 启用审计日志记录。
- audit transacted :选择此设置以在审计队列中启用 JMS 事务。
- queue executor,Queue request,Queue response,Queue signal,Queue audit: Custom JNDI name of the queue of the queues.如果设置了任何这些值,还必须设置 AMQ 队列 参数。
- AMQ Queues :AMQ 队列名称,用逗号分开。代理启动时会自动创建这些队列,并可作为 JBoss EAP 服务器中的 JNDI 资源访问。如果使用任何自定义队列名称,则必须在此字段中输入服务器使用的所有队列的名称。
- 启用 SSL 集成 :如果要使用到 AMQ 代理的 SSL 连接,请选择此设置。在这种情况下,还必须提供您在 第 2.4 节 “为 AMQ 代理连接创建 secret” 中创建的 secret 的名称,以及用于 secret 的密钥存储的名称和信任存储的名称和密码。
- 如果要在 KIE Server pod 上自定义 Java 虚拟机的配置,请选择 Enable JVM 配置 框,然后在 Enable JVM configuration 下的任何字段中输入信息。所有字段都是可选的。有关您可以配置的 JVM 参数,请参阅 第 3.4 节 “JVM 配置参数”。
在 Database type 字段中,选择 KIE 服务器必须使用的数据库。可用的值如下:
-
MySQL
:在独立 pod 中创建的 MySQL 服务器。 -
PostgreSQL
:PostgreSQL 服务器,在单独的 pod 中创建。使用这个设置,除非您有特定原因来使用任何其他设置。 -
h2
:不需要单独的 pod 的内置h2
数据库引擎。如果使用此设置,请不要扩展 KIE Server pod。 -
外部
: 外部数据库服务器。
-
如果您选择了除
外部
外的任何数据库,将创建一个持久卷声明来存储数据库。另外,还可为持久性卷设置配置参数:- 在 Size 字段中,输入持久性卷的大小。
- 在 StorageClass name 字段中,为持久性卷输入存储类名称。
可选:如果您选择了
外部数据库
,请配置 KIE 服务器扩展镜像。如果要使用 PostgreSQL、MySQL 或 MariaDB 以外的任何数据库服务器,您必须根据 第 2.6 节 “为外部数据库构建自定义 KIE 服务器扩展镜像” 中的说明提供带有数据库服务器驱动程序的 KIE 服务器扩展镜像。要将 KIE 服务器配置为使用此扩展镜像,请进行以下更改:- 选择 Enable extension 镜像流 框。
-
在 Extension 镜像流标签 字段中,为您创建的镜像输入 ImageStreamTag 定义,如
jboss-kie-db2-extension-openshift-image:11.1.4.4
-
可选:在 Extension 镜像流命名空间 字段中,输入将镜像推送到的命名空间。如果您没有在此字段中输入任何值,Operator 期望镜像位于
openshift
命名空间中。 - 可选: 在 Extension image install directory 字段中,在扩展所在的 extensions 镜像中输入目录。如果您使用 第 2.6 节 “为外部数据库构建自定义 KIE 服务器扩展镜像” 中的步骤构建镜像,请不要为此字段输入任何值。
如果您选择了一个外部数据库服务器,请在其他字段中提供以下信息:
驱动程序 : 根据服务器类型输入数据库服务器驱动程序:
-
mysql
-
postgresql
-
mariadb
-
mssql
-
db2
-
oracle
-
法国
-
dialect :根据服务器类型,输入服务器的 Hibernate dialect。常见设置有:
-
org.hibernate.dialect.MySQL5InnoDBDialect
-
org.hibernate.dialect.MySQL8Dialect
-
org.hibernate.dialect.MariaDB102Dialect
-
org.hibernate.dialect.PostgreSQL95Dialect
-
org.hibernate.dialect.PostgresPlusDialect
(用于 EntrepriseDB Postgres Advanced Server) -
org.hibernate.dialect.SQLServer2012Dialect
(used for MS SQL) -
org.hibernate.dialect.DB2Dialect
-
org.hibernate.dialect.Oracle10gDialect
org.hibernate.dialect.SybaseASE15Dialect
有关支持的 dialects 列表,请参阅 Red Hat JBoss EAP 文档中的 Hibernate 属性中的 Hibernate SQL Dialects 表。
-
- Host :输入外部数据库服务器的主机名。
- 端口 :输入外部数据库服务器的端口号。
JDBC URL :输入外部数据库服务器的 JDBC URL。
注意如果您使用 EntrepriseDB Postgres 数据库服务器,请使用以
jdbc:postgresql://
开头的 URL,而不是jdbc:edb://
。或者,不要设置 URL,并设置主机和端口参数。- NonXA :如果要在非 XA 模式中配置数据源,请选择此框。
- JNDI name :输入应用用于数据源的 JNDI 名称。
- 用户名和密码 :输入外部数据库服务器的用户名和密码。
- 后台验证 :可选,选择此框以启用后台 SQL 验证并输入后台验证间隔。
- 可选:为数据库服务器设置最小和最大连接池大小、有效的连接检查程序类和异常排序类。
如果您使用 MySQL 版本 8 外部数据库服务器,请启用
mysql_native_password
插件并使用它进行身份验证。有关此诊断的说明,请参阅 MySQL 8.0 参考手册 中的 原生可插拔验证。如果您使用红帽提供的 MySQL 版本 8 镜像在 Red Hat OpenShift Container Platform 上启用插件,请将
MYSQL_DEFAULT_AUTHENTICATION_PLUGIN
环境变量设置为mysql_native_password
。如果您在启用
mysql_native_password
插件前在 MySQL 8 服务器上创建了用户,您必须在启用插件后更新mysql-user
表。可选: 根据您的需要,设置环境变量。若要设置环境变量,请单击 Add new Environment 变量,然后在 Name 和 Value 字段中输入变量名称和值。
如果要配置从配置的 Maven 存储库拉取服务的不可变 KIE 服务器,请输入以下设置:
-
设置
KIE_SERVER_CONTAINER_DEPLOYMENT
环境变量。变量必须包含部署必须从 Maven 存储库拉取的服务(KJAR 文件)的识别信息。格式为<containerId>=<groupId>:<artifactId>:<version>
,或如果您要为容器设置一个别名,则为<containerId>(<aliasId>)=<groupId>:<artifactId>:<version>
。您可以使用|
分隔符提供两个或多个 KJAR 文件,如下例所示:containerId=groupId:artifactId:version|c2 (alias2)=g2:a2:v2
。 - 配置外部 Maven 存储库。
-
设置
如果要配置外部 Maven 存储库,请设置以下变量:
-
MAVEN_REPO_URL
:Maven 存储库的 URL -
MAVEN_REPO_ID
:Maven 存储库的标识符,如repo-custom
-
MAVEN_REPO_USERNAME
:Maven 存储库的用户名 -
MAVEN_REPO_PASSWORD
:Maven 存储库的密码
-
如果您的 OpenShift 环境没有与公共互联网的连接,请配置根据 第 2.11 节 “准备 Maven 镜像存储库以供离线使用” 设置的 Maven 镜像的访问权限。设置以下变量:
-
MAVEN_MIRROR_URL
:您在 第 2.11 节 “准备 Maven 镜像存储库以供离线使用” 中设置的 Maven 镜像存储库的 URL。此 URL 必须可从 OpenShift 环境中的容器集访问。如果您将此 KIE 服务器配置为 S2I,您已输入此 URL。 MAVEN_MIRROR_OF
:决定可以从镜像检索哪些工件的值。如果您将此 KIE 服务器配置为 S2I,请不要设置这个值。有关设置mirrorOf
值的说明,请参阅 Apache Maven 文档中的 镜像设置。https://maven.apache.org/guides/mini/guide-mirror-settings.html默认值为external:114
。使用此值时,Maven 从镜像检索每个所需的工件,且不会查询任何其他存储库。如果您配置了外部 Maven 存储库(
MAVEN_REPO_URL
),请将MAVEN_MIRROR_OF
更改为将此存储库中的工件从镜像中排除,例如external:598,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。如果您的编写环境使用内置的 Business Central Maven 存储库,请更改
MAVEN_MIRROR_OF
以将此存储库中的工件从镜像中排除:external:114,!repo-rhpamcentr
。
-
-
如果要将 KIE 服务器部署配置为使用 Prometheus 来收集和存储指标,请将
PROMETHEUS_SERVER_EXT_DISABLED
环境变量设置为false
。有关配置 Prometheus 指标集合的说明,请参阅 管理和监控 KIE 服务器。 -
如果您使用 Red Hat Single Sign-On 身份验证,且应用程序与红帽单点登录的交互需要支持 CORS,请将
SSO_ENABLE_CORS
变量设置为true
。 在某些编写环境中,您可能需要确保多个用户可以同时在同一 KIE 服务器上部署服务。默认情况下,在使用 Business Central 将服务部署到 KIE 服务器后,用户需要等待几秒钟,然后才能部署更多服务。
OpenShiftStartupStrategy
设置默认启用,并导致这个限制。要删除限制,您可以将rhpam-authoring
环境配置为使用 控制器策略。除非需要启用控制器策略,否则不要进行此更改;如果您决定启用控制器策略,请在 Business Central 和同一环境中的所有 KIE 服务器上进行此更改。注意不要在带有高可用性 Business Central 的环境中启用控制器策略。在这种情况下,控制器策略无法正常工作。
要在 KIE 服务器上启用控制器策略,请将
KIE_SERVER_STARTUP_STRATEGY
环境变量设置为ControllerBasedStartupStrategy
,将KIE_SERVER_CONTROLLER_OPENSHIFT_ENABLED
环境变量设置为false
。
后续步骤
要配置额外的 KIE 服务器,请再次点 Add new KIE Server,并为新的服务器配置重复这个过程。
如果要在没有智能路由器且没有进程实例迁移的情况下部署环境,点 Finish,然后点 Deploy 以部署环境。否则,继续为智能路由器设置配置参数。
3.2.6. 为环境设置智能路由器配置
默认情况下,部署的环境不包括智能路由器。您可以将智能路由器添加到环境中。您还可以为智能路由器设置配置选项。
先决条件
- 根据 第 3.2.2 节 “设置环境的基本配置” 中的说明,使用安装程序向导中的 Business Automation operator 完成 Red Hat Process Automation Manager 环境的基本配置。
流程
- 如果打开了 Installation, Security, Console, 或 KIE Servers 标签页,点 Next 直到您看到 Smart Router 标签页。
- 单击 Set Smart Router,将智能路由器添加到环境中并配置智能路由器。
如果您根据 第 3.5.3 节 “使用额外的 JAR 文件创建自定义智能路由器镜像,以实施自定义路由” 中的说明创建了自定义智能路由器镜像,请设置以下值:
-
镜像上下文 :项目名称,如
rhpam-project
Image :自定义镜像名称,如
rhpam-smartrouter-rhel8-custom
如果将自定义标签用于镜像,请将 Image tag 字段设置为此标签。
-
镜像上下文 :项目名称,如
- 如果您根据 第 2.5 节 “为智能路由器创建 secret” 中的说明为智能路由器创建 secret,请在 Secret 字段中输入 secret 名称。
- 可选:在 Replicas 字段中输入 Smart Router 的副本数。
- 可选:在 资源配额 下的字段中输入请求和最大 CPU 和内存限值。
可选:使用环境变量设置日志级别:
- 单击 Add new Environment 变量。
-
在 Name 字段中输入
LOG_LEVEL
。 - 在 Value 字段中,输入 Java 日志级别。有关可用日志级别的列表,请参阅类级别。
可选:根据软件包名称为组件设置不同的日志记录级别:
- 单击 Add new Environment 变量。
-
在 Name 字段中输入
LOG_LEVEL
。 在 Value 字段中,输入它们的软件包和日志级别,如下例所示:
com.example.abc=FINEST,com.example.def=SEVERE,com.example.xyz=FINE
后续步骤
如果要部署流程实例迁移服务,请继续部署该服务。否则,点 Finish,然后点 Deploy 部署环境。
3.2.7. 为环境设置进程实例迁移配置
您可以使用操作器来部署进程实例迁移(PIM)服务。您可以使用 PIM 服务来定义两个不同的进程定义(称为迁移计划)之间的迁移。您可以将迁移计划应用到特定 KIE 服务器中运行的进程实例。
PIM 服务使用数据库服务器进行操作。
先决条件
- 根据 第 3.2.2 节 “设置环境的基本配置” 中的说明,使用安装程序向导中的 Business Automation operator 完成 Red Hat Process Automation Manager 环境的基本配置。
流程
- 如果打开 Installation, Security, Console, KIE Servers, 或 Smart Router tab is 标签页,点 Next 直到您看到 Process Instance Migration 标签页。
- 点 Set Process Instance Migration 将 PIM 添加到环境中并配置 PIM。
在 Database type 字段中,选择 PIM 服务必须使用的数据库。可用的值如下:
-
MySQL
:在独立 pod 中创建的 MySQL 服务器。 -
PostgreSQL
:PostgreSQL 服务器,在单独的 pod 中创建。使用这个设置,除非您有特定原因来使用任何其他设置。 -
h2
:不需要单独的 pod 的内置h2
数据库引擎。
-
可选:为数据库设置持久性卷的配置参数:
- 在 Size 字段中输入持久性卷的大小
- 在 StorageClass name 字段中输入持久性卷的存储类名称
后续步骤
点 Finish,然后点 Deploy 以部署环境。
有关使用 PIM 服务的说明,请参阅 管理和监控 Business Central 中的进程 实例迁移。
3.3. 修改使用 Operator 部署的环境
如果使用操作器部署环境,则无法使用典型的 OpenShift 方法进行修改。例如,如果您删除部署配置或服务,它将使用相同的参数自动创建。
要修改环境,您必须修改环境的 YAML 描述。您可以更改常见设置,如密码、添加新的 KIE 服务器并扩展 KIE 服务器。
流程
- 在 OpenShift Web 集群控制台中输入您的项目。
- 在 OpenShift Web 控制台导航面板中,选择 Catalog → Installed operators 或 Operators → Installed operators。
-
在表中找到
Business Automation
operator 行,并在行中点KieApp
。此时会显示有关使用此 Operator 部署的环境的信息。 - 点已部署环境的名称。
选择 YAML 选项卡。
此时会显示 YAML 源。在此 YAML 源中,您可以编辑
spec:
下的内容,以更改环境的配置。如果要更改部署的 Red Hat Process Automation Manager 版本,请在
spec 下添加以下行:
version: 7.11.0
您可以将
7.11.0
替换为另一个需要的版本。如果使用自定义镜像,请使用此设置将 Red Hat Process Automation Manager 升级到新版本(如果禁用了自动更新)。-
如果要更改常见设置,如密码,请在
commonConfig:
下编辑值。 如果要添加新的 KIE 服务器,请在
服务器下的块末尾添加其描述:
,如下例所示:要添加名为
server-a
和server-a-2
的两个服务器,添加以下行:- deployments: 2 name: server-a
要添加不可变 KIE 服务器,在 S2I 进程中包含源构建的服务,添加以下行:
- build: kieServerContainerDeployment: <deployment> gitSource: uri: <url> reference: <branch> contextDir: <directory>
替换以下值:
-
<deployment
> :从您的源构建的决策服务(KJAR 文件)的识别信息。格式为<containerId>=<groupId>:<artifactId>:<version>
。您可以使用|
分隔符提供两个或多个 KJAR 文件,如containerId=groupId:artifactId:version|c2=g2:a2:v2
。Maven 构建过程必须从 Git 存储库中的源生成所有这些文件。 -
<url
> :包含您决定服务源的 Git 存储库的 URL。 -
<branch
> :Git 存储库中的分支。 -
<directory
> :从 Git 存储库下载的项目中源的路径。
-
-
如果要扩展 KIE 服务器,请在
servers:
下的块中找到服务器的描述,并在该描述下添加一个replicas:
设置。例如,replica: 3
将服务器扩展到三个 pod。 如果要进行其他更改,请查看 CRD 源的可用设置。要查看 CRD 源,请以管理用户身份使用
oc
命令登录到 Red Hat OpenShift Container Platform 环境,然后输入以下命令:oc get crd kieapps.app.kiegroup.org -o yaml
-
点 Save,然后等待一个
已更新
的弹出窗口。 - 点 Reload 以查看环境的新 YAML 描述。
3.4. JVM 配置参数
使用 Operator 部署 Red Hat Process Automation Manager 时,您可以选择为 Business Central 和 KIE 服务器设置多个 JVM 配置参数。这些参数为对应的容器设置环境变量。
下表列出了在使用 Operator 部署 Red Hat Process Automation Manager 时您可以设置的所有 JVM 配置参数。
默认设置适用于大多数用例。仅在需要时才进行任何更改。
配置字段 | 环境变量 | 描述 | 示例 |
---|---|---|---|
Java Opts 附加 | JAVA_OPTS_APPEND | 用户指定要附加到 JAVA_OPTS 中生成的选项的用户指定 Java 选项。 |
|
Java 最大内存比率 | JAVA_MAX_MEM_RATIO |
可用于 Java 虚拟机的容器内存的最大百分比。剩余的内存用于操作系统。默认值为 |
|
Java 初始内存比率 | JAVA_INITIAL_MEM_RATIO |
最初用于 Java 虚拟机的容器内存百分比。默认值为 |
|
Java 最大初始内存 | JAVA_MAX_INITIAL_MEM |
最初用于 Java 虚拟机的最大内存量(以 MB 为单位)。如果初始分配内存(如 Java 初始内存比率 参数中设置的值)将大于这个值,则使用 |
|
Java 诊断 | JAVA_DIAGNOSTICS | 启用此设置,为标准输出启用附加 JVM 诊断信息的输出。默认禁用此选项。 |
|
Java 调试 | JAVA_DEBUG |
启用此设置以在远程调试上切换。默认禁用此选项。添加 |
|
Java 调试端口 | JAVA_DEBUG_PORT |
用于远程调试的端口。默认值为 |
|
GC min heap free ratio | GC_MIN_HEAP_FREE_RATIO |
垃圾回收(GC)后的最小堆可用百分比以避免扩展。设置 |
|
GC 最大堆可用比率 | GC_MAX_HEAP_FREE_RATIO |
GC 后空闲的最大堆百分比以避免缩小。设置 |
|
GC 时间比率 | GC_TIME_RATIO |
指定垃圾回收之外的时间(例如,应用程序执行所需的时间)与垃圾回收中花费的时间比率。设置 |
|
GC 适应大小策略权重 | GC_ADAPTIVE_SIZE_POLICY_WEIGHT |
与之前的 GC 时间相比,对当前 GC 时间的权重。设置 |
|
GC 最大元空间大小 | GC_MAX_METASPACE_SIZE |
最大 meta 空间大小。设置 |
|
3.5. 为 KIE 服务器和智能路由器创建自定义镜像
您可以创建自定义镜像,将文件添加到 KIE 服务器和智能路由器部署中。您必须将镜像推送到您自己的容器 registry。在部署 Red Hat Process Automation Manager 时,您可以将 Operator 配置为使用自定义镜像。
如果使用自定义镜像,则必须禁用自动版本更新。安装新版本时,请使用与 before 和新版本标签相同的名称构建镜像,并将镜像推送到 registry。然后,您可以更改版本,Operator 会自动拉取新镜像。有关更改 Operator 中产品版本的步骤,请参阅 第 3.3 节 “修改使用 Operator 部署的环境”。
特别是,您可以创建以下类型的自定义镜像:
- 包含额外 RPM 软件包的 KIE 服务器的自定义镜像
- 包含额外 JAR 类库的 KIE 服务器的自定义镜像
- 智能路由器的自定义镜像,其中包含额外的 JAR 类库来实现自定义路由
3.5.1. 使用额外的 RPM 软件包创建自定义 KIE 服务器镜像
您可以创建安装额外 RPM 软件包的自定义 KIE 服务器镜像。您可以将此镜像推送到自定义 registry 中,然后使用它部署 KIE 服务器。
您可以从 Red Hat Enterprise Linux 8 软件仓库安装任何软件包。本例安装 procps-ng
软件包,该软件包提供 ps
实用程序,但您可以修改该软件包来安装其他软件包。
流程
-
使用
podman login
命令向registry.redhat.io
registry 进行身份验证。有关向 registry 进行身份验证的说明,请参阅 Red Hat Container Registry 身份验证。 要下载支持的 KIE Server 基础镜像,请输入以下命令:
podman pull registry.redhat.io/rhpam-7/rhpam-kieserver-rhel8:7.11.0
创建基于基础镜像定义自定义镜像的
Dockerfile
。该文件必须将当前用户更改为root
,使用yum
命令安装 RPM 软件包,然后恢复到USER 185
(Red Hat JBoss EAP 用户)。以下示例显示了Dockerfile
文件的内容:FROM registry.redhat.io/rhpam-7/rhpam-kieserver-rhel8:7.11.0 USER root RUN yum -y install procps-ng USER 185
根据需要替换 RPM 文件的名称。
yum
命令从 Red Hat Enterprise Linux 8 软件仓库自动安装所有依赖项。在这种情况下,您可能需要安装几个 RPM 文件,请使用几个RUN
命令。使用
Dockerfile
构建自定义镜像。为镜像提供完全限定名称,包括 registry 名称。您必须使用与基础镜像版本相同的 version 标签。要构建镜像,请输入以下命令:podman build . --tag registry_address/image_name:7.11.0
例如:
podman build . --tag registry.example.com/custom/rhpam-kieserver-rhel8:7.11.0
构建完成后,运行镜像,登录该镜像,并验证自定义是否成功。使用以下命令:
podman run -it --rm registry_address/image_name:7.11.0 /bin/bash
例如:
podman run -it --rm registry.example.com/custom/rhpam-kieserver-rhel8:7.11.0 /bin/bash
在镜像的 shell 提示符中,输入 命令来测试 RPM 是否已安装,然后输入
exit
。例如,对于procps-ng
,请运行ps
命令:[jboss@c2fab36b778e ~]$ ps PID TTY TIME CMD 1 pts/0 00:00:00 bash 13 pts/0 00:00:00 ps [jboss@c2fab36b778e ~]$ exit
要将自定义镜像推送到 registry 中,请输入以下命令:
podman push registry_address/image_name:7.11.0 docker://registry_address/image_name:7.11.0
例如:
podman push registry.example.com/custom/rhpam-kieserver-rhel8:7.11.0 docker://registry.example.com/custom/rhpam-kieserver-rhel8:7.11.0
后续步骤
在部署 KIE 服务器时,设置镜像名称和命名空间,以指定 registry 中的自定义镜像。点 Set KIE Server image,将 Kind 值改为 DockerImage,然后提供包括 registry 名称的镜像名称,但没有 version 标签,例如:
registry.example.com/custom/rhpam-kieserver-rhel8
有关使用 Operator 部署 KIE 服务器的步骤,请参考 第 3.2.5 节 “设置环境的自定义 KIE 服务器配置”。
3.5.2. 使用额外的 JAR 文件创建自定义 KIE 服务器镜像
您可以创建一个自定义 KIE 服务器镜像,其中安装了额外的 JAR 文件(或几个 JAR 文件)来扩展服务器的功能。您可以将此镜像推送到自定义 registry 中,然后使用它部署 KIE 服务器。
例如,您可以创建一个自定义类 JAR 在 KIE 服务器中提供自定义 Prometheus 指标。有关创建自定义类的说明,请参阅 管理和监控 KIE Server 中的使用自定义指标在 KIE 服务器中扩展 Prometheus 指标监控 。
流程
开发与 KIE 服务器一起使用的自定义库。您可以使用以下文档和示例来开发库:
- 管理和监控 KIE 服务器 中的 KIE 服务器功能和扩展。
- Red Hat Process Automation Manager 和 Decision Manager 的特定于域的 Prometheus 指标
- 使用额外传输扩展 KIE 服务器
-
使用 Maven 构建库,以便 JAR 文件放置到
目标目录中
。本例使用custom-kieserver-ext-1.0.0.Final.jar
文件名。 -
使用
podman login
命令向registry.redhat.io
registry 进行身份验证。有关向 registry 进行身份验证的说明,请参阅 Red Hat Container Registry 身份验证。 要下载支持的 KIE Server 基础镜像,请输入以下命令:
podman pull registry.redhat.io/rhpam-7/rhpam-kieserver-rhel8:7.11.0
创建基于基础镜像定义自定义镜像的
Dockerfile
。该文件必须将 JAR 文件复制到/opt/eap/standalone/deployments/ROOT.war/WEB-INF/lib/
目录中。以下示例显示了Dockerfile
文件的内容:FROM registry.redhat.io/rhpam-7/rhpam-kieserver-rhel8:7.11.0 COPY target/custom-kieserver-ext-1.0.0.Final.jar /opt/eap/standalone/deployments/ROOT.war/WEB-INF/lib/
使用
Dockerfile
构建自定义镜像。为镜像提供完全限定名称,包括 registry 名称。您必须使用与基础镜像版本相同的 version 标签。要构建镜像,请输入以下命令:podman build . --tag registry_address/image_name:7.11.0
例如:
podman build . --tag registry.example.com/custom/rhpam-kieserver-rhel8:7.11.0
要将自定义镜像推送到 registry 中,请输入以下命令:
podman push registry_address/image_name:7.11.0 docker://registry_address/image_name:7.11.0
例如:
podman push registry.example.com/custom/rhpam-kieserver-rhel8:7.11.0 docker://registry.example.com/custom/rhpam-kieserver-rhel8:7.11.0
后续步骤
在部署 KIE 服务器时,设置镜像名称和命名空间,以指定 registry 中的自定义镜像。点 Set KIE Server image,将 Kind 值改为 DockerImage,然后提供包括 registry 名称的镜像名称,但没有 version 标签,例如:
registry.example.com/custom/rhpam-kieserver-rhel8
有关使用 Operator 部署 KIE 服务器的步骤,请参考 第 3.2.5 节 “设置环境的自定义 KIE 服务器配置”。
3.5.3. 使用额外的 JAR 文件创建自定义智能路由器镜像,以实施自定义路由
默认情况下,智能路由器根据容器别名路由请求。如果多个 KIE 服务器为服务提供相同的容器别名,则智能路由器会在它们之间平衡负载。
在某些情况下,需要自定义路由功能。您可以创建自定义类来实现自定义路由,然后使用类创建自定义智能路由器镜像。您可以将此镜像推送到自定义 registry 中,然后使用它部署智能路由器。
先决条件
- 已安装 JDK 和 Apache Maven。
- 用于部署 Red Hat Process Automation Manager 的项目在 Red Hat OpenShift Container Platform 环境中创建
- 您知道 Red Hat OpenShift Container Platform 镜像 registry 的路由,并有权将镜像推送到 registry 中。有关配置 registry 的说明,请参阅 Red Hat OpenShift Container Platform 产品文档中的 Registry。
流程
- 从 GitHub 存储库下载 路由器扩展的示例源。
- 根据需要修改路由器扩展的示例源。现有代码根据容器版本实施简单路由。
使用 Maven 构建源代码:
mvn clean package
构建过程生成以下 JAR 文件:
target/router-ext-0.0.1-SNAPSHOT.jar
创建用于创建自定义镜像的工作目录,将生成的 JAR 文件复制到目录中,然后改为该目录,例如:
mkdir /tmp/smartrouter cp target/router-ext-0.0.1-SNAPSHOT.jar /tmp/smartrouter cd /tmp/smartrouter
-
使用
podman login
命令向registry.redhat.io
registry 进行身份验证。有关向 registry 进行身份验证的说明,请参阅 Red Hat Container Registry 身份验证。 要下载支持的智能路由器基础镜像,请输入以下命令:
podman pull registry.redhat.io/rhpam-7/rhpam-smartrouter-rhel8:7.11.0
从官方智能路由器镜像中提取
openshift-launch.sh
文件:podman run --rm registry.redhat.io/rhpam-7/rhpam-smartrouter-rhel8:7.11.0 \ cat /opt/rhpam-smartrouter/openshift-launch.sh > openshift-launch.sh
编辑
openshift-launch.sh
文件。在文件的最后一行,找到类似如下的exec
指令:exec ${JAVA_HOME}/bin/java ${SHOW_JVM_SETTINGS} ${JAVA_OPTS} ${JAVA_OPTS_APPEND} ${JAVA_PROXY_OPTIONS} "${D_ARR[@]}" -jar /opt/${JBOSS_PRODUCT}/${KIE_ROUTER_DISTRIBUTION_JAR}
将指令改为以下文本:
exec ${JAVA_HOME}/bin/java ${SHOW_JVM_SETTINGS} "${D_ARR[@]}" \ -cp /opt/${JBOSS_PRODUCT}/router-ext-0.0.1-SNAPSHOT.jar:/opt/${JBOSS_PRODUCT}/${KIE_ROUTER_DISTRIBUTION_JAR} \ org.kie.server.router.KieServerRouter
此更改将扩展 JAR 文件添加到 Java 类路径中。
创建基于基础镜像定义自定义镜像的
Dockerfile
文件。以下示例显示了Dockerfile
文件的内容:FROM registry.redhat.io/rhpam-7/rhpam-smartrouter-rhel8:7.11.0 RUN rm -rfv /opt/rhpam-smartrouter/openshift-launch.sh COPY openshift-launch.sh /opt/rhpam-smartrouter/openshift-launch.sh COPY router-ext-0.0.1-SNAPSHOT.jar /opt/rhpam-smartrouter/router-ext-0.0.1-SNAPSHOT.jar USER root RUN chown jboss. /opt/rhpam-smartrouter/router-ext-0.0.1-SNAPSHOT.jar /opt/rhpam-smartrouter/openshift-launch.sh RUN chmod +x /opt/rhpam-smartrouter/openshift-launch.sh USER 185
此文件包括以下操作:
-
添加 JAR 文件和新的
openshift-launch.sh
文件 -
将当前用户改为
root
-
为
openshift-launch.sh
文件设置所需的权限 -
恢复到
USER 185
,即 Red Hat JBoss EAP 用户
-
添加 JAR 文件和新的
-
使用
oc
命令登录到您的 Red Hat OpenShift Container Platform 集群。 -
使用
podman login
命令登录到 Red Hat OpenShift Container Platform 集群 registry。 使用
Dockerfile
构建自定义镜像。为 Red Hat OpenShift Container Platform 集群 registry 和项目命名空间标记镜像。为镜像使用自定义名称,以及与基础镜像版本相同的 version 标签。要构建镜像,请输入以下命令:podman build . --tag registry-route/project-name_/image-name:7.11.0
例如:
podman build . --tag route-openshift-image-registry.openshift.example.com/rhpam-project/rhpam-smartrouter-rhel8-custom:7.11.0
构建完成后,运行镜像并验证自定义是否成功。使用以下命令:
podman run registry-route/project-name/image-name:7.11.0
例如:
podman run route-openshift-image-registry.openshift.example.com/rhpam-project/rhpam-smartrouter-rhel8-custom:7.11.0
确保输出提到了自定义服务,如下例所示:
INFO: Using 'LatestVersionContainerResolver' container resolver and restriction policy 'ByPassUserNotAllowedRestrictionPolicy'
将自定义镜像推送(push)到 registry 中:
podman push registry-route/project-name/image-name:7.11.0
例如:
podman push route-openshift-image-registry.openshift.example.com/rhpam-project/rhpam-smartrouter-rhel8-custom:7.11.0
后续步骤
在部署 Red Hat Process Automation Manager 时,在 Smart Router 选项卡中设置以下值:
-
镜像上下文 :项目名称,如
rhpam-project
-
Image :自定义镜像名称,如
rhpam-smartrouter-rhel8-custom
有关使用操作器部署智能路由器的说明,请参阅 第 3.2.6 节 “为环境设置智能路由器配置”。
您还可以使用自定义标签而不是当前版本标签。但是,如果您使用当前版本标签,稍后您可以使用其 version 标签为新版本创建镜像。然后,当您升级 Red Hat Process Automation Manager 版本时,会自动包含新镜像。有关升级 Red Hat Process Automation Manager 版本的步骤,请参阅 第 3.3 节 “修改使用 Operator 部署的环境”。
如果您使用自定义标签,在部署 Red Hat Process Automation Manager 时,在 Smart Router 选项卡中将 Image Tag 值设置为 custom 标签。
第 4 章 在 Red Hat OpenShift Container Platform 上部署 Dashbuilder Standalone
您可以使用 Dashbuilder Standalone 查看在 OpenShift 中创建并从 Business Central 中创建的仪表板。这可用于检查没有 Business Central 的环境中的商业指标。使用 Dashbuilder Standalone operator,独立于其他服务在 Red Hat OpenShift Container Platform 上部署 Dashbuilder Standalone。
先决条件
- OpenShift 注册表中提供了 Dashbuilder Standalone。
- 您已准备了 OpenShift 环境,如 所述 第 3 章 使用 OpenShift operator 部署和管理 Red Hat Process Automation Manager 环境
- 您已在 Business Central 中创建并导出了仪表板。
流程
- 在 Operator 安装 页面中,在 Application name 字段中输入应用程序的名称。
-
在 Environment 字段中输入您的环境的名称,如
rhpam-standalone-dashbuilder
。 - 点击 Next。
- 可选:在 Security 页面中,配置 LDAP 或红帽单点登录。
- 在 Components 页面中,从 Components 列表中选择 Dashbuilder。
要添加 KIE Server 数据集,请完成以下任务:
注意您可以通过重复此步骤来添加额外的 KIE Server 数据集。
- 点 Add new KIE Server DataSets。
-
在 DataSet name 字段中,输入
kieserver-1
。 -
在 Kie Server Location 字段中输入 KIE 服务器的位置,例如
https://my-kie-server:80/services/rest/server
。 要设置凭证,请完成以下任务之一:
- 如果您没有设置令牌,请在 Username 和 Password 字段中输入您的用户名和密码。将 Token 字段留空。
如果您有令牌,在 Token 字段中输入您的令牌。将 Username 和 Password 字段留空。
自定义资源示例:
apiVersion: app.kiegroup.org/v2 kind: KieApp metadata: name: standalone-dashbuilder spec: environment: rhpam-standalone-dashbuilder objects: dashbuilder: config: kieServerDataSets: - name: kieserver-1 location: 'https://my-kie-server:80/services/rest/server' user: kieserverAdmin password: kieserverAdminPwd replaceQuery: true
要添加 KIE Server 模板,请完成以下任务:
注意您可以通过重复此步骤来添加额外的 KIE Server 模板。
- 点 Add new KIE Server Templates。
-
在 Template name 字段中输入模板的名称,如
kieserver-template
。 -
在 KIE Server Location 字段中输入 KIE 服务器的位置,例如
https://my-other-kie-server:80/services/rest/server
。 要设置凭证,请完成以下任务之一:
- 如果您没有设置令牌,请在 Username 和 Password 字段中输入您的用户名和密码。将 Token 字段留空。
如果您有令牌,在 Token 字段中输入您的令牌。将 Username 和 Password 字段留空。
apiVersion: app.kiegroup.org/v2 kind: KieApp metadata: name: standalone-dashbuilder spec: environment: rhpam-standalone-dashbuilder objects: dashbuilder: config: kieServerDataSets: - name: kieserver-1 location: 'https://my-kie-server:80/services/rest/server' user: kieserverAdmin password: kieserverAdminPwd replaceQuery: true kieServerTemplates: - name: kieserver-template location: 'https://my-another-kie-server:80/services/rest/server' user: user password: pwd replaceQuery: true
4.1. Dashbuilder 独立环境变量
在 operator 中使用 Dashbuilder Container Image 时,您可以使用环境变量或通过自定义资源配置 Dashbuilder。
参数 | 等同的环境变量 | 描述 | 示例值 |
---|---|---|---|
|
| 允许下载外部(远程)文件。默认值为 false。 | False |
|
| 启用外部组件。 | true |
|
| 根据 Runtime Model ID 启用组件分区。默认值为 true。 | true |
|
| 允许使用带有 Dashbuilder 配置的属性文件。附加唯一属性,如果设置属性一次,则会使用属性文件中的一个属性。 | true |
|
| 根据运行时模型 ID 启用数据集 ID 分区。默认值为 true。 | true |
| — | 通过自动配置 Business Central 和 Dashbuilder 来启用与 Business Central 集成。仅在 operator 上可用。 | true |
| — | 通过自动配置 KIE 服务器和 Dashbuilder 来启用与 KIE 服务器集成。仅在 operator 上可用。 | true |
|
|
设置存储仪表板 ZIP 文件的基础目录。如果启用了 | — |
|
| 将静态仪表板设置为自动运行。如果设置了此属性,则不允许导入。 | — |
|
|
设置存储仪表板 ZIP 文件的基础目录。如果启用了 | — |
|
| 定义 KIE 服务器数据集访问配置。 | — |
|
| 定义 KIE 服务器模板访问配置。 | — |
|
| 启用从文件系统中自动删除模型文件。默认值为 false。 | False |
|
| 允许 Runtime 检查文件系统中最后一次更新的模型以更新内容。默认值为 true。 | true |
| `` |
将 Dashbuilder 设置为非临时。如果设置了 | true |
|
| 允许运行时允许导入(多租户)。默认值为 false。 | False |
|
| 为仪表板上传设置大小限制(以 kb 为单位)。默认值为 10485760 kb。 | 10485760 |
| — | 代表容器中存在的环境变量。 | — |
您可以使用 env
属性设置环境变量。以下示例将 DASHBUILDER_UPLOAD_SIZE
属性的值设置为 1000
。
apiVersion: app.kiegroup.org/v2 kind: KieApp metadata: name: standalone-dashbuilder spec: environment: rhpam-standalone-dashbuilder objects: dashbuilder: env: - name: DASHBUILDER_UPLOAD_SIZE value: '1000'
第 5 章 从 Red Hat OpenShift Container Platform 3 上的部署迁移信息
如果您之前在 Red Hat OpenShift Container Platform 3 上部署了 Red Hat Process Automation Manager,您可以将该部署中的信息迁移到 Red Hat OpenShift Container Platform 4 上的新部署。
在迁移信息前,您必须使用 Operator 在 Red Hat OpenShift Container Platform 4 上部署新的 Red Hat Process Automation Manager 基础架构。在新基础架构中包括与旧部署中存在的相同元素。例如:
- 对于任何现有编写部署,创建一个新的编写基础架构,包括 Business Central 和至少一个 KIE Server。
- 对于任何现有不可变 KIE 服务器,请使用相同的工件部署一个新的不可变 KIE 服务器。
- 对于具有 MySQL 或 PostgreSQL 数据库 pod 的任何现有 KIE 服务器,请部署具有相同数据库 pod 类型的新 KIE 服务器。
- 对于使用外部数据库服务器的任何现有 KIE 服务器,请部署一个新的 KIE 服务器,该服务器使用相同的外部数据库服务器,并具有相同的凭证。服务器连接到同一数据库,因此可以读取进程上下文状态。
如果 KIE 服务器使用 H2 内置数据库,则不支持进程上下文状态的迁移。
智能路由器不需要迁移。智能路由器的新部署会自动用于新 KIE 服务器上的服务。
5.1. 在 Business Central 中迁移信息
如果您在 Red Hat OpenShift Container Platform 3 中有一个现有的编写环境,您可以在 Red Hat OpenShift Container Platform 4 的新部署中将 .niogit
存储库和 Maven 存储库从这个环境中的 Business Central 复制到 Business Central。此操作使所有相同的项目和工件在新部署中可用。
先决条件
- 您必须有一个可以访问 Red Hat OpenShift Container Platform 3 和 Red Hat OpenShift Container Platform 4 基础架构的机器。
-
机器上必须安装来自 Red Hat OpenShift Container Platform 4 的
oc
命令行客户端。有关安装命令行客户端的说明,请参阅 Red Hat OpenShift Container Platform 文档中的 CLI 工具。
流程
- 确保没有 Web 客户端,且没有客户端应用程序连接到旧和新部署的任何元素,包括 Business Central 和 KIE 服务器。
- 创建一个空的临时目录并进到其中。
-
使用
oc
命令,登录到 Red Hat OpenShift Container Platform 3 基础架构,并切换到包含旧部署的项目。 要查看旧部署中的 pod 名称,请运行以下命令:
oc get pods
查找 Business Central pod。此 pod 的名称包括
rhpamcentr
。在高可用性部署中,您可以使用任何 Business Central pod。使用
oc
命令将.niogit
存储库和 Maven 存储库从 pod 复制到本地机器,例如:oc cp myapp-rhpamcentr-5-689mw:/opt/kie/data/.niogit .niogit oc cp myapp-rhpamcentr-5-689mw:/opt/kie/data/maven-repository maven-repository
-
使用
oc
命令,登录到 Red Hat OpenShift Container Platform 4 基础架构,并切换到包含新部署的项目。 要查看新部署中的 pod 名称,请运行以下命令:
oc get pods
查找 Business Central pod。此 pod 的名称包括
rhpamcentr
。在高可用性部署中,您可以使用任何 Business Central pod。使用
oc
命令将.niogit
存储库和 Maven 存储库从本地机器复制到 pod,例如:oc cp .niogit myappnew-rhpamcentr-abd24:/opt/kie/data/.niogit oc cp maven-repository myappnew-rhpamcentr-abd24:/opt/kie/data/maven-repository
5.2. 为 KIE 服务器迁移 MySQL 数据库
如果 Red Hat OpenShift Container Platform 3 中的环境包含使用 MySQL 数据库 pod 的 KIE 服务器,请将 MySQL 数据库内容从旧部署复制到新部署。此操作将现有进程状态复制到新部署。
先决条件
- 您必须有一个可以访问 Red Hat OpenShift Container Platform 3 和 Red Hat OpenShift Container Platform 4 基础架构的机器。
-
机器上必须安装来自 Red Hat OpenShift Container Platform 4 的
oc
命令行客户端。有关安装命令行客户端的说明,请参阅 Red Hat OpenShift Container Platform 文档中的 CLI 工具。 -
必须安装 MySQL 版本 8 或更高版本提供的
mysql
和mysqldump
客户端应用程序。
流程
- 确保没有 Web 客户端,且没有客户端应用程序连接到旧和新部署的任何元素,包括 Business Central 和 KIE 服务器。
- 创建一个空的临时目录并进到其中。
-
使用
oc
命令,登录到 Red Hat OpenShift Container Platform 3 基础架构,并切换到包含旧部署的项目。 要查看旧部署中部署配置名称,请运行以下命令:
oc get dc
查找与 KIE 服务器对应的
mysql
部署配置。查看部署配置的配置 YAML,例如:
oc edit dc/myapp-mysql
在这个文件中,查找数据库服务器的用户名(通常为
rhpam
)和密码,例如:- name: MYSQL_USER value: rhpam - name: MYSQL_PASSWORD value: NDaJIV7!
记录用户名和密码。不要对该文件进行任何更改。
注意您还可以使用以下命令检索用户名和密码:
oc get dc/myapp-mysql -ojsonpath='{.spec.template.spec.containers[0].env[?(@.name=="MYSQL_USER")]}'.value oc get dc/myapp-mysql -ojsonpath='{.spec.template.spec.containers[0].env[?(@.name=="MYSQL_PASSWORD")]}'.value
要查看旧部署中的服务名称,请运行以下命令:
oc get svc
查找与 KIE 服务器对应的
mysql
服务。在一个单独的终端窗口中,使用为服务显示的名称和端口号启动从本地主机转发到
mysql
服务的端口转发,例如:oc port-forward service/myapp-mysql 3306:3306
使用记录的用户名创建完整的数据库转储,例如:
mysqldump --all-databases -u rhpam -p -h 127.0.0.1 > mysqldump.sql
出现提示时,输入记录的密码。转储创建可能需要大量时间。
- 使用 Ctrl+C 组合键停止独立窗口中的端口转发。
-
使用
oc
命令,登录到 Red Hat OpenShift Container Platform 4 基础架构,并切换到包含新部署的项目。 要查看新部署中的部署配置名称,请运行以下命令:
oc get dc
查找与 KIE 服务器对应的
mysql
部署配置。查看部署配置的配置 YAML,例如:
oc edit dc/myappnew-mysql
在此文件中,查找数据库服务器的用户名(通常为
rhpam
)和密码。记录用户名和密码。不要对该文件进行任何更改。注意您还可以使用以下命令检索用户名和密码:
oc get dc/myapp-mysql -ojsonpath='{.spec.template.spec.containers[0].env[?(@.name=="MYSQL_USER")]}'.value oc get dc/myapp-mysql -ojsonpath='{.spec.template.spec.containers[0].env[?(@.name=="MYSQL_PASSWORD")]}'.value
要查看新部署中的服务名称,请运行以下命令:
oc get svc
查找与 KIE 服务器对应的
mysql
服务。在一个单独的终端窗口中,使用为服务显示的名称和端口号启动从本地主机转发到
mysql
服务的端口转发,例如:oc port-forward service/myappnew-mysql 3306:3306
使用记录的用户名恢复数据库转储,例如:
mysql -u rhpam -p -h 127.0.0.1 < mysqldump.sql
出现提示时,输入记录的密码。恢复可能需要大量时间。
- 使用 Ctrl+C 组合键停止独立窗口中的端口转发。
5.3. 为 KIE 服务器迁移 PostgreSQL 数据库
如果 Red Hat OpenShift Container Platform 3 中的您的环境包含使用 PostgreSQL 数据库 pod 的 KIE 服务器,请将 PostgreSQL 数据库内容从旧部署复制到新部署。此操作将现有进程状态复制到新部署。
先决条件
- 您必须有一个可以访问 Red Hat OpenShift Container Platform 3 和 Red Hat OpenShift Container Platform 4 基础架构的机器。
-
机器上必须安装来自 Red Hat OpenShift Container Platform 4 的
oc
命令行客户端。有关安装命令行客户端的说明,请参阅 Red Hat OpenShift Container Platform 文档中的 CLI 工具。 -
必须安装 PostgreSQL 版本 10 或更高版本提供的
psql
和pg_dump
客户端应用程序。
流程
- 确保没有 Web 客户端,且没有客户端应用程序连接到旧和新部署的任何元素,包括 Business Central 和 KIE 服务器。
- 创建一个空的临时目录并进到其中。
-
使用
oc
命令,登录到 Red Hat OpenShift Container Platform 3 基础架构,并切换到包含旧部署的项目。 要查看旧部署中部署配置名称,请运行以下命令:
oc get dc
查找与 KIE 服务器对应的
postgresql
部署配置。查看部署配置的配置 YAML,例如:
oc edit dc/myapp-postgresql
在这个文件中,查找数据库服务器的用户名(通常为
rhpam
)、密码和数据库名称(通常为rhpam7
),例如:- name: POSTGRESQL_USER value: rhpam - name: POSTGRESQL_PASSWORD value: NDaJIV7! - name: POSTGRESQL_DATABASE value: rhpam7
记录用户名、密码和数据库名称。不要对该文件进行任何更改。
注意您还可以使用以下命令检索用户名、密码和数据库名称:
oc get dc/myapp-postgresql -ojsonpath='{.spec.template.spec.containers[0].env[?(@.name=="POSTGRESQL_USER")]}'.value oc get dc/myapp-postgresql -ojsonpath='{.spec.template.spec.containers[0].env[?(@.name=="POSTGRESQL_PASSWORD")]}'.value oc get dc/myapp-postgresql -ojsonpath='{.spec.template.spec.containers[0].env[?(@.name=="POSTGRESQL_DATABASE")]}'.value
+
要查看旧部署中的服务名称,请运行以下命令:
oc get svc
查找与 KIE 服务器对应的
postgresql
服务。在一个单独的终端窗口中,使用为服务显示的名称和端口号从本地主机开始转发到
postgresql
服务,例如:oc port-forward service/myapp-postgresql 5432:5432
使用记录的用户名和密码名称创建数据库的转储,例如:
pg_dump rhpam7 -h 127.0.0.1 -U rhpam -W > pgdump.sql
出现提示时,输入记录的密码。转储创建可能需要大量时间。
- 使用 Ctrl+C 组合键停止独立窗口中的端口转发。
-
使用
oc
命令,登录到 Red Hat OpenShift Container Platform 4 基础架构,并切换到包含新部署的项目。 要查看新部署中的部署配置名称,请运行以下命令:
oc get dc
查找与 KIE 服务器对应的
postgresql
部署配置。查看部署配置的配置 YAML,例如:
oc edit dc/myappnew-postgresql
在此文件中,查找数据库服务器的用户名(通常为
rhpam
)、密码、和数据库名称(通常为rhpam7
)。记录用户名、密码和数据库名称。不要对该文件进行任何更改。注意您还可以使用以下命令检索用户名、密码和数据库名称:
oc get dc/myapp-postgresql -ojsonpath='{.spec.template.spec.containers[0].env[?(@.name=="POSTGRESQL_USER")]}'.value oc get dc/myapp-postgresql -ojsonpath='{.spec.template.spec.containers[0].env[?(@.name=="POSTGRESQL_PASSWORD")]}'.value oc get dc/myapp-postgresql -ojsonpath='{.spec.template.spec.containers[0].env[?(@.name=="POSTGRESQL_DATABASE")]}'.value
要查看新部署中的服务名称,请运行以下命令:
oc get svc
查找与 KIE 服务器对应的
postgresql
服务。在一个单独的终端窗口中,使用为服务显示的名称和端口号从本地主机开始转发到
postgresql
服务,例如:oc port-forward service/myappnew-postgresql 5432:5432
使用记录的用户名和密码名称恢复数据库转储,例如:
psql -h 127.0.0.1 -d rhpam7 -U rhpam -W < pgdump.sql
出现提示时,输入记录的密码。恢复可能需要大量时间。
检查任何显示的数据库错误消息。有关已存在的对象的消息是正常的。
- 使用 Ctrl+C 组合键停止独立窗口中的端口转发。
部分 II. 使用模板在 Red Hat OpenShift Container Platform 3 上部署 Red Hat Process Automation Manager 环境
作为系统工程师,您可以在 Red Hat OpenShift Container Platform 3 上部署 Red Hat Process Automation Manager 环境,为开发或执行服务、处理应用程序和其他业务资产提供基础架构。您可以使用其中一个提供的模板来部署预定义的 Red Hat Process Automation Manager 环境,以满足您的特定需求。
有关使用 Operator 在 Red Hat OpenShift Container Platform 4 上部署 Red Hat Process Automation Manager 环境的说明,请参阅使用 Operator 在 Red Hat OpenShift Container Platform 4 上部署 Red Hat Process Automation Manager 环境。
先决条件
- 部署 Red Hat OpenShift Container Platform 版本 3.11。
OpenShift 集群上提供了以下资源:根据应用程序负载,可能需要更高的资源分配来达到可接受的性能。
- 对于编写环境,Business Central pod 的 4GB 内存和 2 个虚拟 CPU 内核。在高可用性部署中,每个副本都需要这些资源,默认创建两个副本。
- 对于生产环境或不可变环境,E Central Monitoring pod 的每个副本的 2GB 内存和 1 个虚拟 CPU 内核。
- 每个 KIE 服务器 pod 的每个副本 2GB 内存和 1 个虚拟 CPU 内核。
- 对于智能路由器 pod 的每个副本,512MB 内存和一半的虚拟 CPU 内核。
- 在高可用性编写部署中,MySQL、Red Hat AMQ 和 Red Hat Data Grid pod 需要根据配置的默认值进行其他资源。
启用动态持久性卷(PV)置备。另外,如果没有启用动态 PV 置备,则必须有足够的持久性卷。默认情况下,部署的组件需要以下 PV 大小:
- 默认情况下,每个 KIE 服务器部署都需要一个 1Gi PV 用于数据库。您可以更改数据库 PV 大小。您可以部署多个 KIE 服务器,每个服务器都需要一个单独的数据库 PV。如果您使用外部数据库服务器,则此要求不适用。
- 默认情况下,Business Central 需要一个 1Gi PV。您可以更改 Business Central 持久性存储的 PV 大小。
- Business Central Monitoring 需要一个 64Mi PV。
- 智能路由器需要一个 64Mi PV。
有关检查集群容量的说明,请参阅 Red Hat OpenShift Container Platform 3.11 产品文档中的 分析集群容量。
- 为部署创建了 OpenShift 项目。
-
您可以使用
oc
命令登录到项目。如需有关oc
命令行工具的更多信息,请参阅 OpenShift CLI 参考。如果要使用 OpenShift Web 控制台来部署模板,还必须使用 Web 控制台登录。 启用动态持久性卷(PV)置备。另外,如果没有启用动态 PV 置备,则必须有足够的持久性卷。默认情况下,部署的组件需要以下 PV 大小:
- 复制的 KIE 服务器 pod 默认需要一个 1Gi PV 用于数据库。您可以在模板参数中更改数据库 PV 大小。如果您使用外部数据库服务器,则此要求不适用。
- Business Central 默认需要一个 1Gi PV。您可以在模板参数中更改 Business Central 持久性存储的 PV 大小。
-
如果要扩展任何 Business Central 或 Business Central Monitoring pod,您的 OpenShift 环境支持具有
ReadWriteMany
模式的持久性卷。如果您的环境不支持这个模式,您可以使用 NFS 来置备卷。但是,为了获得最佳性能和可靠性,请使用 GlusterFS 为高可用性编写环境置备持久性卷。有关 OpenShift 公共云和专用云中支持访问模式的详情,请参考 访问模式。
从 Red Hat Process Automation Manager 版本 7.5 开始,Red Hat OpenShift Container Platform 3.x 的镜像和模板已弃用。这些镜像和模板没有获得新功能,但在完全支持 Red Hat OpenShift Container Platform 3.x 前仍然被支持。有关 Red Hat OpenShift Container Platform 3.x 的完整支持生命周期阶段的更多信息,请参阅 Red Hat OpenShift Container Platform 生命周期政策(非当前版本)。
不要在 Red Hat OpenShift Container Platform 4.x 中使用 Red Hat Process Automation Manager 模板。要在 Red Hat OpenShift Container Platform 4.x 上部署 Red Hat Process Automation Manager,请参阅使用 Operator 在 Red Hat OpenShift Container Platform 4 上部署 Red Hat Process Automation Manager 环境 的说明。
第 6 章 Red Hat OpenShift Container Platform 上的 Red Hat Process Automation Manager 概述
您可以将 Red Hat Process Automation Manager 部署到 Red Hat OpenShift Container Platform 环境中。
在这个解决方案中,Red Hat Process Automation Manager 组件被部署为单独的 OpenShift pod。您可以单独扩展和缩减每个 pod,以根据特定组件的要求提供尽量少或任意数量的容器。您可以使用标准 OpenShift 方法管理容器集并平衡负载。
OpenShift 中提供了以下 Red Hat Process Automation Manager 的主要组件:
KIE 服务器(也称为 Execution Server )是运行决策服务、进程应用程序和其他可部署资产(称为 服务)的基础架构元素。服务的所有逻辑都在执行服务器上运行。
KIE 服务器通常需要数据库服务器。您可以在另一个 OpenShift pod 中提供数据库服务器,或者在 OpenShift 上配置执行服务器以使用任何其他数据库服务器。或者,KIE 服务器可以使用 H2 数据库;在这种情况下,您无法扩展 pod。
在某些模板中,您可以扩展 KIE 服务器 pod,以根据需要提供尽可能多的副本,在同一主机或不同的主机上运行。当您扩展或缩减 pod 时,其所有副本都使用相同的数据库服务器并运行相同的服务。OpenShift 提供负载平衡和请求,可由任何容器集处理。
您可以部署单独的 KIE Server pod 来运行不同的服务组。该 pod 也可以扩展或缩减。您可以根据需要拥有任意数量的单独的复制 KIE 服务器 pod。
Business Central 是用于编写服务的基于 Web 的互动环境。它还提供管理和监控控制台。您可以使用 Business Central 开发服务并将其部署到 KIE 服务器中。您还可以使用 Business Central 来监控进程的执行。
Business Central 是一个集中式应用程序。但是,您可以将它配置为高可用性,其中多个 pod 运行并共享相同的数据。
Business Central 包括一个 Git 存储库,其中包含您开发的服务的源。它还包含一个内置的 Maven 存储库。根据配置,Business Central 可以将编译的服务(KJAR 文件)放在内置 Maven 存储库中,或者(如果已配置)放入外部 Maven 存储库中。
- Business Central Monitoring 是一个基于 Web 的管理和监控控制台。它可以管理服务到 KIE 服务器,并提供监控信息,但不包括编写的功能。您可以使用此组件来管理暂存和生产环境。
- Smart Router 是 KIE 服务器与与其交互的其他组件之间的可选层。当您的环境包含在不同 KIE 服务器上运行的许多服务时,智能路由器为所有客户端应用程序提供单一端点。客户端应用程序可以发出需要任何服务的 REST API 调用。智能路由器自动调用可处理特定请求的 KIE 服务器。
您可以将这些组件和其他组件设置为 OpenShift 中的各种环境配置。
以下环境类型典型的:
- 试用 :用于演示和评估 Red Hat Process Automation Manager 的环境。此环境包括 Business Central 和 KIE 服务器。您可以快速设置它,并使用它来评估或演示开发和运行资产。但是,环境不使用任何持久性存储,您环境中做的任何工作都不会保存。
- 编写 :使用 Business Central 创建和修改服务的环境。它由为编写工作提供 Business Central 的 pod 组成,以及用于测试服务的执行的 KIE 服务器。
受管部署 :一个用于运行现有服务用于暂存和生产目的的环境。此环境包含多个 KIE 服务器 pod 组;您可以根据需要在每个此类组上部署和取消部署服务,并根据需要扩展组。使用 Business Central Monitoring 部署、运行和停止服务并监控它们的执行。
您可以部署两种类型的受管环境。在 自由格式的服务器 环境中,您最初部署 Business Central Monitoring 和一个 KIE Server。您还可以部署任意数量的 KIE 服务器。Business Central Monitoring 可以连接到同一命名空间中的所有服务器。
或者,您可以部署 fixed 受管服务器环境。单个部署包括 Business Central Monitoring、智能路由器和一组 KIE 服务器(默认为两个服务器,但您可以修改模板以更改数字)。您不能稍后轻松添加或删除服务器。
使用不可变服务器 进行部署:一个用于运行现有服务以进行暂存和生产目的的备用环境。在这个环境中,当您部署 KIE Server pod 时,它会构建载入并启动服务或一组服务的镜像。您无法停止 pod 上的任何服务,或向 pod 添加任何新服务。如果要使用另一个版本的服务,或者以任何其他方式修改配置,您需要部署新的服务器镜像并替换旧服务器镜像。在这个系统中,KIE 服务器像 OpenShift 环境中的任何其他 pod 一样运行;您可以使用任何基于容器的集成工作流,无需使用任何其他工具来管理 pod。
另外,您可以使用 Business Central Monitoring 来监控环境的性能,并停止和重启一些服务实例,但不能将其他服务部署到任何 KIE 服务器或取消部署任何现有服务(您无法添加或删除容器)。
要在 OpenShift 上部署 Red Hat Process Automation Manager 环境,您可以使用 Red Hat Process Automation Manager 提供的模板。您可以修改一些模板,以确保配置适合您的环境。
6.1. 编写环境的架构
在 Red Hat Process Automation Manager 中,Business Central 组件提供了一个基于 Web 的互动用户界面,用于编写服务。KIE 服务器组件运行该服务。
KIE 服务器使用数据库服务器来存储进程服务的状态。
您还可以使用 Business Central 将服务部署到 KIE 服务器中。您可以使用多个 KIE 服务器来运行不同的服务,并控制来自同一 Business Central 的服务器。
单编写环境
在单一编写环境中,只有一个 Business Central 实例正在运行。多个用户可以同时访问其 Web 界面,但性能可能会受限制,且没有故障转移功能。
Business Central 包括一个内置的 Maven 存储库,它存储您开发的服务(KJAR 文件/artifacts)的构建版本。您可以使用持续集成和持续部署(CICD)工具从存储库中检索这些工件,并根据需要移动它们。
Business Central 将源代码保存在内置 Git 存储库中,存储在 .niogit
目录中。它使用内置的索引机制来索引您的服务中的资产。
Business Central 将持久性存储用于 Maven 存储库和 Git 存储库。
默认情况下,单个编写环境包含一个 KIE 服务器。此 KIE 服务器使用内置的 H2 数据库引擎来存储进程服务的状态。
默认情况下,单个编写环境使用 控制器策略。Business Central 包括 Controller,这是可以管理 KIE 服务器的组件。当您将 KIE 服务器配置为连接到 Business Central 时,KIE 服务器使用 REST API 连接到 Controller。此连接将打开持久的 WebSocket。在使用控制器策略的 OpenShift 部署中,每个 KIE 服务器都最初配置为连接到 Business Central Controller。
当您使用 Business Central 用户界面在 KIE 服务器上部署和管理服务时,KIE 服务器会通过 Controller 连接 WebSocket 接收请求。要部署服务,KIE 服务器从作为 Business Central 一部分的 Maven 存储库请求必要的工件。
客户端应用使用 REST API 来使用 KIE 服务器上运行的服务。
图 6.1. 单个编写环境的构架图
集群 KIE 服务器并使用多个 KIE 服务器
您可以扩展 KIE Server pod 以运行集群的 KIE 服务器环境。要扩展 KIE 服务器,您必须确保它在单独的 pod 或外部数据库服务器中使用数据库服务器,而不是内置的 H2 数据库引擎。
在集群部署中,KIE 服务器的几个实例运行相同的服务。这些服务器可以使用相同的服务器 ID 连接到 Business Central Controller,以便可以从控制器接收相同的请求。Red Hat OpenShift Container Platform 在服务器之间提供负载均衡。在集群 KIE 服务器上运行的决策服务和红帽构建的 OptaPlanner 服务必须无状态,因为来自同一客户端的请求可能由不同的实例处理。
您还可以部署几个独立的 KIE 服务器来运行不同的服务。在这种情况下,服务器使用不同的服务器 ID 值连接到 Business Central Controller。您可以使用 Business Central UI 将服务部署到每台服务器。
智能路由器
可选的智能路由器组件在客户端应用程序和 KIE 服务器之间提供层。如果您使用多个独立的 KIE 服务器,这很有用。
客户端应用程序可以使用在不同 KIE 服务器上运行的服务,但始终连接到智能路由器。智能路由器会自动将请求传递给运行所需服务的 KIE 服务器。智能路由器还启用对服务版本的管理,并提供额外的负载平衡层。
高可用性编写环境
在高可用性(HA)编写环境中,Emer Central 容器集已扩展,因此运行了几个 Business Central 实例。Red Hat OpenShift Container Platform 为用户请求提供负载均衡。此环境为多个用户提供最佳性能,并支持故障转移。
Business Central 的每个实例都包含构建的工件的 Maven 存储库,并使用 .niogit
Git 存储库进行源代码。实例将共享持久性存储用于存储库。此存储需要具有 ReadWriteMany
访问权限的持久性卷。
Red Hat DataGrid 实例提供在 Business Central 中开发的所有项目和资产的索引。
Red Hat AMQ 实例在所有 Business Central 实例之间传播 Java CDI 消息。例如,当创建新项目时,或者在其中一个实例上锁定或修改资产时,此信息会立即反映在所有其他实例中。
控制器策略不适用于集群部署。在 OpenShift 部署中,高可用性的 Business Central 必须使用 OpenShift 启动策略 来管理 KIE 服务器。
每个 KIE 服务器部署(可以扩展)创建一个反映其当前状态的 ConfigMap。Business Central 通过读取其 ConfigMap 来发现所有 KIE 服务器。
当用户请求 KIE 服务器配置中的更改时(例如,部署或取消部署服务),Business Central 会启动与 KIE 服务器的连接并发送 REST API 请求。KIE 服务器会更改 ConfigMap 以反应新的配置状态,然后触发自己的重新部署,以便重新部署所有实例并反映新配置。
您可以在 OpenShift 环境中部署几个独立的 KIE 服务器。每个 KIE 服务器都有单独的 ConfigMap,以及必要的配置。您可以单独扩展每个 KIE 服务器。
您可以在 OpenShift 部署中包含智能路由器。
图 6.2. 高可用性编写环境的架构图
第 7 章 准备在 OpenShift 环境中部署 Red Hat Process Automation Manager
在 OpenShift 环境中部署 Red Hat Process Automation Manager 前,您必须完成几个流程。如果要部署其他镜像,例如,对于新版本的进程或其他进程,则不需要重复这些步骤。
如果您要部署试用环境,请完成 第 7.1 节 “确保镜像流和镜像 registry 的可用性” 中描述的步骤,且不完成任何其他准备步骤。
7.1. 确保镜像流和镜像 registry 的可用性
要在 Red Hat OpenShift Container Platform 上部署 Red Hat Process Automation Manager 组件,您必须确保 OpenShift 可以从 Red Hat registry 下载正确的镜像。若要下载镜像,OpenShift 需要 镜像流,其中包含有关镜像位置的信息。OpenShift 还必须配置为使用您的服务帐户用户名和密码与红帽 registry 进行身份验证。
某些版本的 OpenShift 环境包括所需的镜像流。您必须检查它们是否可用。如果 OpenShift 中提供了镜像流,如果为 registry 身份验证服务器配置了 OpenShift 基础架构,则可以使用它们。在安装 OpenShift 环境时,管理员必须完成 registry 身份验证配置。
否则,您可以在自己的项目中配置 registry 身份验证,并在该项目中安装镜像流。
流程
- 确定 Red Hat OpenShift Container Platform 是否配置了 Red Hat registry 访问的用户名和密码。有关所需配置的详情 ,请参阅配置 Registry 位置。如果您使用 OpenShift Online 订阅,则会为 Red Hat registry 访问进行配置。
如果使用 Red Hat registry 访问的用户名和密码配置了 Red Hat OpenShift Container Platform,请输入以下命令:
$ oc get imagestreamtag -n openshift | grep -F rhpam-businesscentral | grep -F 7.11 $ oc get imagestreamtag -n openshift | grep -F rhpam-kieserver | grep -F 7.11
如果这两个命令的输出不为空,则
openshift
命名空间中提供了所需的镜像流,且不需要进一步操作。如果一个或多个命令的输出为空,或者 OpenShift 没有配置红帽 registry 访问的用户名和密码,请完成以下步骤:
-
确保您已使用
oc
命令登录 OpenShift,并且您的项目处于活动状态。 - 完成 共享环境的 Registry 服务帐户 中记录的步骤。您必须登录到红帽客户门户网站来访问文档,并完成创建 registry 服务帐户的步骤。
- 选择 OpenShift Secret 选项卡,再点 Download secret 下的链接下载 YAML secret 文件。
-
查看下载的文件并记录
name:
条目中列出的名称。 输入以下命令:
oc create -f <file_name>.yaml oc secrets link default <secret_name> --for=pull oc secrets link builder <secret_name> --for=pull
将
<file_name
> 替换为下载的文件名,<secret_name
> 替换为文件的name:
条目中列出的名称。-
从 Software Downloads 页面下载
rhpam-7.11.0-openshift-templates.zip
产品可交付文件,并提取rhpam711-image-streams.yaml
文件。 输入以下命令:
$ oc apply -f rhpam711-image-streams.yaml
注意如果完成这些步骤,请将镜像流安装到项目的命名空间中。在这种情况下,当部署模板时,您必须将
IMAGE_STREAM_NAMESPACE
参数设置为此项目的名称。
-
确保您已使用
7.2. 为 KIE 服务器创建 secret
OpenShift 使用名为 secret 的对象 来保存敏感信息,如密码或密钥存储。如需有关 OpenShift secret 的更多信息,请参阅 Red Hat OpenShift Container Platform 文档中的 Secret 章节。
您必须创建一个 SSL 证书来访问 KIE 服务器,并将其作为 secret 提供给 OpenShift 环境。
流程
使用 KIE 服务器的 SSL 加密生成名为
keystore.jks
的 SSL 密钥存储。有关如何创建带有自签名或购买的 SSL 证书的密钥存储的更多信息,请参阅 生成 SSL 加密密钥和证书。注意在生产环境中,生成有效的签名证书,与 KIE 服务器的预期 URL 匹配。
-
记录证书的名称。此名称的默认值在 Red Hat Process Automation Manager 配置中是
jboss
。 -
记录密钥存储文件的密码。此名称的默认值在 Red Hat Process Automation Manager 配置中是
mykeystorepass
。 使用
oc
命令从新的密钥存储文件中生成名为kieserver-app-secret
的 secret:$ oc create secret generic kieserver-app-secret --from-file=keystore.jks
7.3. 为 Business Central 创建 secret
如果您的环境包含 Business Central 或 Business Central Monitoring,您必须为 HTTP 访问 Business Central 创建一个 SSL 证书,并将其作为 secret 提供给 OpenShift 环境。
不要将相同的证书和密钥用于 Business Central 和 KIE 服务器。
流程
生成名为
keystore.jks
的 SSL 密钥存储,其中包含用于 Business Central 的 SSL 加密的私钥和公钥。有关如何创建带有自签名或购买的 SSL 证书的密钥存储的更多信息,请参阅 生成 SSL 加密密钥和证书。注意在生产环境中,生成有效的签名证书,与 Business Central 的预期 URL 匹配。
-
记录证书的名称。此名称的默认值在 Red Hat Process Automation Manager 配置中是
jboss
。 -
记录密钥存储文件的密码。此名称的默认值在 Red Hat Process Automation Manager 配置中是
mykeystorepass
。 使用
oc
命令从新的密钥存储文件中生成名为businesscentral-app-secret
的 secret:$ oc create secret generic businesscentral-app-secret --from-file=keystore.jks
7.4. 为智能路由器创建 secret
如果您的环境包含智能路由器,您必须创建一个 SSL 证书来访问智能路由器,并将其作为 secret 提供给 OpenShift 环境。
不要将与 KIE 服务器或 Business Central 所使用的智能路由器使用相同的证书和密钥。
流程
生成名为
keystore.jks
的 SSL 密钥存储,其中包含用于智能路由器的 SSL 加密的私钥和公钥。有关如何创建带有自签名或购买的 SSL 证书的密钥存储的更多信息,请参阅 生成 SSL 加密密钥和证书。注意在生产环境中,生成有效的签名证书,与智能路由器的预期 URL 匹配。
-
记录证书的名称。此名称的默认值在 Red Hat Process Automation Manager 配置中是
jboss
。 -
记录密钥存储文件的密码。此名称的默认值在 Red Hat Process Automation Manager 配置中是
mykeystorepass
。 使用
oc
命令从新的密钥存储文件中生成名为smartrouter-app-secret
的 secret:$ oc create secret generic smartrouter-app-secret --from-file=keystore.jks
7.5. 为管理用户创建 secret
您必须创建一个通用 secret,其中包含 Red Hat Process Automation Manager 管理用户帐户的用户名和密码。使用除试用模板之外的任何模板部署 Red Hat Process Automation Manager 需要此 secret。
secret 必须包含用户名和密码来字面。用户名的密钥名称为 KIE_ADMIN_USER
。密码的密钥名称为 KIE_ADMIN_PWD
。
如果您使用多个模板来部署 Red Hat Process Automation Manager 组件,请将相同的 secret 用于所有这些部署。组件使用此用户帐户相互通信。
如果您的环境包含 Business Central 或 Business Central Monitoring,您也可以使用此用户帐户登录到 Business Central 或 Business Central Monitoring。
如果使用 RH-SSO 或 LDAP 身份验证,则必须在身份验证系统中为 Red Hat Process Automation Manager 使用 kie-server,rest-all,admin
角色配置相同的用户。
流程
使用 oc
命令从用户名和密码生成名为 kie-admin-user-secret
的通用 secret:
$ oc create secret generic rhpam-credentials --from-literal=KIE_ADMIN_USER=adminUser --from-literal=KIE_ADMIN_PWD=adminPassword
在此命令中,将 adminPassword 替换为管理用户的密码。另外,您可以将 adminUser 替换为管理用户的另一个用户名。
7.6. 更改 GlusterFS 配置
如果要部署编写环境,您必须检查 OpenShift 环境是否使用 GlusterFS 提供持久性存储卷。如果使用 GlusterFS,以确保 Business Central 的最佳性能,您必须通过更改存储类配置来调整 GlusterFS 存储。
流程
要检查您的环境是否使用 GlusterFS,请输入以下命令:
oc get storageclass
在结果中,检查
(默认)
标记是否在列出glusterfs
的存储类上。例如,在以下输出中,默认存储类为gluster-container
,它将列出glusterfs
:NAME PROVISIONER AGE gluster-block gluster.org/glusterblock 8d gluster-container (default) kubernetes.io/glusterfs 8d
如果结果有一个默认存储类,没有列出
glusterfs
,或者结果为空,则不需要进行任何更改。在这种情况下,跳过此过程的其余部分。要将默认存储类的配置保存到 YAML 文件中,请输入以下命令:
oc get storageclass <class-name> -o yaml >storage_config.yaml
将
<class-name
> 替换为默认存储类的名称。例如:oc get storageclass gluster-container -o yaml >storage_config.yaml
编辑
storage_config.yaml
文件:使用以下键删除行:
-
creationTimestamp
-
resourceVersion
-
selfLink
-
uid
-
如果您计划只使用 Business Central 作为单个 pod (没有高可用性配置),使用
volumeoptions
键,请添加以下选项:features.cache-invalidation on performance.nl-cache on
例如:
volumeoptions: client.ssl off, server.ssl off, features.cache-invalidation on, performance.nl-cache on
如果您计划在高可用性配置中使用 Business Central,使用
volumeoptions
键的行中,请添加以下选项:features.cache-invalidation on nfs.trusted-write on nfs.trusted-sync on performance.nl-cache on performance.stat-prefetch off performance.read-ahead off performance.write-behind off performance.readdir-ahead off performance.io-cache off performance.quick-read off performance.open-behind off locks.mandatory-locking off performance.strict-o-direct on
例如:
volumeoptions: client.ssl off, server.ssl off, features.cache-invalidation on, nfs.trusted-write on, nfs.trusted-sync on, performance.nl-prefetch off, performance.read-ahead off, performance.write-behind off, performance.readdir-ahead off, performance.io-cache off, performance.io-cache off, performance.quick-read off, performance.open-behind off, locks.mandatory-locking off, performance.strict-o-direct on
要删除现有的默认存储类,请输入以下命令:
oc delete storageclass <class-name>
将
<class-name
> 替换为默认存储类的名称。例如:oc delete storageclass gluster-container
要使用新配置重新创建存储类,请输入以下命令:
oc create -f storage_config.yaml
7.7. 使用 NFS 使用 ReadWriteMany
访问模式置备持久性卷
如果要部署 Business Central Monitoring 或高可用性 Business Central,您的环境必须使用 ReadWriteMany
访问模式置备持久性卷。
如果要部署高可用性编写环境,以获得最佳性能和可靠性,请使用 GlusterFS 置备持久性卷。配置 GlusterFS 存储类,如 第 7.6 节 “更改 GlusterFS 配置” 所述。
如果您的配置需要置备 ReadWriteMany
访问模式的持久性卷,但您的环境不支持这样的置备,请使用 NFS 来置备卷。否则,请跳过这个过程。
流程
部署 NFS 服务器并使用 NFS 置备持久性卷。有关使用 NFS 置备持久性卷的详情,请参考 Red Hat OpenShift Container Platform 3.11 文档中的 配置集群 指南中的"使用 NFS 持久性存储"部分。
7.8. 从 Business Central 提取源代码,以便在 S2I 构建中使用
如果您计划使用 Source-to-image (S2I)过程创建不可变 KIE 服务器,则必须在 Git 存储库中提供您的服务的源代码。如果您使用 Business Central 编写服务,您可以提取服务的源代码并将其放在单独的 Git 存储库中,如 GitHub 或 GitLab 的内部安装,以便在 S2I 构建中使用。
如果您不打算使用 S2I 进程,或者您没有使用 Business Central 编写服务,请跳过这个过程。
流程
使用以下命令提取源代码:
git clone https://<business-central-host>:443/git/<MySpace>/<MyProject>
在这个命令中,替换以下变量:
-
<business-central-host
> 带有运行 Business Central 的主机 -
<
myspace>,项目所在的 Business Central 空间的名称 -
<myproject
> 带有项目名称
注意要查看 Business Central 中项目的完整 Git URL,请点击 Menu → Design → < MyProject> → Settings。
注意如果您将自签名证书用于 HTTPS 通信,命令可能会失败,并显示
SSL 证书问题
错误消息。在这种情况下,在git
中禁用 SSL 证书验证,例如使用GIT_SSL_NO_VERIFY
环境变量:env GIT_SSL_NO_VERIFY=true git clone https://<business-central-host>:443/git/<MySpace>/<MyProject>
-
- 将源代码上传到 S2I 构建的另一个 Git 存储库,如 GitHub 或 GitLab。
7.9. 准备 Maven 镜像存储库以供离线使用
如果您的 Red Hat OpenShift Container Platform 环境无法传出访问公共互联网,您必须准备一个 Maven 存储库,其中包含所有必要的工件的镜像,并将此存储库提供给您的环境。
如果您的 Red Hat OpenShift Container Platform 环境连接到互联网,则不需要完成此流程。
先决条件
- 具有一个可以传出访问公共互联网的计算机。
流程
配置具有写入访问权限的 Maven 发行版本存储库。存储库必须在不进行身份验证的情况下允许读取访问权限,而且您的 OpenShift 环境必须具有对此存储库的网络访问。
您可以在 OpenShift 环境中部署 Nexus 存储库管理器。有关在 OpenShift 中设置 Nexus 的说明,请参阅 Red Hat OpenShift Container Platform 3.11 文档中的 设置 Nexus。
使用此存储库作为镜像来托管公开的 Maven 工件。您还可以在此存储库中提供自己的服务,以便在不可变服务器上部署这些服务,或使用 Business Central 监控将其部署到受管服务器上。
- 在与公共互联网传出连接的计算机上完成以下步骤:
导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:
- 产品 : Red Hat Process Automation Manager
Version: 7.11
-
下载并提取 Red Hat Process Automation Manager 7.11.0 Offliner 内容列表(
rhpam-7.11.0-offliner.zip
)产品可交付文件。 -
将
rhpam-7.11.0-offliner.zip
文件的内容提取到任何目录中。 进入该目录并输入以下命令:
./offline-repo-builder.sh offliner.txt
此命令创建
存储库
子目录,并将必要的工件下载到此子目录中。这是镜像存储库。如果消息报告某些下载失败,请再次运行相同的命令。如果下载再次失败,请联系红帽支持。
-
将存储库子目录中的所有工件上传到您准备的 Maven 镜像存储库。
您可以使用 Maven 存储库工具 Git 存储库提供的 Maven Repository Provisioner 实用程序上传工件。
-
下载并提取 Red Hat Process Automation Manager 7.11.0 Offliner 内容列表(
如果您在 Business Central 外部开发了服务,并且它们还有额外的依赖项,请将依赖项添加到镜像存储库中。如果您以 Maven 项目的形式开发了服务,您可以使用以下步骤自动准备这些依赖项。完成具有到公共互联网传出连接的计算机上的步骤。
-
创建本地 Maven 缓存目录的备份(
~/.m2/repository
),然后清除该目录。 -
使用
mvn clean install
命令构建项目源。 对于每个项目,输入以下命令来确保 Maven 下载项目生成的所有工件的所有运行时依赖项:
mvn -e -DskipTests dependency:go-offline -f /path/to/project/pom.xml --batch-mode -Djava.net.preferIPv4Stack=true
将
/path/to/project/pom.xml
替换为项目的pom.xml
文件的路径。-
将本地 Maven 缓存目录(
~/.m2/repository
)中的所有工件上传到您准备的 Maven 镜像存储库。您可以使用 Maven 存储库工具 Git 存储库提供的 Maven Repository Provisioner 实用程序上传工件。
-
创建本地 Maven 缓存目录的备份(
7.10. 为外部数据库构建自定义 KIE 服务器扩展镜像
如果要将外部数据库服务器用于 KIE 服务器,并且数据库服务器不是 MySQL 或 PostgreSQL 服务器,您必须在部署环境前构建带有此服务器的驱动程序的自定义 KIE 服务器扩展镜像。
完成此构建过程中的步骤,为以下任何数据库服务器提供驱动程序:
- Microsoft SQL Server
- IBM DB2
- Oracle 数据库
- 法国
另外,您可以使用此流程为以下任何数据库服务器构建新版本的驱动程序:
- MySQL
- MariaDB
- PostgreSQL
有关数据库服务器支持的版本,请参阅 Red Hat Process Automation Manager 7 支持的配置。
构建过程会创建一个自定义扩展镜像,它扩展了现有 KIE Server 镜像。您必须将此自定义扩展镜像导入到 OpenShift 环境中,然后在 EXTENSIONS_IMAGE
参数中引用它。
先决条件
-
您可以使用
oc
命令登录到 OpenShift 环境。您的 OpenShift 用户必须具有registry-editor
角色。 - 对于 Oracle 数据库、IBM DB2 或 slirp,您可以从数据库服务器供应商下载 JDBC 驱动程序。
已安装以下所需的软件:
流程
- 对于 IBM DB2、Oracle Database 或 192.168.1.0/24,在本地目录中提供 JDBC 驱动程序 JAR 文件。
-
从红帽客户门户的 软件下载 页面下载
rhpam-7.11.0-openshift-templates.zip
产品。 -
解压文件,使用命令行更改到解压缩文件的
templates/contrib/jdbc/cekit
目录。此目录包含自定义构建的源代码。 根据数据库服务器类型输入以下命令来输入以下任一命令:
对于 Microsoft SQL Server:
make mssql
For MySQL:
make mysql
对于 PostgreSQL:
make postgresql
对于 MariaDB:
make mariadb
对于 IBM DB2:
make db2 artifact=/tmp/db2jcc4.jar version=10.2
在此命令中,将
/tmp/db2jcc4.jar
替换为 IBM DB2 驱动程序的路径名称,将10.2
替换为驱动程序的版本。对于 Oracle 数据库:
make oracle artifact=/tmp/ojdbc7.jar version=7.0
在此命令中,将
/tmp/ojdbc7.jar
替换为 Oracle Database 驱动程序的路径名,将7.0
替换为驱动程序的版本。对于 过程:
make build sybase artifact=/tmp/jconn4-16.0_PL05.jar version=16.0_PL05
在此命令中,将
/tmp/jconn4-16.0_PL05.jar
替换为下载的 IaaS 驱动程序的路径名称,将16.0_PL05
替换为驱动程序的版本。或者,如果您需要为 sVirt 驱动程序更新驱动程序类或驱动程序 XA 类,您可以为这个命令设置
DRIVER_CLASS
或DRIVER_XA_CLASS
变量,例如:export DRIVER_CLASS=another.class.Sybase && make sybase artifact=/tmp/jconn4-16.0_PL05.jar version=16.0_PL05
输入以下命令列出本地可用的 Docker 镜像:
docker images
请注意构建的镜像的名称,如
jboss-kie-db2-extension-openshift-image
,以及镜像的 version 标签,如11.1.4.4
(而不是latest
标签)。-
直接访问 OpenShift 环境的 registry,并将镜像推送到 registry。根据您的用户权限,您可将镜像推送到
openshift
命名空间或项目命名空间中。有关访问 registry 和推送镜像的说明,请参阅 Red Hat OpenShift Container Platform 产品文档中的直接访问 Registry。 当使用支持外部数据库服务器的模板配置 KIE 服务器部署时,请设置以下参数:
-
驱动程序扩展镜像 (
EXTENSIONS_IMAGE
):扩展镜像的 ImageStreamTag 定义,如jboss-kie-db2-extension-openshift-image:11.1.4.4
-
Driver ImageStream Namespace (
EXTENSIONS_IMAGE_NAMESPACE
):您将扩展镜像上传到的命名空间,如openshift
或项目命名空间。
-
驱动程序扩展镜像 (
第 8 章 试用环境
您可以部署试用(评估)Red Hat Process Automation Manager 环境。它由 Business Central 组成,用于编写或管理服务以及 KIE 服务器,用于测试服务的执行。
此环境不包含持久性存储。您在试用环境中创建或修改的资产不会保存。
此环境用于测试和演示访问。它支持跨原始资源共享(CORS)。这意味着,当页面中的其他资源由其他服务器提供时,可以使用浏览器访问 KIE Server 端点。KIE 服务器端点通常用于 REST 调用,但某些演示配置中可能需要浏览器访问。
8.1. 部署试用环境
部署试用环境的过程最少。不需要设置,且所有密码都设置为单个值。默认密码是 RedHat
。
流程
-
从红帽客户门户的 软件下载 页面下载
rhpam-7.11.0-openshift-templates.zip
产品。 -
提取
rhpam711-trial-ephemeral.yaml
模板文件。 使用以下方法之一部署模板:
-
在 OpenShift Web UI 中,选择 Add to Project → Import YAML / JSON,然后选择或粘贴
rhpam711-trial-ephemeral.yaml
文件。在 Add Template 窗口中,确保选择了 Process,然后单击 Continue。 要使用 OpenShift 命令行控制台,准备以下命令行:
oc new-app -f <template-path>/rhpam711-trial-ephemeral.yaml
在这个命令行中,将 &
lt;template-path
> 替换为下载的模板文件的路径。
-
在 OpenShift Web UI 中,选择 Add to Project → Import YAML / JSON,然后选择或粘贴
可选:设置模板中描述的任何参数。典型的试用部署只需要以下参数:
-
镜像流命名空间(
IMAGE_STREAM_NAMESPACE
):镜像流可用的命名空间。如果您的 OpenShift 环境中已有镜像流(请参阅 第 7.1 节 “确保镜像流和镜像 registry 的可用性”),则命名空间为openshift
。如果安装了镜像流文件,namespace 是 OpenShift 项目的名称。
-
镜像流命名空间(
根据您要使用的方法完成环境的创建:
在 OpenShift Web UI 中,单击 Create。
-
这将创建可能具有安全性或项目行为影响弹出消息的资源
。如果显示,请单击 Create Anyway。
-
- 完成并运行命令。
第 9 章 编写环境
您可以使用 Business Central 部署环境以创建和修改进程。它由用于编写工作的 Business Central 和 KIE 服务器组成,用于测试进程的执行。如果需要,您可以将额外的 KIE 服务器连接到 Business Central。
根据您的需要,您可以部署单个编写环境模板或高可用性(HA)编写环境模板。
单个编写环境包含两个 pod。其中一个 pod 运行 Business Central,另一个运行 KIE Server。KIE 服务器默认包含一个嵌入式 H2 数据库引擎。此环境最适用于单用户编写,或者 OpenShift 基础架构有限资源时。它不需要支持 ReadWriteMany
访问模式的持久性卷。
在单个编写环境中,您无法扩展 Business Central。默认情况下,您无法扩展 KIE 服务器,因为 H2 数据库引擎不支持扩展。但是,您可以修改模板以使用单独的 MySQL 或 PostgreSQL 数据库服务器 pod;在这种情况下,您可以扩展 KIE Server。有关修改单个编写环境模板的步骤,请参阅 第 9.3 节 “修改单个编写环境的模板”。
在 HA 编写环境中,Business Central 和 KIE 服务器都在可扩展的 pod 中提供。当 pod 扩展时,持久性存储会在副本之间共享。数据库由单独的 pod 提供。
要在 Business Central 中启用高可用性功能,需要带有 AMQ 和 Data Grid 的额外 pod。这些 pod 由高可用性编写模板配置和部署。使用高可用性编写环境提供最大可靠性和响应性,特别是当同时涉及多个用户时。
在 Red Hat Process Automation Manager 的当前版本中,支持 HA 编写的环境,但有一些限制:
- 如果 Business Central pod 在用户使用时崩溃,用户可以得到错误消息,然后重定向到另一个 pod。不需要再次登录。
- 如果 Business Central pod 在用户操作过程中崩溃,则未提交(保存)的数据可能会丢失。
- 如果 Business Central pod 在创建项目过程中崩溃,则可能会创建一个不可用的项目。
- 如果 Business Central pod 在创建资产过程中崩溃,则可能会创建资产但不会索引,因此无法使用它。用户可以在 Business Central 中打开资产,并再次保存它使其索引。
- 当用户将服务部署到 KIE 服务器时,KIE 服务器部署会再次推出。在推出完成前,用户无法将另一个服务部署到同一 KIE 服务器中。
在高可用性编写环境中,您也可以根据需要部署额外的受管或不可变 KIE 服务器。Business Central 可以自动发现同一命名空间中的所有 KIE 服务器,包括不可变 KIE 服务器和受管 KIE 服务器。
如果要在单一编写环境中部署额外的管理或不可变 KIE 服务器,您必须完成一个额外手动步骤以便在环境中启用 OpenShiftStartupStrategy
设置,如 ] 所述。此设置允许发现其他 KIE 服务器。
有关部署受管 KIE 服务器的步骤,请参考 第 11.2 节 “为自由格式环境部署额外的受管 KIE 服务器”。
有关部署不可变 KIE 服务器的步骤,请参考 第 10.2 节 “使用 S2I 构建部署不可变 KIE 服务器” 和 第 10.4 节 “从 KJAR 服务部署不可变 KIE 服务器”。
9.1. 部署编写环境
您可以使用 OpenShift 模板来部署单一或高可用性编写环境。此环境由 Business Central 和一个 KIE 服务器组成。
9.1.1. 为编写环境启动模板配置
如果要部署单个编写环境,请使用 rhpam711-authoring.yaml
模板文件。默认情况下,单个编写模板使用带有持久性存储的 H2 数据库。如果您希望创建 MySQL 或 PostgreSQL pod 或使用外部数据库服务器(在 OpenShift 项目之外),请在部署环境前修改模板。有关修改模板的步骤,请参考 第 9.3 节 “修改单个编写环境的模板”。
如果要部署高可用性编写环境,请使用 rhpam711-authoring-ha.yaml
模板文件。默认情况下,高可用性编写模板会创建一个 MySQL pod,以便为 KIE 服务器提供数据库服务器。如果要使用 PostgreSQL 或使用外部服务器(在 OpenShift 项目之外),则需要在部署环境前修改模板。您还可以修改模板,以更改最初为 Business Central 创建的副本数。有关修改模板的步骤,请参考 第 9.4 节 “修改高可用性编写环境的模板”。
流程
-
从红帽客户门户的 软件下载 页面下载
rhpam-7.11.0-openshift-templates.zip
产品。 - 提取所需的模板文件。
使用以下方法之一开始部署模板:
-
要使用 OpenShift Web UI,在 OpenShift 应用程序控制台中选择 Add to Project → Import YAML / JSON,然后选择或粘贴 <
template-file-name>.yaml
文件。在 Add Template 窗口中,确保选择了 Process,然后单击 Continue。 要使用 OpenShift 命令行控制台,准备以下命令行:
oc new-app -f <template-path>/<template-file-name>.yaml -p BUSINESS_CENTRAL_HTTPS_SECRET=businesscentral-app-secret -p KIE_SERVER_HTTPS_SECRET=kieserver-app-secret -p PARAMETER=value
在这个命令行中,进行以下更改:
-
将
<template-path
> 替换为下载的模板文件的路径。 -
将
<template-file-name
> 替换为模板文件的名称。 -
根据需要使用多个
-p PARAMETER=value
对来设置所需参数。
-
将
-
要使用 OpenShift Web UI,在 OpenShift 应用程序控制台中选择 Add to Project → Import YAML / JSON,然后选择或粘贴 <
后续步骤
设置模板的参数。按照 第 9.1.2 节 “为编写的环境设置所需的参数” 中的步骤设置通用参数。您可以查看模板文件以查看所有参数的描述。
9.1.2. 为编写的环境设置所需的参数
在配置模板以部署编写环境时,您必须在所有情况下设置以下参数。
先决条件
- 您启动了模板的配置,如 第 9.1.1 节 “为编写环境启动模板配置” 所述。
流程
设置以下参数:
-
凭证 secret (
CREDENTIALS_SECRET
):包含管理用户凭证的 secret 名称,如 第 7.5 节 “为管理用户创建 secret” 中创建的。 -
Business Central Server Keystore Secret Name (
BUSINESS_CENTRAL_HTTPS_SECRET
): Business Central 的 secret 名称,如 第 7.3 节 “为 Business Central 创建 secret” 中创建的。 -
KIE Server Keystore Secret Name (
KIE_SERVER_HTTPS_SECRET
): KIE 服务器的 secret 名称,如 第 7.2 节 “为 KIE 服务器创建 secret” 中创建的。 -
Business Central Server Certificate Name (
BUSINESS_CENTRAL_HTTPS_NAME
):您在 第 7.3 节 “为 Business Central 创建 secret” 中创建的密钥存储中证书的名称。 -
Business Central Server Keystore Password (
BUSINESS_CENTRAL_HTTPS_PASSWORD
): 您在 第 7.3 节 “为 Business Central 创建 secret” 中创建的密钥存储的密码。 -
KIE Server Certificate Name (
KIE_SERVER_HTTPS_NAME
):您在 第 7.2 节 “为 KIE 服务器创建 secret” 中创建的密钥存储中证书名称。 -
KIE Server Keystore Password (
KIE_SERVER_HTTPS_PASSWORD
): 您在 第 7.2 节 “为 KIE 服务器创建 secret” 中创建的密钥存储的密码。 -
应用名称 (
APPLICATION_NAME
):OpenShift 应用的名称。它用于 Business Central Monitoring 和 KIE Server 的默认 URL。OpenShift 使用应用程序名称创建一组单独的部署配置、服务、路由、标签和工件。 -
镜像流命名空间(
IMAGE_STREAM_NAMESPACE
):镜像流可用的命名空间。如果您的 OpenShift 环境中已有镜像流(请参阅 第 7.1 节 “确保镜像流和镜像 registry 的可用性”),则命名空间为openshift
。如果安装了镜像流文件,则 namespace 是 OpenShift 项目的名称。
-
凭证 secret (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 9.1.13 节 “为编写环境完成模板部署” 中的步骤操作。
9.1.3. 为编写的环境配置镜像流命名空间
如果您在不是 openshift
的命名空间中创建镜像流,则必须在模板中配置命名空间。
如果 Red Hat OpenShift Container Platform 环境中已提供了所有镜像流,您可以跳过这个过程。
先决条件
- 您启动了模板的配置,如 第 9.1.1 节 “为编写环境启动模板配置” 所述。
流程
如果您根据 第 7.1 节 “确保镜像流和镜像 registry 的可用性” 中的说明安装了镜像流文件,请将 ImageStream Namespace (IMAGE_STREAM_NAMESPACE
)参数设置为 OpenShift 项目的名称。
9.1.4. 为编写环境设置可选的 Maven 存储库
将模板配置为部署编写环境时,如果要将构建的 KJAR 文件放在外部 Maven 存储库中,您必须设置参数来访问存储库。
先决条件
- 您启动了模板的配置,如 第 9.1.1 节 “为编写环境启动模板配置” 所述。
流程
要配置对自定义 Maven 存储库的访问权限,请设置以下参数:
-
Maven 存储库 URL (
MAVEN_REPO_URL
): Maven 存储库的 URL。 -
Maven 存储库 ID (
MAVEN_REPO_ID
):Maven 存储库的标识符。默认值为repo-custom
。 -
Maven 存储库用户名 (
MAVEN_REPO_USERNAME
):Maven 存储库的用户名。 -
Maven 存储库密码 (
MAVEN_REPO_PASSWORD
):Maven 存储库的密码。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 9.1.13 节 “为编写环境完成模板部署” 中的步骤操作。
要将 Business Central 项目导出或推送为 KJAR 工件到外部 Maven 存储库,还必须在每个项目的 pom.xml
文件中添加存储库信息。有关将 Business Central 项目导出到外部存储库的详情,请参考 打包和部署 Red Hat Process Automation Manager 项目。
9.1.5. 在没有连接到公共互联网的环境中为编写的环境配置对 Maven 镜像的访问
当将模板配置为部署编写环境时,如果您的 OpenShift 环境没有与公共互联网的连接,您必须配置对根据 第 7.9 节 “准备 Maven 镜像存储库以供离线使用” 设置的 Maven 镜像的访问权限。
先决条件
- 您启动了模板的配置,如 第 9.1.1 节 “为编写环境启动模板配置” 所述。
流程
要配置对 Maven 镜像的访问,请设置以下参数:
-
Maven 镜像 URL (
MAVEN_MIRROR_URL
):您在 第 7.9 节 “准备 Maven 镜像存储库以供离线使用” 中设置 Maven 镜像存储库的 URL。此 URL 必须可从 OpenShift 环境中的容器集访问。 Maven 镜像 (
MAVEN_MIRROR_OF
):决定要从镜像检索哪些工件的值。有关设置mirrorOf
值的说明,请参阅 Apache Maven 文档中的 镜像设置。https://maven.apache.org/guides/mini/guide-mirror-settings.html默认值为external:!repo-rhpamcentr
;使用此值,Maven 直接从 Business Central 的内置 Maven 存储库检索工件,并从镜像检索任何其他所需的工件。如果您配置了外部 Maven 存储库(MAVEN_REPO_URL
),请更改MAVEN_MIRROR_OF
以排除此存储库中的工件,例如external:114,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。默认值为external:114
。使用此值时,Maven 从镜像检索每个所需的工件,且不会查询任何其他存储库。-
如果您配置了外部 Maven 存储库(
MAVEN_REPO_URL
),请将MAVEN_MIRROR_OF
更改为将此存储库中的工件从镜像中排除,例如external:598,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。 -
如果您配置内置的 Business Central Maven 存储库(
BUSINESS_CENTRAL_MAVEN_SERVICE
),请更改MAVEN_MIRROR_OF
以将此存储库中的工件排除在 mirror:external:39),!repo-rhpamcentr
。 -
如果您配置了这两个软件仓库,请更改
MAVEN_MIRROR_OF
,以从镜像中排除两个存储库中的工件:external: the the!repo-rhpamcentr,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。
-
如果您配置了外部 Maven 存储库(
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 9.1.13 节 “为编写环境完成模板部署” 中的步骤操作。
9.1.6. 为高可用性编写环境配置 Business Central 和 KIE 服务器副本
如果您要部署高可用性编写环境,默认情况下会创建两个 Business Central 副本,并且最初创建 KIE 服务器的两个副本。
另外,您可以修改副本数量。
对于单一编写的环境跳过这个过程。
先决条件
- 您启动了模板的配置,如 第 9.1.1 节 “为编写环境启动模板配置” 所述。
流程
要修改初始副本数,请设置以下参数:
-
Business Central Container Replicas (
BUSINESS_CENTRAL_CONTAINER_REPLICAS
):部署最初为 Business Central 创建的副本数。 -
KIE Server Container Replicas (
KIE_SERVER_CONTAINER_REPLICAS
):部署最初为 KIE 服务器创建的副本数。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 9.1.13 节 “为编写环境完成模板部署” 中的步骤操作。
9.1.7. 为编写环境指定 Git hook 目录
您可以使用 Git hook 来促进 Business Central 的内部 Git 存储库和外部 Git 存储库之间的交互。
如果要使用 Git hook,您必须配置 Git hook 目录。
先决条件
- 您启动了模板的配置,如 第 9.1.1 节 “为编写环境启动模板配置” 所述。
流程
要配置 Git hook 目录,请设置以下参数:
-
Git hook 目录 (
GIT_HOOKS_DIR
):到 Git hook 目录的完全限定路径,如/opt/kie/data/git/hooks
。您必须提供此目录的内容并将其挂载到指定路径中。有关使用配置映射或持久性卷提供和挂载 Git hook 目录的说明,请参阅 第 13.1 节 “(可选)提供 Git hook 目录”。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 9.1.13 节 “为编写环境完成模板部署” 中的步骤操作。
9.1.8. 为高可用性部署配置资源使用情况
如果要部署高可用性模板(rhpam711-authoring-ha.yaml
),您可以选择性地配置资源使用情况来优化您的要求的性能。
如果要部署单个编写环境模板(rhpam711-authoring.yaml
),请跳过这个过程。
有关调整资源大小的更多信息,请参阅 Red Hat OpenShift Container Platform 3.11 产品文档中的以下部分:
先决条件
- 您启动了模板的配置,如 第 9.1.1 节 “为编写环境启动模板配置” 所述。
流程
将模板的以下参数设置为适用:
-
Business Central Container Memory Limit (
BUSINESS_CENTRAL_MEMORY_LIMIT
): Business Central 容器的 OpenShift 环境中请求的内存量。默认值为8Gi
。 -
Business Central JVM Max Memory Ratio (
BUSINESS_CENTRAL_JAVA_MAX_MEM_RATIO
):用于 Business Central 的 Java 虚拟机的容器内存百分比。剩余的内存用于操作系统。默认值为80
,限制为 80%。 -
Business Central Container CPU limit (
BUSINESS_CENTRAL_CPU_LIMIT
): Business Central 的最大 CPU 用量。默认值为2000m
。 -
KIE Server Container Memory Limit (
KIE_SERVER_MEMORY_LIMIT
): KIE Server 容器的 OpenShift 环境中请求的内存量。默认值为1Gi
。 -
KIE Server Container CPU Limit (
KIE_SERVER_CPU_LIMIT
): KIE 服务器的最大 CPU 使用量。默认值为1000m
。 -
datagrid Container Memory Limit (
DATAGRID_MEMORY_LIMIT
):Red Hat Data Grid 容器的 OpenShift 环境中请求的内存量。默认值为2Gi
。 -
datagrid Container CPU Limit (
DATAGRID_CPU_LIMIT
):Red Hat Data Grid 的最大 CPU 用量。默认值为1000m
。
9.1.9. 为编写环境设置 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 部署也可以创建客户端。但是,这个选项对环境提供较少的详细控制。
- 您启动了模板的配置,如 第 9.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 RH-SSO Client name (
BUSINESS_CENTRAL_SSO_CLIENT
): Business Central 的 RH-SSO 客户端名称。 -
Business Central RH-SSO Client Secret (
BUSINESS_CENTRAL_SSO_SECRET
):在 RH-SSO 中为 Business Central 的客户端设置的 secret 字符串。 -
KIE Server RH-SSO Client name (
KIE_SERVER_SSO_CLIENT
): KIE 服务器的 RH-SSO 客户端名称。 -
KIE Server RH-SSO Client Secret (
KIE_SERVER_SSO_SECRET
):为 KIE 服务器的客户端在 RH-SSO 中设置的机密字符串。
-
Business Central RH-SSO Client name (
要在 RH-SSO 中为 Red Hat Process Automation Manager 创建客户端,请在模板中设置以下参数:
-
Business Central RH-SSO Client name (
BUSINESS_CENTRAL_SSO_CLIENT
):要在 Business Central 的 RH-SSO 中创建的客户端名称。 -
Business Central RH-SSO Client Secret (
BUSINESS_CENTRAL_SSO_SECRET
):在 RH-SSO 中为 Business Central 的客户端设置的 secret 字符串。 -
KIE Server RH-SSO Client name (
KIE_SERVER_SSO_CLIENT
):要在 KIE 服务器的 RH-SSO 中创建的客户端名称。 -
KIE Server RH-SSO Client Secret (
KIE_SERVER_SSO_SECRET
):为 KIE 服务器的客户端在 RH-SSO 中设置的 secret 字符串。 -
RH-SSO Realm Admin Username (
SSO_USERNAME
)和 RH-SSO Realm Admin Password (SSO_PASSWORD
):Red Hat Process Automation Manager 的 RH-SSO 域的域用户名和密码。您必须提供此用户名和密码才能创建所需的客户端。
-
Business Central RH-SSO Client name (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 9.1.13 节 “为编写环境完成模板部署” 中的步骤操作。
完成部署后,查看 RH-SSO 身份验证系统中 Red Hat Process Automation Manager 组件的 URL,以确保它们正确。
9.1.10. 为编写的环境设置 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
角色。- 您启动了模板的配置,如 第 9.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 文件路径 (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 9.1.13 节 “为编写环境完成模板部署” 中的步骤操作。
9.1.11. 为编写环境设置使用外部数据库服务器的参数
如果您将模板修改为将外部数据库服务器用于 KIE 服务器,如 第 9.3 节 “修改单个编写环境的模板” 或 第 9.4 节 “修改高可用性编写环境的模板” 所述,请在配置模板以部署编写环境时完成以下附加配置。
先决条件
- 您启动了模板的配置,如 第 9.1.1 节 “为编写环境启动模板配置” 所述。
流程
设置以下参数:
KIE Server External Database Driver (
KIE_SERVER_EXTERNALDB_DRIVER
):服务器的驱动程序,具体取决于服务器类型:-
mysql
-
postgresql
-
mariadb
-
mssql
-
db2
-
oracle
-
法国
-
-
KIE 服务器外部数据库用户 (
KIE_SERVER_EXTERNALDB_USER
)和 KIE 服务器外部数据库密码(KIE_SERVER_EXTERNALDB_PWD
):外部数据库服务器的用户名和密码 KIE Server External Database URL (
KIE_SERVER_EXTERNALDB_URL
):外部数据库服务器的 JDBC URL注意如果您使用 EntrepriseDB Postgres 数据库服务器,请使用以
jdbc:postgresql://
开头的 URL,而不是jdbc:edb://
。或者,不要设置 URL,并设置主机和端口参数。-
KIE 服务器外部数据库主机 (
KIE_SERVER_EXTERNALDB_SERVICE_HOST
)和 KIE 服务器外部数据库端口 (KIE_SERVER_EXTERNALDB_SERVICE_PORT
):外部数据库服务器的主机名和端口号。您可以将这些参数设置为设置KIE_SERVER_EXTERNALDB_URL
参数的替代选择。 KIE Server External Database Dialect (
KIE_SERVER_EXTERNALDB_DIALECT
):服务器的 Hibernate 划分,具体取决于服务器类型。常见设置有:-
org.hibernate.dialect.MySQL5InnoDBDialect
-
org.hibernate.dialect.MySQL8Dialect
-
org.hibernate.dialect.MariaDB102Dialect
-
org.hibernate.dialect.PostgreSQL95Dialect
-
org.hibernate.dialect.PostgresPlusDialect
(用于 EntrepriseDB Postgres Advanced Server) -
org.hibernate.dialect.SQLServer2012Dialect
(used for MS SQL) -
org.hibernate.dialect.DB2Dialect
-
org.hibernate.dialect.Oracle10gDialect
org.hibernate.dialect.SybaseASE15Dialect
有关支持的 dialects 列表,请参阅 Red Hat JBoss EAP 文档中的 Hibernate 属性中的 Hibernate SQL Dialects 表。
-
-
KIE 服务器外部数据库名称 (
KIE_SERVER_EXTERNALDB_DB
):在外部数据库服务器上使用的数据库名称 -
JDBC Connection Checker 类 (
KIE_SERVER_EXTERNALDB_CONNECTION_CHECKER
):数据库服务器的 JDBC 连接检查程序类的名称。如果没有此信息,则数据库服务器连接在丢失后无法恢复,例如如果数据库服务器重启。 -
JDBC Exception Sorter 类 (
KIE_SERVER_EXTERNALDB_EXCEPTION_SORTER
):数据库服务器的 JDBC 异常分类类的名称。如果没有此信息,则数据库服务器连接在丢失后无法恢复,例如如果数据库服务器重启。
如果您为使用外部数据库服务器创建了自定义镜像,如 第 7.10 节 “为外部数据库构建自定义 KIE 服务器扩展镜像” 所述,请设置以下参数:
-
驱动程序扩展镜像 (
EXTENSIONS_IMAGE
):扩展镜像的 ImageStreamTag 定义,如jboss-kie-db2-extension-openshift-image:11.1.4.4
-
Driver ImageStream Namespace (
EXTENSIONS_IMAGE_NAMESPACE
):您将扩展镜像上传到的命名空间,如openshift
或项目命名空间。
-
驱动程序扩展镜像 (
如果您使用 MySQL 版本 8 外部数据库服务器,请启用
mysql_native_password
插件并使用它进行身份验证。有关此诊断的说明,请参阅 MySQL 8.0 参考手册 中的 原生可插拔验证。如果您使用红帽提供的 MySQL 版本 8 镜像在 Red Hat OpenShift Container Platform 上启用插件,请将
MYSQL_DEFAULT_AUTHENTICATION_PLUGIN
环境变量设置为mysql_native_password
。如果您在启用
mysql_native_password
插件前在 MySQL 8 服务器上创建了用户,您必须在启用插件后更新mysql-user
表。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 9.1.13 节 “为编写环境完成模板部署” 中的步骤操作。
9.1.12. 为编写的环境启用 Prometheus 指标集合
如果要将 KIE 服务器部署配置为使用 Prometheus 来收集和存储指标,请在安装时在 KIE 服务器中启用对此功能的支持。
先决条件
- 您启动了模板的配置,如 第 9.1.1 节 “为编写环境启动模板配置” 所述。
流程
要启用对 Prometheus 指标集合的支持,请将 Prometheus Server Extension Disabled (PROMETHEUS_SERVER_EXT_DISABLED
)参数设置为 false
。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 9.1.13 节 “为编写环境完成模板部署” 中的步骤操作。
有关配置 Prometheus 指标集合的说明,请参阅 管理和监控 KIE 服务器。
9.1.13. 为编写环境完成模板部署
在 OpenShift Web UI 或命令行中设置所有必要的参数后,请完成模板部署。
流程
根据您使用的方法,完成以下步骤:
在 OpenShift Web UI 中,单击 Create。
-
如果
这将创建可能具有安全性或项目行为影响的资源
,请单击 Create Anyway。
-
如果
- 完成命令行并按 Enter。
后续步骤
根据您的环境需求,可选完成 第 13 章 部署环境后的可选步骤 中描述的步骤。
9.2. 启用 OpenShiftStartupStrategy
设置,将额外的 KIE 服务器连接到 Business Central
在使用 Red Hat Process Automation Manager 编写模板部署的环境中,Enterprise Central 管理一个 KIE Server。如果您使用高评估性编写模板,或者修改单个编写模板以使用嵌入式 H2 数据库之外的数据库服务器,您可以扩展 KIE 服务器 pod,但所有副本都执行相同的服务。
您可以将额外的 KIE 服务器连接到 Business Central。但是,如果您使用 rhpam711-authoring.yaml
部署单个编写环境,则必须在环境中启用 OpenShiftStartupStrategy
设置。启用 OpenShiftStartupStrategy
时,Business Central 会自动发现同一命名空间中的 KIE 服务器,这些 KIE 服务器可以配置为连接到 Business Central。
使用 OpenShiftStartupStrategy
设置时,当用户将服务部署到 KIE 服务器时,KIE 服务器部署会被再次推出。在推出完成前,用户无法将另一个服务部署到同一 KIE 服务器中。因为推出部署可能需要显著的时间,所以 OpenShiftStartupStrategy
设置可能不适用于一些编写的环境。
如果您使用 rhpam711-authoring-ha.yaml
模板部署了高可用性编写环境,请不要完成这个步骤。在这个环境中,OpenShiftStartupStrategy
设置会被默认启用。
除非您要将额外的 KIE 服务器连接到 Business Central,否则不要完成这个步骤。
先决条件
-
已使用
rhpam711-authoring.yaml
模板部署了编写环境。 -
您可以使用
oc
工具登录到部署环境的 OpenShift 项目。
流程
输入以下命令查看项目中部署的部署配置:
$ oc get dc
在命令的输出中,找到 Business Central 和 KIE Server pod 的部署配置名称:
-
Business Central 的部署配置名称为
myapp-rhpamcentr
。将myapp
替换为环境的应用程序名称,该名称在模板的APPLICATION_NAME
参数中设置。 -
KIE 服务器的部署配置名称为
myapp-kieserver
。使用应用程序名称替换myapp
。
-
Business Central 的部署配置名称为
输入以下命令在 pod 上启用
OpenShiftStartupStrategy
设置:$ oc env myapp-rhpamcentr KIE_SERVER_CONTROLLER_OPENSHIFT_ENABLED=true $ oc env myapp-kieserver KIE_SERVER_STARTUP_STRATEGY=OpenShiftStartupStrategy
在这些命令中,将
myapp-rhpamcentr
替换为 Business Central 部署配置名称,将myapp-kieserver
替换为 KIE 服务器配置名称。当您启用
OpenShiftStartupStrategy
设置时,默认情况下 Business Central 仅发现使用与编写模板相同的APPLICATION_NAME
参数的值部署的 KIE 服务器。如果要将 KIE 服务器与任何其他应用程序名称连接到 Business Central,请输入以下命令:$ oc env myapp-rhpamcentr KIE_SERVER_CONTROLLER_OPENSHIFT_GLOBAL_DISCOVERY_ENABLED=true
在此命令中,将
myapp-rhpamcentr
替换为 Business Central 部署配置名称。
9.3. 修改单个编写环境的模板
默认情况下,单个编写模板使用带有持久性存储的 H2 数据库。如果您希望创建 MySQL 或 PostgreSQL pod 或使用外部数据库服务器(在 OpenShift 项目之外),请在部署环境前修改模板。
如果要扩展 KIE Server pod,则必须使用 MySQL 或 PostgreSQL pod 或外部数据库服务器。OpenShift 模板定义了一组可由 OpenShift 创建的对象。要更改环境配置,您需要修改、添加或删除这些对象。为简化此任务,请在 Red Hat Process Automation Manager 模板中提供注释。
模板中的一些注释标记块,以 BEGIN
结尾并以 END
结尾。例如,以下块名为 Sample block
:
## Sample block BEGIN sample line 1 sample line 2 sample line 3 ## Sample block END
对于一些更改,您可能需要将一个模板文件中的块替换为由 Red Hat Process Automation Manager 提供的另一个模板文件的块。在这种情况下,删除块,然后在其精确的位置粘贴新块。
流程
编辑 rhpam711-authoring.yaml
模板文件,根据需要进行以下更改。
如果要使用 MySQL 而不是 H2 数据库,则需要替换文件的多个块(从
BEGIN
到END
标记为注释),并将rhpam711-kieserver-mysql.yaml
文件中的块标记为注释。您还需要删除几个其他块,并在指定位置中添加块:-
将名为
H2 数据库参数
的块替换为名为MySQL 数据库参数
的块。(从rhpam711-kieserver-mysql.yaml
文件中获取此块以及所有后续替换块。) -
将名为
H2 驱动程序设置
的块替换为名为MySQL 驱动程序设置
的块。 -
将名为
H2 持久性卷声明
的块替换为名为MySQL 持久性卷声明
的块。 -
删除名为
H2 volume mount
和H2 volume settings
的块。 -
在注释
Place 下添加数据库服务
,添加名为MySQL 服务
的块。 -
在注释
Place 下添加数据库部署配置
,添加名为MySQL 部署配置
的块。
-
将名为
如果要使用 PostgreSQL 而不是 H2 数据库,则需要替换文件的多个块(从
BEGIN
到END
标记为注释),并将rhpam711-kieserver-postgresql.yaml
文件中的块标记为注释。您还需要删除几个其他块,并在指定位置中添加块:-
将名为
H2 数据库参数
的块替换为名为PostgreSQL 数据库参数
的块。(从rhpam711-kieserver-postgresql.yaml
文件中获取此块以及所有后续替换块。) -
将名为
H2 驱动程序设置
的块替换为名为PostgreSQL 驱动程序设置
的块。 -
将名为
H2 持久性卷声明
的块替换为名为PostgreSQL 持久性卷声明
的块。 -
删除名为
H2 volume mount
和H2 volume settings
的块。 -
在注释
Place 下添加数据库服务
,添加名为PostgreSQL 服务
的块。 -
在注释
Place 下添加数据库部署配置
,添加名为PostgreSQL 部署配置
的块。
-
将名为
如果要使用外部数据库服务器,替换文件的多个块(从
BEGIN
到END
标记为注释),使用rhpam711-kieserver-externaldb.yaml
文件中的块替换一些块:-
将名为
H2 数据库参数
的块替换为名为外部数据库参数
的块。(从rhpam711-kieserver-externaldb.yaml
文件中获取此块以及所有后续替换块。) -
将名为
H2 驱动程序设置
的块替换为名为External 数据库驱动程序设置
的块。 删除文件的以下块,使用注释从
BEGIN
标记为END
:-
H2 持久性卷声明
-
H2 卷挂载
-
H2 卷设置
-
-
将名为
标准 KIE 服务器镜像包括 MySQL、MariaDB 和 PostgreSQL 外部数据库服务器的驱动程序。如果要使用另一个数据库服务器,您必须构建自定义 KIE Server 镜像。具体说明请查看 第 7.10 节 “为外部数据库构建自定义 KIE 服务器扩展镜像”。
9.4. 修改高可用性编写环境的模板
默认情况下,高可用性编写模板会创建一个 MySQL pod,以便为 KIE 服务器提供数据库服务器。如果要使用 PostgreSQL 或使用外部服务器(在 OpenShift 项目之外),则需要在部署环境前修改模板。
您还可以修改高可用性编写模板,以更改最初为 Business Central 创建的副本数。
OpenShift 模板定义了一组可由 OpenShift 创建的对象。要更改环境配置,您需要修改、添加或删除这些对象。为简化此任务,请在 Red Hat Process Automation Manager 模板中提供注释。
模板中的一些注释标记块,以 BEGIN
结尾并以 END
结尾。例如,以下块名为 Sample block
:
## Sample block BEGIN sample line 1 sample line 2 sample line 3 ## Sample block END
对于一些更改,您可能需要将一个模板文件中的块替换为由 Red Hat Process Automation Manager 提供的另一个模板文件的块。在这种情况下,删除块,然后在其精确的位置粘贴新块。
流程
编辑 rhpam711-authoring-ha.yaml
模板文件,根据需要进行以下更改。
如果要使用 PostgreSQL 而不是 MySQL,替换文件的多个块(从
BEGIN
到END
标记为注释),使用rhpam711-kieserver-postgresql.yaml
文件中的块替换它们:-
将名为
MySQL 数据库参数
的块替换为名为PostgreSQL 数据库参数
的块。(从rhpam711-kieserver-postgresql.yaml
文件中获取此块以及所有后续替换块。) -
将名为
MySQL service
的块替换为名为PostgreSQL service
的块。 -
将名为
MySQL 驱动程序设置
的块替换为名为PostgreSQL 驱动程序设置
的块。 -
将名为
MySQL 部署配置
的块替换为名为PostgreSQL 部署配置
的块。 -
将名为
MySQL 持久性卷声明
的块替换为名为PostgreSQL 持久性卷声明
的块。
-
将名为
如果要使用外部数据库服务器,替换文件的多个块(从
BEGIN
到END
标记为注释),使用rhpam711-kieserver-externaldb.yaml
文件中的块替换一些块:-
将名为
MySQL 数据库参数
的块替换为名为External 数据库参数
的块。(从rhpam711-kieserver-externaldb.yaml
文件中获取此块以及所有后续替换块。) -
将名为
MySQL 驱动程序设置
的块替换为名为External 数据库驱动程序设置
的块。 删除文件的以下块,使用注释从
BEGIN
标记为END
:-
MySQL 服务
-
MySQL 部署配置
-
MySQL 持久性卷声明
-
-
将名为
标准 KIE 服务器镜像包括 MySQL、MariaDB 和 PostgreSQL 外部数据库服务器的驱动程序。如果要使用另一个数据库服务器,您必须构建自定义 KIE Server 镜像。具体说明请查看 第 7.10 节 “为外部数据库构建自定义 KIE 服务器扩展镜像”。
-
如果要更改最初为 Business Central 创建的副本数,在 Business Central
的 注释 Replicas
下的行中,将副本数改为所需的值。
第 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 → Import YAML / JSON,然后选择或粘贴
后续步骤
设置模板的参数。按照 第 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 章 部署环境后的可选步骤 中描述的步骤。
10.2. 使用 S2I 构建部署不可变 KIE 服务器
您可以使用 S2I 构建部署不可变 KIE 服务器。当您部署服务器时,部署过程会为必须在此服务器上运行的任何服务检索源代码,构建服务,并将它们包含在服务器镜像中。
您不能在运行的不可变 KIE 服务器上部署或取消部署服务。您可以使用 Business Central 或 Business Central Monitoring 查看监控信息。KIE 服务器像 OpenShift 环境中的任何其他 pod 一样运行;您可以根据需要使用任何基于容器的集成工作流。
您可以启用不可变 KIE 服务器的 JMS 功能。借助 JMS 功能,您可以使用外部 AMQ 消息代理通过 JMS API 与服务器交互。
默认情况下,此服务器使用 pod 中的 PostgreSQL 数据库服务器。要在 pod 或外部数据库服务器中使用 MySQL 数据库服务器,您可以修改该模板。有关修改模板的步骤,请参考 第 10.3 节 “使用 S2I 修改部署不可变 KIE 服务器的模板”。
如果在同一命名空间中部署了 Business Central 或 Business Central Monitoring,它会自动发现不可变 KIE 服务器。您可以使用 Business Central 或 Business Central Monitoring 在不可变 KIE 服务器上启动和停止(但不部署)服务,并查看监控数据。
10.2.1. 使用 S2I 为不可变 KIE 服务器启动模板配置
要使用 S2I 构建部署不可变 KIE 服务器,如果要启用 JMS 功能,请使用 rhpam711-prod-immutable-kieserver-amq.yaml
模板文件。否则,请使用 rhpam711-prod-immutable-kieserver.yaml
模板文件。
流程
-
从红帽客户门户的 软件下载 页面下载
rhpam-7.11.0-openshift-templates.zip
产品。 - 提取所需的模板文件。
- 默认情况下,模板包含两个 KIE 服务器。每个服务都使用 pod 中的 PostgreSQL 数据库服务器。要更改 KIE 服务器的数量或在 pod 或外部数据库服务器中使用 MySQL 数据库服务器,请修改模板,如 第 10.3 节 “使用 S2I 修改部署不可变 KIE 服务器的模板” 所述。
使用以下方法之一开始部署模板:
-
要使用 OpenShift Web UI,在 OpenShift 应用程序控制台中选择 Add to Project → Import YAML / JSON,然后选择或粘贴 <
template-file-name>.yaml
文件。在 Add Template 窗口中,确保选择了 Process,然后单击 Continue。 要使用 OpenShift 命令行控制台,准备以下命令行:
oc new-app -f <template-path>/<template-file-name>.yaml -p KIE_SERVER_HTTPS_SECRET=kieserver-app-secret -p PARAMETER=value
在这个命令行中,进行以下更改:
-
将
<template-path
> 替换为下载的模板文件的路径。 -
将
<template-file-name
> 替换为模板文件的名称。 -
根据需要使用多个
-p PARAMETER=value
对来设置所需参数。
-
将
-
要使用 OpenShift Web UI,在 OpenShift 应用程序控制台中选择 Add to Project → Import YAML / JSON,然后选择或粘贴 <
后续步骤
设置模板的参数。按照 第 10.2.2 节 “使用 S2I 为不可变 KIE 服务器设置所需的参数” 中的步骤设置通用参数。您可以查看模板文件以查看所有参数的描述。
10.2.2. 使用 S2I 为不可变 KIE 服务器设置所需的参数
将模板配置为使用 S2I 构建来部署不可变 KIE 服务器时,您必须在所有情况下设置以下参数。
先决条件
- 您启动了模板的配置,如 第 10.2.1 节 “使用 S2I 为不可变 KIE 服务器启动模板配置” 所述。
流程
设置以下参数:
-
凭证 secret (
CREDENTIALS_SECRET
):包含管理用户凭证的 secret 名称,如 第 7.5 节 “为管理用户创建 secret” 中创建的。 -
KIE Server Keystore Secret Name (
KIE_SERVER_HTTPS_SECRET
): KIE 服务器的 secret 名称,如 第 7.2 节 “为 KIE 服务器创建 secret” 中创建的。 -
KIE Server Certificate Name (
KIE_SERVER_HTTPS_NAME
):您在 第 7.2 节 “为 KIE 服务器创建 secret” 中创建的密钥存储中证书名称。 -
KIE Server Keystore Password (
KIE_SERVER_HTTPS_PASSWORD
): 您在 第 7.2 节 “为 KIE 服务器创建 secret” 中创建的密钥存储的密码。 -
应用名称 (
APPLICATION_NAME
):OpenShift 应用的名称。它用于 Business Central Monitoring 和 KIE Server 的默认 URL。OpenShift 使用应用程序名称创建一组单独的部署配置、服务、路由、标签和工件。只要使用不同的应用程序名称,就可以将同一模板的多个应用程序部署到同一个项目中。另外,应用程序名称决定了 KIE 服务器加入 Business Central 或 Business Central Monitoring 上的服务器配置(服务器模板)。如果要部署多个 KIE 服务器,您必须确保每个服务器都有不同的应用程序名称。 KIE Server Container Deployment (
KIE_SERVER_CONTAINER_DEPLOYMENT
):在构建源后,部署必须从本地或外部存储库拉取的决定服务(KJAR 文件)的信息。格式为<containerId>=<groupId>:<artifactId>:<version>
,或如果您要为容器设置一个别名,则为<containerId>(<aliasId>)=<groupId>:<artifactId>:<version>
。您可以使用|
分隔符提供两个或多个 KJAR 文件,如下例所示:containerId=groupId:artifactId:version|c2(alias2)=g2:a2:v2
为避免重复的容器 ID,工件 ID 对于项目构建或使用的每个工件都必须是唯一的。
-
Git Repository URL (
SOURCE_REPOSITORY_URL
):包含服务源的 Git 存储库的 URL。 -
Git 参考 (
SOURCE_REPOSITORY_REF
):Git 存储库中的分支。 -
Context Directory (
CONTEXT_DIR
):从 Git 存储库下载的项目中源的路径。 -
工件 目录(
ARTIFACT_DIR
):在成功 Maven 构建后包含所需二进制文件(KJAR 文件和任何其他必要的文件)的项目中的路径。通常此目录是构建的目标目录。但是,您可以在 Git 存储库中提供此目录中的预构建二进制文件。 -
镜像流命名空间(
IMAGE_STREAM_NAMESPACE
):镜像流可用的命名空间。如果您的 OpenShift 环境中已有镜像流(请参阅 第 7.1 节 “确保镜像流和镜像 registry 的可用性”),则命名空间为openshift
。如果安装了镜像流文件,则 namespace 是 OpenShift 项目的名称。
-
凭证 secret (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.2.12 节 “使用 S2I 为不可变 KIE 服务器完成模板部署” 中的步骤操作。
10.2.3. 使用 S2I 为不可变 KIE 服务器配置镜像流命名空间
如果您在不是 openshift
的命名空间中创建镜像流,则必须在模板中配置命名空间。
如果 Red Hat OpenShift Container Platform 环境中已提供了所有镜像流,您可以跳过这个过程。
先决条件
- 您启动了模板的配置,如 第 10.2.1 节 “使用 S2I 为不可变 KIE 服务器启动模板配置” 所述。
流程
如果您根据 第 7.1 节 “确保镜像流和镜像 registry 的可用性” 中的说明安装了镜像流文件,请将 ImageStream Namespace (IMAGE_STREAM_NAMESPACE
)参数设置为 OpenShift 项目的名称。
10.2.4. 使用 S2I 为不可变 KIE 服务器配置有关 Business Central 或 Business Central Monitoring 实例的信息
如果要从同一命名空间中的 Business Central 或 Business Central Monitoring 实例到 KIE 服务器启用连接,您必须配置有关 Business Central 或 Business Central Monitoring 实例的信息。
Business Central 或 Business Central Monitoring 实例必须使用与 KIE 服务器相同的凭证 secret (CREDENTIALS_SECRET
)进行配置。
先决条件
- 您启动了模板的配置,如 第 10.2.1 节 “使用 S2I 为不可变 KIE 服务器启动模板配置” 所述。
流程
设置以下参数:
-
Name of the Business Central service (
BUSINESS_CENTRAL_SERVICE
): Business Central 或 Business Central Monitoring 的 OpenShift 服务名称。
-
Name of the Business Central service (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.2.12 节 “使用 S2I 为不可变 KIE 服务器完成模板部署” 中的步骤操作。
10.2.5. 使用 S2I 为不可变 KIE 服务器设置可选 Maven 存储库
将模板配置为使用 S2I 构建来部署不可变 KIE 服务器时,如果您的源构建包含公共 Maven 树上不可用的依赖项,则需要设置单独的自定义 Maven 存储库来访问存储库。
先决条件
- 您启动了模板的配置,如 第 10.2.1 节 “使用 S2I 为不可变 KIE 服务器启动模板配置” 所述。
流程
要配置对自定义 Maven 存储库的访问权限,请设置以下参数:
-
Maven 存储库 URL (
MAVEN_REPO_URL
): Maven 存储库的 URL。 -
Maven 存储库 ID (
MAVEN_REPO_ID
):Maven 存储库的标识符。默认值为repo-custom
。 -
Maven 存储库用户名 (
MAVEN_REPO_USERNAME
):Maven 存储库的用户名。 -
Maven 存储库密码 (
MAVEN_REPO_PASSWORD
):Maven 存储库的密码。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.2.12 节 “使用 S2I 为不可变 KIE 服务器完成模板部署” 中的步骤操作。
10.2.6. 使用 S2I 在没有连接到公共互联网的环境中配置对 Maven 镜像的访问
当将模板配置为使用 S2I 构建来部署不可变 KIE 服务器时,如果您的 OpenShift 环境没有连接到公共互联网,您必须配置对根据 第 7.9 节 “准备 Maven 镜像存储库以供离线使用” 设置的 Maven 镜像的访问。
先决条件
- 您启动了模板的配置,如 第 10.2.1 节 “使用 S2I 为不可变 KIE 服务器启动模板配置” 所述。
流程
要配置对 Maven 镜像的访问,请设置以下参数:
-
Maven 镜像 URL (
MAVEN_MIRROR_URL
):您在 第 7.9 节 “准备 Maven 镜像存储库以供离线使用” 中设置 Maven 镜像存储库的 URL。此 URL 必须可从 OpenShift 环境中的容器集访问。 Maven 镜像 (
MAVEN_MIRROR_OF
):决定要从镜像检索哪些工件的值。有关设置mirrorOf
值的说明,请参阅 Apache Maven 文档中的 镜像设置。https://maven.apache.org/guides/mini/guide-mirror-settings.html默认值为external:114
。使用此值时,Maven 从镜像检索每个所需的工件,且不会查询任何其他存储库。-
如果您配置了外部 Maven 存储库(
MAVEN_REPO_URL
),请将MAVEN_MIRROR_OF
更改为将此存储库中的工件从镜像中排除,例如external:598,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。 -
如果您配置内置的 Business Central Maven 存储库(
BUSINESS_CENTRAL_MAVEN_SERVICE
),请更改MAVEN_MIRROR_OF
以将此存储库中的工件排除在 mirror:external:39),!repo-rhpamcentr
。 -
如果您配置了这两个软件仓库,请更改
MAVEN_MIRROR_OF
,以从镜像中排除两个存储库中的工件:external: the the!repo-rhpamcentr,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。
-
如果您配置了外部 Maven 存储库(
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.2.12 节 “使用 S2I 为不可变 KIE 服务器完成模板部署” 中的步骤操作。
10.2.7. 使用 S2I 为不可变 KIE 服务器配置与 AMQ 服务器配置通信
如果您使用 rhpam711-prod-immutable-kieserver-amq.yaml
模板文件,则会启用 KIE 服务器的 JMS 功能。您可以使用外部 AMQ 消息代理通过 JMS API 与服务器交互。
如果您的环境有必要,您可以修改 JMS 配置。
先决条件
-
已使用
rhpam711-prod-immutable-kieserver-amq.yaml
模板文件启动模板的配置,如 第 10.2.1 节 “使用 S2I 为不可变 KIE 服务器启动模板配置” 所述。
流程
根据您的环境需要设置以下参数:
-
AMQ 用户名 (
AMQ_USERNAME
)和 AMQ 密码(AMQ_PASSWORD
):标准代理用户的用户名和密码(如果环境中需要用户身份验证)。 -
AMQ 角色 (
AMQ_ROLE
):标准代理用户的用户角色。默认角色为admin
。 -
AMQ Queues (
AMQ_QUEUES
):AMQ 队列名称,用逗号分开。代理启动时会自动创建这些队列,并可作为 JBoss EAP 服务器中的 JNDI 资源访问。如果您使用自定义队列名称,还必须在KIE_SERVER_JMS_QUEUE_RESPONSE
,KIE_SERVER_JMS_QUEUE_REQUEST
,KIE_SERVER_JMS_QUEUE_SIGNAL
,KIE_SERVER_JMS_QUEUE_AUDIT
, 和KIE_SERVER_JMS_QUEUE_EXECUTOR
参数中设置相同的队列名称。 -
AMQ Global Max Size (
AMQ_GLOBAL_MAX_SIZE
):消息数据可消耗的最大内存量。如果没有指定值,则会分配 pod 中可用内存的一半。 -
AMQ 协议 (
AMQ_PROTOCOL
): KIE 服务器可用于与 AMQ 服务器通信的代理协议,用逗号分开。允许的值有openwire
、amqp
、stomp
和mqtt
。JBoss EAP 仅支持openwire
。默认值为openwire
。 -
AMQ Broker Image (
AMQ_BROKER_IMAGESTREAM_NAME
):AMQ 代理镜像的镜像流名称。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.2.12 节 “使用 S2I 为不可变 KIE 服务器完成模板部署” 中的步骤操作。
10.2.8. 使用 S2I 为不可变 KIE 服务器设置 RH-SSO 身份验证的参数
如果要使用 RH-SSO 身份验证,请在配置模板时使用 S2I 构建来部署不可变 KIE 服务器时完成以下附加配置。
不要在同一部署中配置 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.2.1 节 “使用 S2I 为不可变 KIE 服务器启动模板配置” 所述。
流程
设置以下参数:
-
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 或 Business Central Monitoring RH-SSO Client name (
BUSINESS_CENTRAL_SSO_CLIENT
): Business Central 或 Business Central Monitoring 的 RH-SSO 客户端名称。 -
KIE Server RH-SSO Client name (
KIE_SERVER_SSO_CLIENT
): KIE 服务器的 RH-SSO 客户端名称。 -
KIE Server RH-SSO Client Secret (
KIE_SERVER_SSO_SECRET
):为 KIE 服务器的客户端在 RH-SSO 中设置的机密字符串。
-
Business Central 或 Business Central Monitoring RH-SSO Client name (
要在 RH-SSO 中为 Red Hat Process Automation Manager 创建客户端,请在模板中设置以下参数:
-
KIE Server RH-SSO Client name (
KIE_SERVER_SSO_CLIENT
):要在 KIE 服务器的 RH-SSO 中创建的客户端名称。 -
KIE Server RH-SSO Client Secret (
KIE_SERVER_SSO_SECRET
):为 KIE 服务器的客户端在 RH-SSO 中设置的 secret 字符串。 -
RH-SSO Realm Admin Username (
SSO_USERNAME
)和 RH-SSO Realm Admin Password (SSO_PASSWORD
):Red Hat Process Automation Manager 的 RH-SSO 域的域用户名和密码。您必须提供此用户名和密码才能创建所需的客户端。
-
KIE Server RH-SSO Client name (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.2.12 节 “使用 S2I 为不可变 KIE 服务器完成模板部署” 中的步骤操作。
完成部署后,查看 RH-SSO 身份验证系统中 Red Hat Process Automation Manager 组件的 URL,以确保它们正确。
10.2.9. 使用 S2I 为不可变 KIE 服务器设置 LDAP 身份验证参数
如果要使用 LDAP 身份验证,请在配置模板时使用 S2I 构建部署不可变 KIE 服务器时完成以下附加配置。
不要在同一部署中配置 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.2.1 节 “使用 S2I 为不可变 KIE 服务器启动模板配置” 所述。
流程
设置模板的
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.2.12 节 “使用 S2I 为不可变 KIE 服务器完成模板部署” 中的步骤操作。
10.2.10. 使用 S2I 为不可变 KIE 服务器设置使用外部数据库服务器的参数
如果您将模板修改为将外部数据库服务器用于 KIE 服务器,如 第 10.3 节 “使用 S2I 修改部署不可变 KIE 服务器的模板” 所述,请在配置模板时使用 S2I 构建部署不可变 KIE 服务器时完成以下附加配置。
先决条件
- 您启动了模板的配置,如 第 10.2.1 节 “使用 S2I 为不可变 KIE 服务器启动模板配置” 所述。
流程
设置以下参数:
KIE Server External Database Driver (
KIE_SERVER_EXTERNALDB_DRIVER
):服务器的驱动程序,具体取决于服务器类型:-
mysql
-
postgresql
-
mariadb
-
mssql
-
db2
-
oracle
-
法国
-
-
KIE 服务器外部数据库用户 (
KIE_SERVER_EXTERNALDB_USER
)和 KIE 服务器外部数据库密码(KIE_SERVER_EXTERNALDB_PWD
):外部数据库服务器的用户名和密码 KIE Server External Database URL (
KIE_SERVER_EXTERNALDB_URL
):外部数据库服务器的 JDBC URL注意如果您使用 EntrepriseDB Postgres 数据库服务器,请使用以
jdbc:postgresql://
开头的 URL,而不是jdbc:edb://
。或者,不要设置 URL,并设置主机和端口参数。-
KIE 服务器外部数据库主机 (
KIE_SERVER_EXTERNALDB_SERVICE_HOST
)和 KIE 服务器外部数据库端口 (KIE_SERVER_EXTERNALDB_SERVICE_PORT
):外部数据库服务器的主机名和端口号。您可以将这些参数设置为设置KIE_SERVER_EXTERNALDB_URL
参数的替代选择。 KIE Server External Database Dialect (
KIE_SERVER_EXTERNALDB_DIALECT
):服务器的 Hibernate 划分,具体取决于服务器类型。常见设置有:-
org.hibernate.dialect.MySQL5InnoDBDialect
-
org.hibernate.dialect.MySQL8Dialect
-
org.hibernate.dialect.MariaDB102Dialect
-
org.hibernate.dialect.PostgreSQL95Dialect
-
org.hibernate.dialect.PostgresPlusDialect
(用于 EntrepriseDB Postgres Advanced Server) -
org.hibernate.dialect.SQLServer2012Dialect
(used for MS SQL) -
org.hibernate.dialect.DB2Dialect
-
org.hibernate.dialect.Oracle10gDialect
org.hibernate.dialect.SybaseASE15Dialect
有关支持的 dialects 列表,请参阅 Red Hat JBoss EAP 文档中的 Hibernate 属性中的 Hibernate SQL Dialects 表。
-
-
KIE 服务器外部数据库名称 (
KIE_SERVER_EXTERNALDB_DB
):在外部数据库服务器上使用的数据库名称 -
JDBC Connection Checker 类 (
KIE_SERVER_EXTERNALDB_CONNECTION_CHECKER
):数据库服务器的 JDBC 连接检查程序类的名称。如果没有此信息,则数据库服务器连接在丢失后无法恢复,例如如果数据库服务器重启。 -
JDBC Exception Sorter 类 (
KIE_SERVER_EXTERNALDB_EXCEPTION_SORTER
):数据库服务器的 JDBC 异常分类类的名称。如果没有此信息,则数据库服务器连接在丢失后无法恢复,例如如果数据库服务器重启。
如果您为使用外部数据库服务器创建了自定义镜像,如 第 7.10 节 “为外部数据库构建自定义 KIE 服务器扩展镜像” 所述,请设置以下参数:
-
驱动程序扩展镜像 (
EXTENSIONS_IMAGE
):扩展镜像的 ImageStreamTag 定义,如jboss-kie-db2-extension-openshift-image:11.1.4.4
-
Driver ImageStream Namespace (
EXTENSIONS_IMAGE_NAMESPACE
):您将扩展镜像上传到的命名空间,如openshift
或项目命名空间。
-
驱动程序扩展镜像 (
如果您使用 MySQL 版本 8 外部数据库服务器,请启用
mysql_native_password
插件并使用它进行身份验证。有关此诊断的说明,请参阅 MySQL 8.0 参考手册 中的 原生可插拔验证。如果您使用红帽提供的 MySQL 版本 8 镜像在 Red Hat OpenShift Container Platform 上启用插件,请将
MYSQL_DEFAULT_AUTHENTICATION_PLUGIN
环境变量设置为mysql_native_password
。如果您在启用
mysql_native_password
插件前在 MySQL 8 服务器上创建了用户,您必须在启用插件后更新mysql-user
表。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.2.12 节 “使用 S2I 为不可变 KIE 服务器完成模板部署” 中的步骤操作。
10.2.11. 使用 S2I 为不可变 KIE 服务器启用 Prometheus 指标集合
如果要将 KIE 服务器部署配置为使用 Prometheus 来收集和存储指标,请在安装时在 KIE 服务器中启用对此功能的支持。
先决条件
- 您启动了模板的配置,如 第 10.2.1 节 “使用 S2I 为不可变 KIE 服务器启动模板配置” 所述。
流程
要启用对 Prometheus 指标集合的支持,请将 Prometheus Server Extension Disabled (PROMETHEUS_SERVER_EXT_DISABLED
)参数设置为 false
。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.2.12 节 “使用 S2I 为不可变 KIE 服务器完成模板部署” 中的步骤操作。
有关配置 Prometheus 指标集合的说明,请参阅 管理和监控 KIE 服务器。
10.2.12. 使用 S2I 为不可变 KIE 服务器完成模板部署
在 OpenShift Web UI 或命令行中设置所有必要的参数后,请完成模板部署。
流程
根据您使用的方法,完成以下步骤:
在 OpenShift Web UI 中,单击 Create。
-
如果
这将创建可能具有安全性或项目行为影响的资源
,请单击 Create Anyway。
-
如果
- 完成命令行并按 Enter。
后续步骤
根据您的环境需求,可选完成 第 13 章 部署环境后的可选步骤 中描述的步骤。
10.3. 使用 S2I 修改部署不可变 KIE 服务器的模板
默认情况下,使用 S2I 部署不可变服务器的模板会创建单独的 PostgreSQL pod,来为每个副本ble KIE 服务器提供数据库服务器。如果您希望在使用 MySQL 或外部服务器(OpenShift 项目之外),请在部署服务器前修改 rhpam711-prod-immutable-kieserver.yaml
或 rhpam711-prod-immutable-kieserver-amq.yaml
模板文件。
OpenShift 模板定义了一组可由 OpenShift 创建的对象。要更改环境配置,您需要修改、添加或删除这些对象。为简化此任务,请在 Red Hat Process Automation Manager 模板中提供注释。
模板中的一些注释标记块,以 BEGIN
结尾并以 END
结尾。例如,以下块名为 Sample block
:
## Sample block BEGIN sample line 1 sample line 2 sample line 3 ## Sample block END
对于一些更改,您可能需要将一个模板文件中的块替换为由 Red Hat Process Automation Manager 提供的另一个模板文件的块。在这种情况下,删除块,然后在其精确的位置粘贴新块。
流程
如果要使用 MySQL 而不是 PostgreSQL,替换文件的多个块(从
BEGIN
到END
标记为注释),使用rhpam711-kieserver-mysql.yaml
文件中的块替换它们:-
将名为
PostgreSQL 数据库参数
的块替换为名为MySQL 数据库参数
的块。(从rhpam711-kieserver-postgresql.yaml
文件中获取此块以及所有后续替换块。) -
将名为
PostgreSQL service
的块替换为名为MySQL service
的块。 -
将名为
PostgreSQL 驱动程序设置
的块替换为名为MySQL 驱动程序设置
的块。 -
将名为
PostgreSQL 部署配置
的块替换为名为MySQL 部署配置
的块。 -
将名为
PostgreSQL 持久性卷声明
的块替换为名为MySQL 持久性卷声明
的块。
-
将名为
如果要使用外部数据库服务器,替换文件的多个块(从
BEGIN
到END
标记为注释),使用rhpam711-kieserver-externaldb.yaml
文件中的块替换一些块:-
将名为
PostgreSQL 数据库参数
的块替换为名为External 数据库参数
的块。(从rhpam711-kieserver-externaldb.yaml
文件中获取此块以及所有后续替换块。) -
将名为
PostgreSQL 驱动程序设置
的块替换为名为External 数据库驱动程序设置
的块。 删除文件的以下块,使用注释从
BEGIN
标记为END
:-
PostgreSQL 服务
-
PostgreSQL 部署配置
-
PostgreSQL 持久性卷声明
-
-
将名为
标准 KIE 服务器镜像包括 MySQL、MariaDB 和 PostgreSQL 外部数据库服务器的驱动程序。如果要使用另一个数据库服务器,您必须构建自定义 KIE Server 镜像。具体说明请查看 第 7.10 节 “为外部数据库构建自定义 KIE 服务器扩展镜像”。
10.4. 从 KJAR 服务部署不可变 KIE 服务器
您可以使用已构建为 KJAR 文件的服务来部署不可变 KIE 服务器。
您必须在 Maven 存储库中提供该服务。您可以使用 Business Central 或您自己的存储库(如 Nexus 部署)的内置存储库。服务器 pod 启动时,它会从 Maven 存储库检索 KJAR 服务。pod 上的服务永远不会更新或更改。每次重启或扩展 pod 时,服务器会从存储库检索文件,因此您必须确保它们不会更改 Maven 存储库,以保持部署不可变。
您不能在运行的不可变 KIE 服务器上部署或取消部署服务。您可以使用 Business Central 或 Business Central Monitoring 查看监控信息。KIE 服务器像 OpenShift 环境中的任何其他 pod 一样运行;您可以根据需要使用任何基于容器的集成工作流。
如果在同一命名空间中部署了 Business Central 或 Business Central Monitoring,它会自动发现不可变 KIE 服务器。您可以使用 Business Central 或 Business Central Monitoring 在不可变 KIE 服务器上启动和停止(但不部署)服务,并查看监控数据。
10.4.1. 从 KJAR 服务开始为不可变 KIE 服务器配置模板
要从 KJAR 服务部署不可变 KIE 服务器,请使用以下模板文件之一:
-
rhpam711-kieserver-postgresql.yaml
使用 PostgreSQL pod 进行持久性存储。使用此模板,除非您有特定原因来使用另一个模板。 -
rhpam711-kieserver-mysql.yaml
将 MySQL pod 用于持久性存储。 rhpam711-kieserver-externaldb.yaml
将外部数据库服务器用于持久性存储。重要外部数据库服务器的标准 KIE 服务器镜像包括 MySQL 和 PostgreSQL 外部数据库服务器的驱动程序。如果要使用另一个数据库服务器,您必须构建自定义 KIE Server 镜像。具体说明请查看 第 7.10 节 “为外部数据库构建自定义 KIE 服务器扩展镜像”。
流程
-
从红帽客户门户的 软件下载 页面下载
rhpam-7.11.0-openshift-templates.zip
产品。 - 提取所需的模板文件。
使用以下方法之一开始部署模板:
-
要使用 OpenShift Web UI,在 OpenShift 应用程序控制台中选择 Add to Project → Import YAML / JSON,然后选择或粘贴 <
template-file-name>.yaml
文件。在 Add Template 窗口中,确保选择了 Process,然后单击 Continue。 要使用 OpenShift 命令行控制台,准备以下命令行:
oc new-app -f <template-path>/<template-file-name>.yaml -p KIE_SERVER_HTTPS_SECRET=kieserver-app-secret -p PARAMETER=value
在这个命令行中,进行以下更改:
-
将
<template-path
> 替换为下载的模板文件的路径。 -
将
<template-file-name
> 替换为模板文件的名称。 -
根据需要使用多个
-p PARAMETER=value
对来设置所需参数。
-
将
-
要使用 OpenShift Web UI,在 OpenShift 应用程序控制台中选择 Add to Project → Import YAML / JSON,然后选择或粘贴 <
后续步骤
设置模板的参数。按照 第 10.4.2 节 “从 KJAR 服务为不可变 KIE 服务器设置所需的参数” 中的步骤设置通用参数。您可以查看模板文件以查看所有参数的描述。
10.4.2. 从 KJAR 服务为不可变 KIE 服务器设置所需的参数
将模板配置为从 KJAR 服务部署不可变 KIE 服务器时,您必须在所有情况下设置以下参数。
先决条件
- 您启动了模板的配置,如 第 10.4.1 节 “从 KJAR 服务开始为不可变 KIE 服务器配置模板” 所述。
流程
设置以下参数:
-
凭证 secret (
CREDENTIALS_SECRET
):包含管理用户凭证的 secret 名称,如 第 7.5 节 “为管理用户创建 secret” 中创建的。 -
KIE Server Keystore Secret Name (
KIE_SERVER_HTTPS_SECRET
): KIE 服务器的 secret 名称,如 第 7.2 节 “为 KIE 服务器创建 secret” 中创建的。 -
KIE Server Certificate Name (
KIE_SERVER_HTTPS_NAME
):您在 第 7.2 节 “为 KIE 服务器创建 secret” 中创建的密钥存储中证书名称。 -
KIE Server Keystore Password (
KIE_SERVER_HTTPS_PASSWORD
): 您在 第 7.2 节 “为 KIE 服务器创建 secret” 中创建的密钥存储的密码。 -
应用名称 (
APPLICATION_NAME
):OpenShift 应用的名称。它用于 Business Central Monitoring 和 KIE Server 的默认 URL。OpenShift 使用应用程序名称创建一组单独的部署配置、服务、路由、标签和工件。只要使用不同的应用程序名称,就可以将同一模板的多个应用程序部署到同一个项目中。另外,应用程序名称决定了 KIE 服务器加入 Business Central 或 Business Central Monitoring 上的服务器配置(服务器模板)。如果要部署多个 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 存储库的密码。 KIE Server Container Deployment (
KIE_SERVER_CONTAINER_DEPLOYMENT
):部署必须从 Maven 存储库拉取的决策服务(KJAR 文件)的识别信息。格式为<containerId>=<groupId>:<artifactId>:<version>
,或如果您要为容器设置一个别名,则为<containerId>(<aliasId>)=<groupId>:<artifactId>:<version>
。您可以使用|
分隔符提供两个或多个 KJAR 文件,如下例所示:containerId=groupId:artifactId:version|c2(alias2)=g2:a2:v2
-
KIE Server Mode (
KIE_SERVER_MODE
):在rhpam711-kieserver the.yaml
模板中,默认值为PRODUCTION
。在PRODUCTION
模式中,您无法在 KIE 服务器上部署 KJAR 工件的SNAPSHOT
版本,且无法更改现有容器中的工件版本。要使用 PRODUCTION 模式部署新版本
,请在同一 KIE 服务器上创建一个新容器。要部署SNAPSHOT
版本或更改现有容器中的工件版本,请将此参数设置为DEVELOPMENT
。 -
镜像流命名空间(
IMAGE_STREAM_NAMESPACE
):镜像流可用的命名空间。如果您的 OpenShift 环境中已有镜像流(请参阅 第 7.1 节 “确保镜像流和镜像 registry 的可用性”),则命名空间为openshift
。如果安装了镜像流文件,则 namespace 是 OpenShift 项目的名称。
-
凭证 secret (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.4.10 节 “从 KJAR 服务为不可变 KIE 服务器完成模板部署” 中的步骤操作。
10.4.3. 为来自 KJAR 服务的不可变 KIE 服务器配置镜像流命名空间
如果您在不是 openshift
的命名空间中创建镜像流,则必须在模板中配置命名空间。
如果 Red Hat OpenShift Container Platform 环境中已提供了所有镜像流,您可以跳过这个过程。
先决条件
- 您启动了模板的配置,如 第 10.4.1 节 “从 KJAR 服务开始为不可变 KIE 服务器配置模板” 所述。
流程
如果您根据 第 7.1 节 “确保镜像流和镜像 registry 的可用性” 中的说明安装了镜像流文件,请将 ImageStream Namespace (IMAGE_STREAM_NAMESPACE
)参数设置为 OpenShift 项目的名称。
10.4.4. 为来自 KJAR 服务的不可变 KIE 服务器配置有关 Business Central 或 Business Central Monitoring 实例的信息
如果要从同一命名空间中的 Business Central 或 Business Central Monitoring 实例到 KIE 服务器启用连接,您必须配置有关 Business Central 或 Business Central Monitoring 实例的信息。
Business Central 或 Business Central Monitoring 实例必须使用与 KIE 服务器相同的凭证 secret (CREDENTIALS_SECRET
)进行配置。
先决条件
- 您启动了模板的配置,如 第 10.4.1 节 “从 KJAR 服务开始为不可变 KIE 服务器配置模板” 所述。
流程
设置以下参数:
-
Name of the Business Central service (
BUSINESS_CENTRAL_SERVICE
): Business Central 或 Business Central Monitoring 的 OpenShift 服务名称。
-
Name of the Business Central service (
确保以下设置被设置为与 Business Central 或 Business Central Monitoring 相同的设置相同的值:
-
Maven 存储库 URL (
MAVEN_REPO_URL
):必须部署服务的外部 Maven 存储库的 URL。 -
Maven 存储库用户名 (
MAVEN_REPO_USERNAME
):Maven 存储库的用户名。 -
Maven 存储库密码 (
MAVEN_REPO_PASSWORD
):Maven 存储库的密码。
-
Maven 存储库 URL (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.4.10 节 “从 KJAR 服务为不可变 KIE 服务器完成模板部署” 中的步骤操作。
10.4.5. 在没有连接到来自 KJAR 服务的不可变 KIE 服务器的情况下,在环境中配置对 Maven 镜像的访问
当将模板配置为从 KJAR 服务部署不可变 KIE 服务器时,如果您的 OpenShift 环境没有连接到公共互联网,您必须配置对根据 第 7.9 节 “准备 Maven 镜像存储库以供离线使用” 设置的 Maven 镜像的访问。
先决条件
- 您启动了模板的配置,如 第 10.4.1 节 “从 KJAR 服务开始为不可变 KIE 服务器配置模板” 所述。
流程
要配置对 Maven 镜像的访问,请设置以下参数:
-
Maven 镜像 URL (
MAVEN_MIRROR_URL
):您在 第 7.9 节 “准备 Maven 镜像存储库以供离线使用” 中设置 Maven 镜像存储库的 URL。此 URL 必须可从 OpenShift 环境中的容器集访问。 Maven 镜像 (
MAVEN_MIRROR_OF
):决定要从镜像检索哪些工件的值。有关设置mirrorOf
值的说明,请参阅 Apache Maven 文档中的 镜像设置。https://maven.apache.org/guides/mini/guide-mirror-settings.html默认值为external:114
。使用此值时,Maven 从镜像检索每个所需的工件,且不会查询任何其他存储库。-
如果您配置了外部 Maven 存储库(
MAVEN_REPO_URL
),请将MAVEN_MIRROR_OF
更改为将此存储库中的工件从镜像中排除,例如external:598,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。 -
如果您配置内置的 Business Central Maven 存储库(
BUSINESS_CENTRAL_MAVEN_SERVICE
),请更改MAVEN_MIRROR_OF
以将此存储库中的工件排除在 mirror:external:39),!repo-rhpamcentr
。 -
如果您配置了这两个软件仓库,请更改
MAVEN_MIRROR_OF
,以从镜像中排除两个存储库中的工件:external: the the!repo-rhpamcentr,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。
-
如果您配置了外部 Maven 存储库(
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.4.10 节 “从 KJAR 服务为不可变 KIE 服务器完成模板部署” 中的步骤操作。
10.4.6. 为来自 KJAR 服务的不可变 KIE 服务器设置 RH-SSO 身份验证的参数
如果要使用 RH-SSO 身份验证,请在配置模板时完成以下附加配置,从 KJAR 服务部署不可变 KIE 服务器。
不要在同一部署中配置 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.4.1 节 “从 KJAR 服务开始为不可变 KIE 服务器配置模板” 所述。
流程
设置以下参数:
-
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 或 Business Central Monitoring RH-SSO Client name (
BUSINESS_CENTRAL_SSO_CLIENT
): Business Central 或 Business Central Monitoring 的 RH-SSO 客户端名称。 -
KIE Server RH-SSO Client name (
KIE_SERVER_SSO_CLIENT
): KIE 服务器的 RH-SSO 客户端名称。 -
KIE Server RH-SSO Client Secret (
KIE_SERVER_SSO_SECRET
):为 KIE 服务器的客户端在 RH-SSO 中设置的机密字符串。
-
Business Central 或 Business Central Monitoring RH-SSO Client name (
要在 RH-SSO 中为 Red Hat Process Automation Manager 创建客户端,请在模板中设置以下参数:
-
KIE Server RH-SSO Client name (
KIE_SERVER_SSO_CLIENT
):要在 KIE 服务器的 RH-SSO 中创建的客户端名称。 -
KIE Server RH-SSO Client Secret (
KIE_SERVER_SSO_SECRET
):为 KIE 服务器的客户端在 RH-SSO 中设置的 secret 字符串。 -
RH-SSO Realm Admin Username (
SSO_USERNAME
)和 RH-SSO Realm Admin Password (SSO_PASSWORD
):Red Hat Process Automation Manager 的 RH-SSO 域的域用户名和密码。您必须提供此用户名和密码才能创建所需的客户端。
-
KIE Server RH-SSO Client name (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.4.10 节 “从 KJAR 服务为不可变 KIE 服务器完成模板部署” 中的步骤操作。
完成部署后,查看 RH-SSO 身份验证系统中 Red Hat Process Automation Manager 组件的 URL,以确保它们正确。
10.4.7. 为来自 KJAR 服务的不可变 KIE 服务器设置 LDAP 身份验证参数
如果要使用 LDAP 身份验证,请在配置模板时完成以下附加配置,以便从 KJAR 服务部署不可变 KIE 服务器。
不要在同一部署中配置 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.4.1 节 “从 KJAR 服务开始为不可变 KIE 服务器配置模板” 所述。
流程
设置模板的
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.4.10 节 “从 KJAR 服务为不可变 KIE 服务器完成模板部署” 中的步骤操作。
10.4.8. 为来自 KJAR 服务的不可变 KIE 服务器设置使用外部数据库服务器的参数
如果您使用 rhpam711-kieserver-externaldb.yaml
模板将外部数据库服务器用于 KIE 服务器,请在配置模板以从 KJAR 服务部署不可变 KIE 服务器时完成以下附加配置。
先决条件
- 您启动了模板的配置,如 第 10.4.1 节 “从 KJAR 服务开始为不可变 KIE 服务器配置模板” 所述。
流程
设置以下参数:
KIE Server External Database Driver (
KIE_SERVER_EXTERNALDB_DRIVER
):服务器的驱动程序,具体取决于服务器类型:-
mysql
-
postgresql
-
mariadb
-
mssql
-
db2
-
oracle
-
法国
-
-
KIE 服务器外部数据库用户 (
KIE_SERVER_EXTERNALDB_USER
)和 KIE 服务器外部数据库密码(KIE_SERVER_EXTERNALDB_PWD
):外部数据库服务器的用户名和密码 KIE Server External Database URL (
KIE_SERVER_EXTERNALDB_URL
):外部数据库服务器的 JDBC URL注意如果您使用 EntrepriseDB Postgres 数据库服务器,请使用以
jdbc:postgresql://
开头的 URL,而不是jdbc:edb://
。或者,不要设置 URL,并设置主机和端口参数。-
KIE 服务器外部数据库主机 (
KIE_SERVER_EXTERNALDB_SERVICE_HOST
)和 KIE 服务器外部数据库端口 (KIE_SERVER_EXTERNALDB_SERVICE_PORT
):外部数据库服务器的主机名和端口号。您可以将这些参数设置为设置KIE_SERVER_EXTERNALDB_URL
参数的替代选择。 KIE Server External Database Dialect (
KIE_SERVER_EXTERNALDB_DIALECT
):服务器的 Hibernate 划分,具体取决于服务器类型。常见设置有:-
org.hibernate.dialect.MySQL5InnoDBDialect
-
org.hibernate.dialect.MySQL8Dialect
-
org.hibernate.dialect.MariaDB102Dialect
-
org.hibernate.dialect.PostgreSQL95Dialect
-
org.hibernate.dialect.PostgresPlusDialect
(用于 EntrepriseDB Postgres Advanced Server) -
org.hibernate.dialect.SQLServer2012Dialect
(used for MS SQL) -
org.hibernate.dialect.DB2Dialect
-
org.hibernate.dialect.Oracle10gDialect
org.hibernate.dialect.SybaseASE15Dialect
有关支持的 dialects 列表,请参阅 Red Hat JBoss EAP 文档中的 Hibernate 属性中的 Hibernate SQL Dialects 表。
-
-
KIE 服务器外部数据库名称 (
KIE_SERVER_EXTERNALDB_DB
):在外部数据库服务器上使用的数据库名称 -
JDBC Connection Checker 类 (
KIE_SERVER_EXTERNALDB_CONNECTION_CHECKER
):数据库服务器的 JDBC 连接检查程序类的名称。如果没有此信息,则数据库服务器连接在丢失后无法恢复,例如如果数据库服务器重启。 -
JDBC Exception Sorter 类 (
KIE_SERVER_EXTERNALDB_EXCEPTION_SORTER
):数据库服务器的 JDBC 异常分类类的名称。如果没有此信息,则数据库服务器连接在丢失后无法恢复,例如如果数据库服务器重启。
如果您为使用外部数据库服务器创建了自定义镜像,如 第 7.10 节 “为外部数据库构建自定义 KIE 服务器扩展镜像” 所述,请设置以下参数:
-
驱动程序扩展镜像 (
EXTENSIONS_IMAGE
):扩展镜像的 ImageStreamTag 定义,如jboss-kie-db2-extension-openshift-image:11.1.4.4
-
Driver ImageStream Namespace (
EXTENSIONS_IMAGE_NAMESPACE
):您将扩展镜像上传到的命名空间,如openshift
或项目命名空间。
-
驱动程序扩展镜像 (
如果您使用 MySQL 版本 8 外部数据库服务器,请启用
mysql_native_password
插件并使用它进行身份验证。有关此诊断的说明,请参阅 MySQL 8.0 参考手册 中的 原生可插拔验证。如果您使用红帽提供的 MySQL 版本 8 镜像在 Red Hat OpenShift Container Platform 上启用插件,请将
MYSQL_DEFAULT_AUTHENTICATION_PLUGIN
环境变量设置为mysql_native_password
。如果您在启用
mysql_native_password
插件前在 MySQL 8 服务器上创建了用户,您必须在启用插件后更新mysql-user
表。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.4.10 节 “从 KJAR 服务为不可变 KIE 服务器完成模板部署” 中的步骤操作。
10.4.9. 从 KJAR 服务为不可变 KIE 服务器启用 Prometheus 指标集合
如果要将 KIE 服务器部署配置为使用 Prometheus 来收集和存储指标,请在安装时在 KIE 服务器中启用对此功能的支持。
先决条件
- 您启动了模板的配置,如 第 10.4.1 节 “从 KJAR 服务开始为不可变 KIE 服务器配置模板” 所述。
流程
要启用对 Prometheus 指标集合的支持,请将 Prometheus Server Extension Disabled (PROMETHEUS_SERVER_EXT_DISABLED
)参数设置为 false
。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.4.10 节 “从 KJAR 服务为不可变 KIE 服务器完成模板部署” 中的步骤操作。
有关配置 Prometheus 指标集合的说明,请参阅 管理和监控 KIE 服务器。
10.4.10. 从 KJAR 服务为不可变 KIE 服务器完成模板部署
在 OpenShift Web UI 或命令行中设置所有必要的参数后,请完成模板部署。
流程
根据您使用的方法,完成以下步骤:
在 OpenShift Web UI 中,单击 Create。
-
如果
这将创建可能具有安全性或项目行为影响的资源
,请单击 Create Anyway。
-
如果
- 完成命令行并按 Enter。
后续步骤
根据您的环境需求,可选完成 第 13 章 部署环境后的可选步骤 中描述的步骤。
第 11 章 Freeform 受管服务器环境
您可以部署一个自由格式的服务器环境,其中包括运行 KIE Server 的几个不同 pod。这些 KIE 服务器可以针对暂存或生产目的运行不同的服务。您可以随时添加和删除服务器。
您可以通过部署 Business Central Monitoring 和一个受管 KIE 服务器来开始部署自由管理的服务器环境。在需要时,您可以使用 Business Central Monitoring 来监控和管理 KIE 服务器上的服务的执行。此环境不包括智能路由器。
您还可以部署额外的受管 KIE 服务器。每个 KIE 服务器都可以根据需要单独扩展。
在受管 KIE 服务器上,最初不会加载任何服务。使用 Business Central Monitoring 或 KIE 服务器的 REST API 在服务器上部署和取消部署进程。
您必须提供一个 Maven 存储库,其中包含您要在服务器上部署的进程(KJAR 文件)。您的集成过程必须确保所需的进程版本上传到 Maven 存储库。您可以在开发环境中使用 Business Central 来创建进程并将其上传到 Maven 存储库。
每个 KIE 服务器都使用数据库服务器。通常,数据库服务器也会在 pod 中运行,但您可以设置 KIE 服务器以使用外部数据库服务器。
您还可以在同一命名空间中部署不可变 KIE 服务器。您可以使用 Business Central Monitoring 查看环境中所有 KIE 服务器的监控信息,包括不可变服务器。有关部署不可变 KIE 服务器的步骤,请参阅 第 10.2 节 “使用 S2I 构建部署不可变 KIE 服务器” 和 第 10.4 节 “从 KJAR 服务部署不可变 KIE 服务器”。
11.1. 为自由环境部署监控和单个 KIE 服务器
要开始部署自由格式环境,请部署 Business Central Monitoring 和单个受管 KIE 服务器,该服务器使用 pod 中的 PostgreSQL 数据库服务器。KIE 服务器上没有加载任何服务。使用 Business Central Monitoring 在服务器上部署和取消部署服务。
然后您可以根据需要添加更多 KIE 服务器。
11.1.1. 启动模板配置和单个 KIE 服务器的配置
要部署 Business Central Monitoring 和单个管理的 KIE 服务器,请使用 rhpam711-managed.yaml
模板文件。
流程
-
从红帽客户门户的 软件下载 页面下载
rhpam-7.11.0-openshift-templates.zip
产品。 -
提取
rhpam711-managed.yaml
模板文件。 使用以下方法之一开始部署模板:
-
要使用 OpenShift Web UI,在 OpenShift 应用程序控制台中选择 Add to Project → Import YAML / JSON,然后选择或粘贴
rhpam711-managed.yaml
文件。在 Add Template 窗口中,确保选择了 Process,然后单击 Continue。 要使用 OpenShift 命令行控制台,准备以下命令行:
oc new-app -f <template-path>/rhpam711-managed.yaml -p BUSINESS_CENTRAL_HTTPS_SECRET=businesscentral-app-secret -p KIE_SERVER_HTTPS_SECRET=kieserver-app-secret -p PARAMETER=value
在这个命令行中,进行以下更改:
-
将
<template-path
> 替换为下载的模板文件的路径。 -
根据需要使用多个
-p PARAMETER=value
对来设置所需参数。
-
将
-
要使用 OpenShift Web UI,在 OpenShift 应用程序控制台中选择 Add to Project → Import YAML / JSON,然后选择或粘贴
后续步骤
设置模板的参数。按照 第 11.1.2 节 “设置监控和单个 KIE 服务器所需的参数” 中的步骤设置通用参数。您可以查看模板文件以查看所有参数的描述。
11.1.2. 设置监控和单个 KIE 服务器所需的参数
将模板配置为部署 Business Central Monitoring 和单个受管 KIE 服务器时,您必须在所有情况下设置以下参数。
先决条件
- 您启动了模板的配置,如 第 11.1.1 节 “启动模板配置和单个 KIE 服务器的配置” 所述。
流程
设置以下参数:
-
凭证 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” 中创建的。 -
KIE Server Keystore Secret Name (
KIE_SERVER_HTTPS_SECRET
): KIE 服务器的 secret 名称,如 第 7.2 节 “为 KIE 服务器创建 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 Certificate Name (
KIE_SERVER_HTTPS_NAME
):您在 第 7.2 节 “为 KIE 服务器创建 secret” 中创建的密钥存储中证书名称。 -
KIE Server Keystore Password (
KIE_SERVER_HTTPS_PASSWORD
): 您在 第 7.2 节 “为 KIE 服务器创建 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 存储库的密码。 -
KIE Server Mode (
KIE_SERVER_MODE
):在rhpam711-managed.yaml
模板中,默认值为PRODUCTION
。在PRODUCTION
模式中,您无法在 KIE 服务器上部署 KJAR 工件的SNAPSHOT
版本,且无法更改现有容器中的工件版本。要使用 PRODUCTION 模式部署新版本
,请在同一 KIE 服务器上创建一个新容器。要部署SNAPSHOT
版本或更改现有容器中的工件版本,请将此参数设置为DEVELOPMENT
。 -
镜像流命名空间(
IMAGE_STREAM_NAMESPACE
):镜像流可用的命名空间。如果您的 OpenShift 环境中已有镜像流(请参阅 第 7.1 节 “确保镜像流和镜像 registry 的可用性”),则命名空间为openshift
。如果安装了镜像流文件,则 namespace 是 OpenShift 项目的名称。
-
凭证 secret (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 11.1.8 节 “完成模板部署以进行监控和单个 KIE 服务器” 中的步骤操作。
11.1.3. 配置用于监控和单个 KIE 服务器的 pod 副本数
将模板配置为部署 Business Central Monitoring 和单个受管 KIE 服务器时,您可以为 KIE 服务器和 Business Central Monitoring 设置初始副本数。
先决条件
- 您启动了模板的配置,如 第 11.1.1 节 “启动模板配置和单个 KIE 服务器的配置” 所述。
流程
要配置副本数,请设置以下参数:
-
Business Central Monitoring Container Replicas (
BUSINESS_CENTRAL_MONITORING_CONTAINER_REPLICAS
):部署最初为 Business Central Monitoring 创建的副本数。如果您不想对 Business Central Monitoring 使用高可用性配置,请将这个数字设置为 1。 -
KIE Server Container Replicas (
KIE_SERVER_CONTAINER_REPLICAS
):部署最初为 KIE 服务器创建的副本数。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 11.1.8 节 “完成模板部署以进行监控和单个 KIE 服务器” 中的步骤操作。
11.1.4. 在没有连接到公共互联网以及单个 KIE Server 的情况下配置对 Maven 镜像的访问
当将模板配置为部署 Business Central Monitoring 和单个受管 KIE 服务器时,如果您的 OpenShift 环境没有连接到公共互联网,您必须配置对根据 第 7.9 节 “准备 Maven 镜像存储库以供离线使用” 设置的 Maven 镜像的访问。
先决条件
- 您启动了模板的配置,如 第 11.1.1 节 “启动模板配置和单个 KIE 服务器的配置” 所述。
流程
要配置对 Maven 镜像的访问,请设置以下参数:
-
Maven 镜像 URL (
MAVEN_MIRROR_URL
):您在 第 7.9 节 “准备 Maven 镜像存储库以供离线使用” 中设置 Maven 镜像存储库的 URL。此 URL 必须可从 OpenShift 环境中的容器集访问。 Maven 镜像 (
MAVEN_MIRROR_OF
):决定要从镜像检索哪些工件的值。有关设置mirrorOf
值的说明,请参阅 Apache Maven 文档中的 镜像设置。https://maven.apache.org/guides/mini/guide-mirror-settings.html默认值为external:114
。使用此值时,Maven 从镜像检索每个所需的工件,且不会查询任何其他存储库。-
如果您配置了外部 Maven 存储库(
MAVEN_REPO_URL
),请将MAVEN_MIRROR_OF
更改为将此存储库中的工件从镜像中排除,例如external:598,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。 -
如果您配置内置的 Business Central Maven 存储库(
BUSINESS_CENTRAL_MAVEN_SERVICE
),请更改MAVEN_MIRROR_OF
以将此存储库中的工件排除在 mirror:external:39),!repo-rhpamcentr
。 -
如果您配置了这两个软件仓库,请更改
MAVEN_MIRROR_OF
,以从镜像中排除两个存储库中的工件:external: the the!repo-rhpamcentr,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。
-
如果您配置了外部 Maven 存储库(
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 11.1.8 节 “完成模板部署以进行监控和单个 KIE 服务器” 中的步骤操作。
11.1.5. 为监控和单个 KIE 服务器设置 RH-SSO 身份验证参数
如果要使用 RH-SSO 身份验证,请在配置模板来部署 Business Central Monitoring 和单个受管 KIE Server 时完成以下附加配置。
不要在同一部署中配置 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 部署也可以创建客户端。但是,这个选项对环境提供较少的详细控制。
- 您启动了模板的配置,如 第 11.1.1 节 “启动模板配置和单个 KIE 服务器的配置” 所述。
流程
设置以下参数:
-
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 中设置的机密字符串。 -
KIE Server RH-SSO Client name (
KIE_SERVER_SSO_CLIENT
): KIE 服务器的 RH-SSO 客户端名称。 -
KIE Server RH-SSO Client Secret (
KIE_SERVER_SSO_SECRET
):为 KIE 服务器的客户端在 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 中设置的机密字符串。 -
KIE Server RH-SSO Client name (
KIE_SERVER_SSO_CLIENT
):要在 KIE 服务器的 RH-SSO 中创建的客户端名称。 -
KIE Server RH-SSO Client Secret (
KIE_SERVER_SSO_SECRET
):为 KIE 服务器的客户端在 RH-SSO 中设置的 secret 字符串。 -
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 (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 11.1.8 节 “完成模板部署以进行监控和单个 KIE 服务器” 中的步骤操作。
完成部署后,查看 RH-SSO 身份验证系统中 Red Hat Process Automation Manager 组件的 URL,以确保它们正确。
11.1.6. 为监控和单个 KIE 服务器设置 LDAP 身份验证参数
如果要使用 LDAP 身份验证,请在配置模板来部署 Business Central Monitoring 和单个受管 KIE Server 时完成以下附加配置。
不要在同一部署中配置 LDAP 身份验证和 RH-SSO 身份验证。
先决条件
您在 LDAP 系统中为 Red Hat Process Automation Manager 创建用户名和密码。有关可用角色的列表,请参阅 第 14 章 Red Hat Process Automation Manager 角色和用户。
您必须为管理用户在 secret 中配置的用户名和密码的用户,如 第 7.5 节 “为管理用户创建 secret” 所述。此用户必须具有
kie-server、rest-all、admin
角色。- 您启动了模板的配置,如 第 11.1.1 节 “启动模板配置和单个 KIE 服务器的配置” 所述。
流程
设置模板的
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 文件路径 (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 11.1.8 节 “完成模板部署以进行监控和单个 KIE 服务器” 中的步骤操作。
11.1.7. 启用 Prometheus 指标集合来监控和单个 KIE 服务器
如果要将 KIE 服务器部署配置为使用 Prometheus 来收集和存储指标,请在安装时在 KIE 服务器中启用对此功能的支持。
先决条件
- 您启动了模板的配置,如 第 11.1.1 节 “启动模板配置和单个 KIE 服务器的配置” 所述。
流程
要启用对 Prometheus 指标集合的支持,请将 Prometheus Server Extension Disabled (PROMETHEUS_SERVER_EXT_DISABLED
)参数设置为 false
。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 11.1.8 节 “完成模板部署以进行监控和单个 KIE 服务器” 中的步骤操作。
有关配置 Prometheus 指标集合的说明,请参阅 管理和监控 KIE 服务器。
11.1.8. 完成模板部署以进行监控和单个 KIE 服务器
在 OpenShift Web UI 或命令行中设置所有必要的参数后,请完成模板部署。
流程
根据您使用的方法,完成以下步骤:
在 OpenShift Web UI 中,单击 Create。
-
如果
这将创建可能具有安全性或项目行为影响的资源
,请单击 Create Anyway。
-
如果
- 完成命令行并按 Enter。
后续步骤
根据您的环境需求,可选完成 第 13 章 部署环境后的可选步骤 中描述的步骤。
11.2. 为自由格式环境部署额外的受管 KIE 服务器
您可以将受管 KIE 服务器添加到自由格式环境中。此服务器可以在 pod 或外部数据库服务器中使用 PostgreSQL 或 MySQL 数据库服务器。
在与 Business Central Monitoring 部署相同的项目中部署服务器。
KIE 服务器从 Maven 存储库加载服务。
服务器在没有加载的服务的情况下启动。使用 Business Central Monitoring 或 KIE 服务器的 REST API 在服务器上部署和取消部署服务。
11.2.1. 为额外的受管 KIE 服务器启动模板配置
要部署额外的受管 KIE 服务器,请使用 {template_name}
模板文件。
流程
-
从红帽客户门户的 软件下载 页面下载
rhpam-7.11.0-openshift-templates.zip
产品。 -
提取
{template_name}
模板文件。 使用以下方法之一开始部署模板:
-
要使用 OpenShift Web UI,在 OpenShift 应用程序控制台中选择 Add to Project → Import YAML / JSON,然后选择或粘贴
{template_name}
文件。在 Add Template 窗口中,确保选择了 Process,然后单击 Continue。 要使用 OpenShift 命令行控制台,准备以下命令行:
oc new-app -f <template-path>/{template_name} -p PARAMETER=value
在这个命令行中,进行以下更改:
-
将
<template-path
> 替换为下载的模板文件的路径。 -
根据需要使用多个
-p PARAMETER=value
对来设置所需参数。
-
将
-
要使用 OpenShift Web UI,在 OpenShift 应用程序控制台中选择 Add to Project → Import YAML / JSON,然后选择或粘贴
后续步骤
设置模板的参数。按照 第 11.2.2 节 “为其他受管 KIE 服务器设置所需的参数” 中的步骤设置通用参数。您可以查看模板文件以查看所有参数的描述。
11.2.2. 为其他受管 KIE 服务器设置所需的参数
将模板配置为部署额外的受管 KIE 服务器时,您必须在所有情况下设置以下参数。
先决条件
- 您启动了模板的配置,如 第 11.2.1 节 “为额外的受管 KIE 服务器启动模板配置” 所述。
流程
设置以下参数:
-
凭证 secret (
CREDENTIALS_SECRET
):包含管理用户凭证的 secret 名称,如 第 7.5 节 “为管理用户创建 secret” 中创建的。 -
应用名称 (
APPLICATION_NAME
):OpenShift 应用的名称。它用于 Business Central Monitoring 和 KIE Server 的默认 URL。OpenShift 使用应用程序名称创建一组单独的部署配置、服务、路由、标签和工件。 -
镜像流命名空间(
IMAGE_STREAM_NAMESPACE
):镜像流可用的命名空间。如果您的 OpenShift 环境中已有镜像流(请参阅 第 7.1 节 “确保镜像流和镜像 registry 的可用性”),则命名空间为openshift
。如果安装了镜像流文件,则 namespace 是 OpenShift 项目的名称。
-
凭证 secret (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 11.2.10 节 “为额外的受管 KIE 服务器完成模板部署” 中的步骤操作。
11.2.3. 为额外的受管 KIE 服务器配置镜像流命名空间
如果您在不是 openshift
的命名空间中创建镜像流,则必须在模板中配置命名空间。
如果 Red Hat OpenShift Container Platform 环境中已提供了所有镜像流,您可以跳过这个过程。
先决条件
- 您启动了模板的配置,如 第 11.2.1 节 “为额外的受管 KIE 服务器启动模板配置” 所述。
流程
如果您根据 第 7.1 节 “确保镜像流和镜像 registry 的可用性” 中的说明安装了镜像流文件,请将 ImageStream Namespace (IMAGE_STREAM_NAMESPACE
)参数设置为 OpenShift 项目的名称。
11.2.4. 为额外的受管 KIE 服务器配置 Business Central Monitoring 实例的信息
如果要从同一命名空间中的 Business Central Monitoring 实例到 KIE 服务器启用连接,您必须配置有关 Business Central Monitoring 实例的信息。
Business Central Monitoring 实例必须使用与 KIE 服务器相同的凭证 secret (CREDENTIALS_SECRET
)进行配置。
先决条件
- 您启动了模板的配置,如 第 11.2.1 节 “为额外的受管 KIE 服务器启动模板配置” 所述。
流程
设置以下参数:
-
Name of the Business Central service (
BUSINESS_CENTRAL_SERVICE
): Business Central Monitoring 的 OpenShift 服务名称。
-
Name of the Business Central service (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 11.2.10 节 “为额外的受管 KIE 服务器完成模板部署” 中的步骤操作。
11.2.5. 在没有连接到公共互联网的环境中为额外的受管 KIE 服务器配置对 Maven 镜像的访问
当将模板配置为部署额外的受管 KIE 服务器时,如果您的 OpenShift 环境没有连接到公共互联网,您必须配置根据 第 7.9 节 “准备 Maven 镜像存储库以供离线使用” 设置的 Maven 镜像的访问权限。
先决条件
- 您启动了模板的配置,如 第 11.2.1 节 “为额外的受管 KIE 服务器启动模板配置” 所述。
流程
要配置对 Maven 镜像的访问,请设置以下参数:
-
Maven 镜像 URL (
MAVEN_MIRROR_URL
):您在 第 7.9 节 “准备 Maven 镜像存储库以供离线使用” 中设置 Maven 镜像存储库的 URL。此 URL 必须可从 OpenShift 环境中的容器集访问。 Maven 镜像 (
MAVEN_MIRROR_OF
):决定要从镜像检索哪些工件的值。有关设置mirrorOf
值的说明,请参阅 Apache Maven 文档中的 镜像设置。https://maven.apache.org/guides/mini/guide-mirror-settings.html默认值为external:114
。使用此值时,Maven 从镜像检索每个所需的工件,且不会查询任何其他存储库。-
如果您配置了外部 Maven 存储库(
MAVEN_REPO_URL
),请将MAVEN_MIRROR_OF
更改为将此存储库中的工件从镜像中排除,例如external:598,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。 -
如果您配置内置的 Business Central Maven 存储库(
BUSINESS_CENTRAL_MAVEN_SERVICE
),请更改MAVEN_MIRROR_OF
以将此存储库中的工件排除在 mirror:external:39),!repo-rhpamcentr
。 -
如果您配置了这两个软件仓库,请更改
MAVEN_MIRROR_OF
,以从镜像中排除两个存储库中的工件:external: the the!repo-rhpamcentr,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。
-
如果您配置了外部 Maven 存储库(
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 11.2.10 节 “为额外的受管 KIE 服务器完成模板部署” 中的步骤操作。
11.2.6. 为额外的受管 KIE 服务器设置 RH-SSO 身份验证的参数
如果要使用 RH-SSO 身份验证,请在配置模板以部署额外的 KIE Server 时完成以下附加配置。
不要在同一部署中配置 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 部署也可以创建客户端。但是,这个选项对环境提供较少的详细控制。
- 您启动了模板的配置,如 第 11.2.1 节 “为额外的受管 KIE 服务器启动模板配置” 所述。
流程
设置以下参数:
-
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 name (
要在 RH-SSO 中为 Red Hat Process Automation Manager 创建客户端,请在模板中设置以下参数:
-
RH-SSO Realm Admin Username (
SSO_USERNAME
)和 RH-SSO Realm Admin Password (SSO_PASSWORD
):Red Hat Process Automation Manager 的 RH-SSO 域的域用户名和密码。您必须提供此用户名和密码才能创建所需的客户端。
-
RH-SSO Realm Admin Username (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 11.2.10 节 “为额外的受管 KIE 服务器完成模板部署” 中的步骤操作。
完成部署后,查看 RH-SSO 身份验证系统中 Red Hat Process Automation Manager 组件的 URL,以确保它们正确。
11.2.7. 为其他受管 KIE 服务器设置 LDAP 身份验证的参数
如果要使用 LDAP 身份验证,请在配置模板来部署额外的 KIE 服务器时完成以下附加配置。
不要在同一部署中配置 LDAP 身份验证和 RH-SSO 身份验证。
先决条件
您在 LDAP 系统中为 Red Hat Process Automation Manager 创建用户名和密码。有关可用角色的列表,请参阅 第 14 章 Red Hat Process Automation Manager 角色和用户。
您必须为管理用户在 secret 中配置的用户名和密码的用户,如 第 7.5 节 “为管理用户创建 secret” 所述。此用户必须具有
kie-server、rest-all、admin
角色。- 您启动了模板的配置,如 第 11.2.1 节 “为额外的受管 KIE 服务器启动模板配置” 所述。
流程
设置模板的
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 文件路径 (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 11.2.10 节 “为额外的受管 KIE 服务器完成模板部署” 中的步骤操作。
11.2.8. 设置使用外部数据库服务器进行额外的受管 KIE 服务器的参数
如果您使用 rhpam711-kieserver-externaldb.yaml
模板将外部数据库服务器用于 KIE 服务器,请在配置模板以部署额外的 KIE 服务器时完成以下附加配置。
先决条件
- 您启动了模板的配置,如 第 11.2.1 节 “为额外的受管 KIE 服务器启动模板配置” 所述。
流程
设置以下参数:
KIE Server External Database Driver (
KIE_SERVER_EXTERNALDB_DRIVER
):服务器的驱动程序,具体取决于服务器类型:-
mysql
-
postgresql
-
mariadb
-
mssql
-
db2
-
oracle
-
法国
-
-
KIE 服务器外部数据库用户 (
KIE_SERVER_EXTERNALDB_USER
)和 KIE 服务器外部数据库密码(KIE_SERVER_EXTERNALDB_PWD
):外部数据库服务器的用户名和密码 KIE Server External Database URL (
KIE_SERVER_EXTERNALDB_URL
):外部数据库服务器的 JDBC URL注意如果您使用 EntrepriseDB Postgres 数据库服务器,请使用以
jdbc:postgresql://
开头的 URL,而不是jdbc:edb://
。或者,不要设置 URL,并设置主机和端口参数。-
KIE 服务器外部数据库主机 (
KIE_SERVER_EXTERNALDB_SERVICE_HOST
)和 KIE 服务器外部数据库端口 (KIE_SERVER_EXTERNALDB_SERVICE_PORT
):外部数据库服务器的主机名和端口号。您可以将这些参数设置为设置KIE_SERVER_EXTERNALDB_URL
参数的替代选择。 KIE Server External Database Dialect (
KIE_SERVER_EXTERNALDB_DIALECT
):服务器的 Hibernate 划分,具体取决于服务器类型。常见设置有:-
org.hibernate.dialect.MySQL5InnoDBDialect
-
org.hibernate.dialect.MySQL8Dialect
-
org.hibernate.dialect.MariaDB102Dialect
-
org.hibernate.dialect.PostgreSQL95Dialect
-
org.hibernate.dialect.PostgresPlusDialect
(用于 EntrepriseDB Postgres Advanced Server) -
org.hibernate.dialect.SQLServer2012Dialect
(used for MS SQL) -
org.hibernate.dialect.DB2Dialect
-
org.hibernate.dialect.Oracle10gDialect
org.hibernate.dialect.SybaseASE15Dialect
有关支持的 dialects 列表,请参阅 Red Hat JBoss EAP 文档中的 Hibernate 属性中的 Hibernate SQL Dialects 表。
-
-
KIE 服务器外部数据库名称 (
KIE_SERVER_EXTERNALDB_DB
):在外部数据库服务器上使用的数据库名称 -
JDBC Connection Checker 类 (
KIE_SERVER_EXTERNALDB_CONNECTION_CHECKER
):数据库服务器的 JDBC 连接检查程序类的名称。如果没有此信息,则数据库服务器连接在丢失后无法恢复,例如如果数据库服务器重启。 -
JDBC Exception Sorter 类 (
KIE_SERVER_EXTERNALDB_EXCEPTION_SORTER
):数据库服务器的 JDBC 异常分类类的名称。如果没有此信息,则数据库服务器连接在丢失后无法恢复,例如如果数据库服务器重启。
如果您为使用外部数据库服务器创建了自定义镜像,如 第 7.10 节 “为外部数据库构建自定义 KIE 服务器扩展镜像” 所述,请设置以下参数:
-
驱动程序扩展镜像 (
EXTENSIONS_IMAGE
):扩展镜像的 ImageStreamTag 定义,如jboss-kie-db2-extension-openshift-image:11.1.4.4
-
Driver ImageStream Namespace (
EXTENSIONS_IMAGE_NAMESPACE
):您将扩展镜像上传到的命名空间,如openshift
或项目命名空间。
-
驱动程序扩展镜像 (
如果您使用 MySQL 版本 8 外部数据库服务器,请启用
mysql_native_password
插件并使用它进行身份验证。有关此诊断的说明,请参阅 MySQL 8.0 参考手册 中的 原生可插拔验证。如果您使用红帽提供的 MySQL 版本 8 镜像在 Red Hat OpenShift Container Platform 上启用插件,请将
MYSQL_DEFAULT_AUTHENTICATION_PLUGIN
环境变量设置为mysql_native_password
。如果您在启用
mysql_native_password
插件前在 MySQL 8 服务器上创建了用户,您必须在启用插件后更新mysql-user
表。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 11.2.10 节 “为额外的受管 KIE 服务器完成模板部署” 中的步骤操作。
11.2.9. 为额外的受管 KIE 服务器启用 Prometheus 指标集合
如果要将 KIE 服务器部署配置为使用 Prometheus 来收集和存储指标,请在安装时在 KIE 服务器中启用对此功能的支持。
先决条件
- 您启动了模板的配置,如 第 11.2.1 节 “为额外的受管 KIE 服务器启动模板配置” 所述。
流程
要启用对 Prometheus 指标集合的支持,请将 Prometheus Server Extension Disabled (PROMETHEUS_SERVER_EXT_DISABLED
)参数设置为 false
。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 11.2.10 节 “为额外的受管 KIE 服务器完成模板部署” 中的步骤操作。
有关配置 Prometheus 指标集合的说明,请参阅 管理和监控 KIE 服务器。
11.2.10. 为额外的受管 KIE 服务器完成模板部署
在 OpenShift Web UI 或命令行中设置所有必要的参数后,请完成模板部署。
流程
根据您使用的方法,完成以下步骤:
在 OpenShift Web UI 中,单击 Create。
-
如果
这将创建可能具有安全性或项目行为影响的资源
,请单击 Create Anyway。
-
如果
- 完成命令行并按 Enter。
后续步骤
根据您的环境需求,可选完成 第 13 章 部署环境后的可选步骤 中描述的步骤。
第 12 章 修复了受管服务器环境
您可以在单一部署中部署固定受管服务器环境,其中包括几个运行 KIE Server 的不同 pod。服务器上最初不会加载任何进程。默认情况下,数据库服务器也在 pod 中运行。每个 KIE Server pod 可以根据需要单独扩展。
另外,还部署了具有 Business Central Monitoring 和带有智能路由器的 pod 的 pod。您必须使用 Business Central Monitoring 在 KIE 服务器上部署、加载和卸载进程。您还可以使用它来查看监控信息。
Smart Router 是一个端点,可以从客户端应用程序接收调用到任何进程,并将每个调用自动路由到运行进程的服务器。
默认情况下,模板创建两个独立的 KIE 服务器。您可以修改模板,以在部署前更改 KIE Servers 的数量。您不能稍后轻松添加或删除 KIE 服务器。
您必须提供一个 Maven 存储库,其中包含您要在服务器上部署的进程(KJAR 文件)。您的集成过程必须确保所需的进程版本上传到 Maven 存储库。您可以在开发环境中使用 Business Central 来创建进程并将其上传到 Maven 存储库。
12.1. 部署固定受管服务器环境
您可以使用单个模板部署固定受管服务器环境。模板文件的名称是 rhpam711-prod.yaml
。
该模板包括两个 KIE Server pod (带有 PostgreSQL 数据库 pod)、高可用性配置中的智能路由器,以及高可用性配置中的 Business Central Monitoring。
在配置部署时,您可以更改所有组件的副本数。如果要修改独立 KIE 服务器 pod 的数量或使用不同的数据库服务器,您必须修改模板。有关修改模板的步骤,请参考 第 12.2 节 “为固定受管环境修改模板”。
修复了受管环境模板在 Red Hat Process Automation Manager 7.11 中已弃用。它将在以后的发行版本中被删除。
12.1.1. 为固定受管服务器环境启动模板配置
要部署固定的受管服务器环境,请使用 rhpam711-prod.yaml
模板文件。
流程
-
从红帽客户门户的 软件下载 页面下载
rhpam-7.11.0-openshift-templates.zip
产品。 -
提取
rhpam711-prod.yaml
模板文件。 - 默认情况下,模板包含两个 KIE 服务器。每个服务都使用 pod 中的 PostgreSQL 数据库服务器。要更改 KIE 服务器的数量或在 pod 或外部数据库服务器中使用 MySQL 数据库服务器,请修改模板,如 第 12.2 节 “为固定受管环境修改模板” 所述。
使用以下方法之一开始部署模板:
-
要使用 OpenShift Web UI,在 OpenShift 应用程序控制台中选择 Add to Project → Import YAML / JSON,然后选择或粘贴
rhpam711-prod.yaml
文件。在 Add Template 窗口中,确保选择了 Process,然后单击 Continue。 要使用 OpenShift 命令行控制台,准备以下命令行:
oc new-app -f <template-path>/rhpam711-prod.yaml -p BUSINESS_CENTRAL_HTTPS_SECRET=businesscentral-app-secret -p KIE_SERVER_HTTPS_SECRET=kieserver-app-secret -p PARAMETER=value
在这个命令行中,进行以下更改:
-
将
<template-path
> 替换为下载的模板文件的路径。 -
根据需要使用多个
-p PARAMETER=value
对来设置所需参数。
-
将
-
要使用 OpenShift Web UI,在 OpenShift 应用程序控制台中选择 Add to Project → Import YAML / JSON,然后选择或粘贴
后续步骤
设置模板的参数。按照 第 12.1.2 节 “为固定受管服务器环境设置所需的参数” 中的步骤设置通用参数。您可以查看模板文件以查看所有参数的描述。
12.1.2. 为固定受管服务器环境设置所需的参数
将模板配置为部署固定受管服务器环境时,您必须在所有情况下设置以下参数。
先决条件
- 您启动了模板的配置,如 第 12.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” 中创建的。 -
KIE Server Keystore Secret Name (
KIE_SERVER_HTTPS_SECRET
): KIE 服务器的 secret 名称,如 第 7.2 节 “为 KIE 服务器创建 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 Certificate Name (
KIE_SERVER_HTTPS_NAME
):您在 第 7.2 节 “为 KIE 服务器创建 secret” 中创建的密钥存储中证书名称。 -
KIE Server Keystore Password (
KIE_SERVER_HTTPS_PASSWORD
): 您在 第 7.2 节 “为 KIE 服务器创建 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 服务器加入 Business Central Monitoring 上的服务器配置(服务器模板)。如果要部署多个 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 存储库的密码。 -
KIE Server Mode (
KIE_SERVER_MODE
):在rhpam711-kieserver the.yaml
模板中,默认值为PRODUCTION
。在PRODUCTION
模式中,您无法在 KIE 服务器上部署 KJAR 工件的SNAPSHOT
版本,且无法更改现有容器中的工件版本。要使用 PRODUCTION 模式部署新版本
,请在同一 KIE 服务器上创建一个新容器。要部署SNAPSHOT
版本或更改现有容器中的工件版本,请将此参数设置为DEVELOPMENT
。 -
镜像流命名空间(
IMAGE_STREAM_NAMESPACE
):镜像流可用的命名空间。如果您的 OpenShift 环境中已有镜像流(请参阅 第 7.1 节 “确保镜像流和镜像 registry 的可用性”),则命名空间为openshift
。如果安装了镜像流文件,则 namespace 是 OpenShift 项目的名称。
-
凭证 secret (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 12.1.10 节 “为固定受管服务器环境完成模板部署” 中的步骤操作。
12.1.3. 为固定受管服务器环境配置镜像流命名空间
如果您在不是 openshift
的命名空间中创建镜像流,则必须在模板中配置命名空间。
如果 Red Hat OpenShift Container Platform 环境中已提供了所有镜像流,您可以跳过这个过程。
先决条件
- 您启动了模板的配置,如 第 12.1.1 节 “为固定受管服务器环境启动模板配置” 所述。
流程
如果您根据 第 7.1 节 “确保镜像流和镜像 registry 的可用性” 中的说明安装了镜像流文件,请将 ImageStream Namespace (IMAGE_STREAM_NAMESPACE
)参数设置为 OpenShift 项目的名称。
12.1.4. 为固定受管服务器环境配置 pod 副本数
将模板配置为部署固定受管服务器环境时,您可以为 KIE 服务器、Business Central Monitoring 和 Smart Router 设置初始副本数。
先决条件
- 您启动了模板的配置,如 第 12.1.1 节 “为固定受管服务器环境启动模板配置” 所述。
流程
要配置副本数,请设置以下参数:
-
Business Central Monitoring Container Replicas (
BUSINESS_CENTRAL_MONITORING_CONTAINER_REPLICAS
):部署最初为 Business Central Monitoring 创建的副本数。如果您不想对 Business Central Monitoring 使用高可用性配置,请将这个数字设置为 1。 -
KIE Server Container Replicas (
KIE_SERVER_CONTAINER_REPLICAS
):部署最初为 KIE 服务器创建的副本数。 -
Smart Router Container Replicas (
SMART_ROUTER_CONTAINER_REPLICAS
):部署最初为智能路由器创建的副本数。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 12.1.10 节 “为固定受管服务器环境完成模板部署” 中的步骤操作。
12.1.5. 在没有连接到公共互联网的环境中为固定受管服务器环境配置对 Maven 镜像的访问
当将模板配置为部署固定受管服务器环境时,如果您的 OpenShift 环境没有连接到公共互联网,您必须配置根据 第 7.9 节 “准备 Maven 镜像存储库以供离线使用” 设置的 Maven 镜像的访问权限。
先决条件
- 您启动了模板的配置,如 第 12.1.1 节 “为固定受管服务器环境启动模板配置” 所述。
流程
要配置对 Maven 镜像的访问,请设置以下参数:
-
Maven 镜像 URL (
MAVEN_MIRROR_URL
):您在 第 7.9 节 “准备 Maven 镜像存储库以供离线使用” 中设置 Maven 镜像存储库的 URL。此 URL 必须可从 OpenShift 环境中的容器集访问。 Maven 镜像 (
MAVEN_MIRROR_OF
):决定要从镜像检索哪些工件的值。有关设置mirrorOf
值的说明,请参阅 Apache Maven 文档中的 镜像设置。https://maven.apache.org/guides/mini/guide-mirror-settings.html默认值为external:114
。使用此值时,Maven 从镜像检索每个所需的工件,且不会查询任何其他存储库。-
如果您配置了外部 Maven 存储库(
MAVEN_REPO_URL
),请将MAVEN_MIRROR_OF
更改为将此存储库中的工件从镜像中排除,例如external:598,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。 -
如果您配置内置的 Business Central Maven 存储库(
BUSINESS_CENTRAL_MAVEN_SERVICE
),请更改MAVEN_MIRROR_OF
以将此存储库中的工件排除在 mirror:external:39),!repo-rhpamcentr
。 -
如果您配置了这两个软件仓库,请更改
MAVEN_MIRROR_OF
,以从镜像中排除两个存储库中的工件:external: the the!repo-rhpamcentr,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。
-
如果您配置了外部 Maven 存储库(
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 12.1.10 节 “为固定受管服务器环境完成模板部署” 中的步骤操作。
12.1.6. 为固定受管服务器环境设置 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 部署也可以创建客户端。但是,这个选项对环境提供较少的详细控制。
- 您启动了模板的配置,如 第 12.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 客户端名称。 对于模板中定义的每个 KIE 服务器:
-
KIE Server n RH-SSO Client name (
KIE_SERVERn_SSO_CLIENT
):此 KIE 服务器的 RH-SSO 客户端名称。 -
KIE Server n RH-SSO Client Secret (
KIE_SERVERn_SSO_SECRET
):此 KIE 服务器的客户端的 RH-SSO 中设置的机密字符串。
-
KIE Server n RH-SSO Client name (
-
Business Central Monitoring RH-SSO Client name (
要在 RH-SSO 中为 Red Hat Process Automation Manager 创建客户端,请在模板中设置以下参数:
对于模板中定义的每个 KIE 服务器:
-
KIE Server n RH-SSO Client name (
KIE_SERVERn_SSO_CLIENT
):此 KIE 服务器在 RH-SSO 中创建的客户端名称。 -
KIE Server n RH-SSO Client Secret (
KIE_SERVERn_SSO_SECRET
):此 KIE 服务器的客户端在 RH-SSO 中设置的机密字符串。
-
KIE Server n RH-SSO Client name (
-
RH-SSO Realm Admin Username (
SSO_USERNAME
)和 RH-SSO Realm Admin Password (SSO_PASSWORD
):Red Hat Process Automation Manager 的 RH-SSO 域的域用户名和密码。您必须提供此用户名和密码才能创建所需的客户端。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 12.1.10 节 “为固定受管服务器环境完成模板部署” 中的步骤操作。
完成部署后,查看 RH-SSO 身份验证系统中 Red Hat Process Automation Manager 组件的 URL,以确保它们正确。
12.1.7. 为固定受管服务器环境设置 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
角色。- 您启动了模板的配置,如 第 12.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 文件路径 (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 12.1.10 节 “为固定受管服务器环境完成模板部署” 中的步骤操作。
12.1.8. 为固定受管服务器环境设置使用外部数据库服务器的参数
如果您将模板修改为将外部数据库服务器用于 KIE 服务器,如 第 12.2 节 “为固定受管环境修改模板” 所述,请在配置模板以部署固定受管服务器环境时完成以下附加配置。
先决条件
- 您启动了模板的配置,如 第 12.1.1 节 “为固定受管服务器环境启动模板配置” 所述。
流程
设置以下参数:
KIE Server External Database Driver (
KIE_SERVER_EXTERNALDB_DRIVER
):服务器的驱动程序,具体取决于服务器类型:-
mysql
-
postgresql
-
mariadb
-
mssql
-
db2
-
oracle
-
法国
-
-
KIE 服务器外部数据库用户 (
KIE_SERVER_EXTERNALDB_USER
)和 KIE 服务器外部数据库密码(KIE_SERVER_EXTERNALDB_PWD
):外部数据库服务器的用户名和密码 KIE Server External Database URL (
KIE_SERVER_EXTERNALDB_URL
):外部数据库服务器的 JDBC URL注意如果您使用 EntrepriseDB Postgres 数据库服务器,请使用以
jdbc:postgresql://
开头的 URL,而不是jdbc:edb://
。或者,不要设置 URL,并设置主机和端口参数。-
KIE 服务器外部数据库主机 (
KIE_SERVER_EXTERNALDB_SERVICE_HOST
)和 KIE 服务器外部数据库端口 (KIE_SERVER_EXTERNALDB_SERVICE_PORT
):外部数据库服务器的主机名和端口号。您可以将这些参数设置为设置KIE_SERVER_EXTERNALDB_URL
参数的替代选择。 KIE Server External Database Dialect (
KIE_SERVER_EXTERNALDB_DIALECT
):服务器的 Hibernate 划分,具体取决于服务器类型。常见设置有:-
org.hibernate.dialect.MySQL5InnoDBDialect
-
org.hibernate.dialect.MySQL8Dialect
-
org.hibernate.dialect.MariaDB102Dialect
-
org.hibernate.dialect.PostgreSQL95Dialect
-
org.hibernate.dialect.PostgresPlusDialect
(用于 EntrepriseDB Postgres Advanced Server) -
org.hibernate.dialect.SQLServer2012Dialect
(used for MS SQL) -
org.hibernate.dialect.DB2Dialect
-
org.hibernate.dialect.Oracle10gDialect
org.hibernate.dialect.SybaseASE15Dialect
有关支持的 dialects 列表,请参阅 Red Hat JBoss EAP 文档中的 Hibernate 属性中的 Hibernate SQL Dialects 表。
-
-
KIE 服务器外部数据库名称 (
KIE_SERVER_EXTERNALDB_DB
):在外部数据库服务器上使用的数据库名称 -
JDBC Connection Checker 类 (
KIE_SERVER_EXTERNALDB_CONNECTION_CHECKER
):数据库服务器的 JDBC 连接检查程序类的名称。如果没有此信息,则数据库服务器连接在丢失后无法恢复,例如如果数据库服务器重启。 -
JDBC Exception Sorter 类 (
KIE_SERVER_EXTERNALDB_EXCEPTION_SORTER
):数据库服务器的 JDBC 异常分类类的名称。如果没有此信息,则数据库服务器连接在丢失后无法恢复,例如如果数据库服务器重启。
如果您为使用外部数据库服务器创建了自定义镜像,如 第 7.10 节 “为外部数据库构建自定义 KIE 服务器扩展镜像” 所述,请设置以下参数:
-
驱动程序扩展镜像 (
EXTENSIONS_IMAGE
):扩展镜像的 ImageStreamTag 定义,如jboss-kie-db2-extension-openshift-image:11.1.4.4
-
Driver ImageStream Namespace (
EXTENSIONS_IMAGE_NAMESPACE
):您将扩展镜像上传到的命名空间,如openshift
或项目命名空间。
-
驱动程序扩展镜像 (
如果您使用 MySQL 版本 8 外部数据库服务器,请启用
mysql_native_password
插件并使用它进行身份验证。有关此诊断的说明,请参阅 MySQL 8.0 参考手册 中的 原生可插拔验证。如果您使用红帽提供的 MySQL 版本 8 镜像在 Red Hat OpenShift Container Platform 上启用插件,请将
MYSQL_DEFAULT_AUTHENTICATION_PLUGIN
环境变量设置为mysql_native_password
。如果您在启用
mysql_native_password
插件前在 MySQL 8 服务器上创建了用户,您必须在启用插件后更新mysql-user
表。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 12.1.10 节 “为固定受管服务器环境完成模板部署” 中的步骤操作。
12.1.9. 为固定受管服务器环境启用 Prometheus 指标集合
如果要将 KIE 服务器部署配置为使用 Prometheus 来收集和存储指标,请在安装时在 KIE 服务器中启用对此功能的支持。
先决条件
- 您启动了模板的配置,如 第 12.1.1 节 “为固定受管服务器环境启动模板配置” 所述。
流程
要启用对 Prometheus 指标集合的支持,请将 Prometheus Server Extension Disabled (PROMETHEUS_SERVER_EXT_DISABLED
)参数设置为 false
。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 12.1.10 节 “为固定受管服务器环境完成模板部署” 中的步骤操作。
有关配置 Prometheus 指标集合的说明,请参阅 管理和监控 KIE 服务器。
12.1.10. 为固定受管服务器环境完成模板部署
在 OpenShift Web UI 或命令行中设置所有必要的参数后,请完成模板部署。
流程
根据您使用的方法,完成以下步骤:
在 OpenShift Web UI 中,单击 Create。
-
如果
这将创建可能具有安全性或项目行为影响的资源
,请单击 Create Anyway。
-
如果
- 完成命令行并按 Enter。
后续步骤
根据您的环境需求,可选完成 第 13 章 部署环境后的可选步骤 中描述的步骤。
12.2. 为固定受管环境修改模板
要根据您的需要调整固定受管环境,您需要在部署环境前修改 rhpam711-prod.yaml
模板。
默认情况下,模板创建两个复制的 KIE 服务器 pod。您可以在每个 pod 上部署单独的进程。要添加更多复制的 KIE Server pod,您需要在部署环境前修改模板。
默认情况下,模板会创建一个 PostgreSQL pod,为每个复制 KIE 服务器提供数据库服务器。如果要使用 PostgreSQL 或使用外部服务器(在 OpenShift 项目之外),则需要在部署环境前修改模板。
对于 rhpam711-prod.yaml
模板,您还可以调整 Business Central Monitoring 的初始副本数。
OpenShift 模板定义了一组可由 OpenShift 创建的对象。要更改环境配置,您需要修改、添加或删除这些对象。为简化此任务,请在 Red Hat Process Automation Manager 模板中提供注释。
模板中的一些注释标记块,以 BEGIN
结尾并以 END
结尾。例如,以下块名为 Sample block
:
## Sample block BEGIN sample line 1 sample line 2 sample line 3 ## Sample block END
对于一些更改,您可能需要将一个模板文件中的块替换为由 Red Hat Process Automation Manager 提供的另一个模板文件的块。在这种情况下,删除块,然后在其精确的位置粘贴新块。
请注意,命名的块可以嵌套。
流程
如果要添加更多复制的 KIE 服务器 pod,请为每个额外 pod 重复以下操作:
-
为新 pod 选择一个数字。默认 pod 具有数字
1
和2
,因此您可以在第一个新 pod 中使用3
,然后是4
等。 将文件的以下块(使用注释从
BEGIN
到END
标记)复制到文件的末尾:-
KIE 服务器服务 1
-
PostgreSQL 服务 1
-
KIE 服务器路由 1
-
KIE 服务器部署配置 1
-
PostgreSQL 部署配置 1
-
PostgreSQL 持久性卷声明 1
-
-
在新副本中,将
-1
的所有实例替换为新 pod 号,如-3
。
-
为新 pod 选择一个数字。默认 pod 具有数字
如果要使用 MySQL 而不是 PostgreSQL,替换文件的多个块(从
BEGIN
到END
标记为注释),使用rhpam711-kieserver-postgresql.yaml
文件中的块替换它们,然后修改新添加的块:将名为
MySQL 数据库参数
的块替换为名为PostgreSQL 数据库参数
的块。(从rhpam711-kieserver-postgresql.yaml
文件中获取此块以及所有后续替换块。)对未修改的模板中的每个复制 KIE 服务器 pod 号重复以下操作,例如
1
和2
。N
代表 pod 号,例如1
。-
将名为
PostgreSQL service N
的块替换为名为MySQL service
的块。 -
将名为
PostgreSQL 驱动程序设置 N
的块替换为名为MySQL 驱动程序设置
的块。 -
将名为
PostgreSQL 部署配置 N
的块替换为名为MySQL 部署配置
的块。 -
将名为
PostgreSQL 持久性卷声明 N
的块替换为名为MySQL 持久性卷声明
的块。 在所有新添加的块中,手动进行以下替换,其中
N
是 pod 号:-
-mysql
带有-mysql-N
,except 在-mysql-pvol
和-mysql-claim
中 -
-mysql-claim
with-mysql-claim-N
-
-
将名为
如果要使用外部数据库服务器,替换文件的多个块(从
BEGIN
到END
标记为注释),使用rhpam711-kieserver-externaldb.yaml
文件中的块替换一些块,然后修改新添加的块:将名为
MySQL 数据库参数
的块替换为名为External 数据库参数
的块。(从rhpam711-kieserver-external.yaml
文件中获取此块以及所有后续替换块。)对未修改的模板中的每个复制 KIE 服务器 pod 号重复以下操作,例如
1
和2
。N
代表 pod 号,例如1
。-
删除名为
PostgreSQL service N
的块 -
删除名为
PostgreSQL 部署配置 N
的块 -
删除名为
PostgreSQL 持久性卷声明 N
的块 -
将名为
PostgreSQL 驱动程序设置 N
的块替换为名为External 数据库驱动程序设置
的块。 在新的
外部数据库驱动程序设置
块中,如果基础架构中的不同 KIE Server pod 有以下值不同,请为这个特定 pod 设置值:-
RHPAM_USERNAME
:登录到数据库服务器的用户名 -
RHPAM_PASSWORD
:登录到数据库服务器的密码 -
RHPAM_XA_CONNECTION_PROPERTY_URL
:登录到数据库服务器的完整 URL -
RHPAM_SERVICE_HOST
:数据库服务器的主机名 -
RHPAM_DATABASE
:数据库名称
-
-
删除名为
标准 KIE 服务器镜像包括 MySQL、MariaDB 和 PostgreSQL 外部数据库服务器的驱动程序。如果要使用另一个数据库服务器,您必须构建自定义 KIE Server 镜像。具体说明请查看 第 7.10 节 “为外部数据库构建自定义 KIE 服务器扩展镜像”。
-
如果要更改最初为 Business Central Monitoring 创建的副本数,在 Business Central Monitoring
的 注释 Replicas
下的行中,将副本数改为所需的值。
第 13 章 部署环境后的可选步骤
根据您的环境需求,您可能需要在部署后完成某些可选步骤。
13.1. (可选)提供 Git hook 目录
如果您部署了编写的环境并配置 GIT_HOOKS_DIR
参数,则必须提供一个 Git hook 目录,且必须在 Business Central 部署中挂载此目录。
Git hook 的典型用途与上游存储库交互。要启用 Git hook 将提交推送到上游存储库,还必须提供一个与上游存储库上配置的公钥对应的 secret 密钥。
先决条件
- 已使用模板部署了 Red Hat Process Automation Manager 编写环境
-
您可以在部署中设置
GIT_HOOKS_DIR
参数
流程
如果需要使用 SSH 身份验证与上游存储库交互,请完成以下步骤以使用所需文件准备并挂载 secret:
-
使用与存储库中存储的公钥匹配的私钥准备
id_rsa
文件。 -
使用存储库的正确名称、地址和公钥准备
known_hosts
文件。 使用
oc
命令创建带有两个文件的 secret,例如:oc create secret git-hooks-secret --from-file=id_rsa=id_rsa --from-file=known_hosts=known_hosts
将 secret 挂载到 Business Central 部署的 SSH 密钥路径中,例如:
oc set volume dc/<myapp>-rhpamcentr --add --type secret --secret-name git-hooks-secret --mount-path=/home/jboss/.ssh --name=ssh-key
将
<myapp
> 替换为您在配置模板时设置的应用程序名称。
-
使用与存储库中存储的公钥匹配的私钥准备
创建 Git hook 目录。具体步骤请查看 Git hook 参考文档。
例如,一个简单的 Git hook 目录可以提供提交后 hook,用于推送上游更改。如果项目从存储库导入到 Business Central,则此存储库将配置为上游存储库。创建名为
post-commit
的文件,其权限值为755
和以下内容:git push
注意Business Central 不支持
pre-commit
脚本。使用提交后
脚本。为 Business Central 部署提供 Git hook 目录。您可以使用配置映射或持久性卷。
如果 Git hook 由一个或多个固定的脚本文件组成,请使用配置映射。完成以下步骤:
- 更改到您创建的 Git hook 目录。
从目录中的文件创建 OpenShift 配置映射。运行以下命令:
oc create configmap git-hooks --from-file=<file_1>=<file_1> --from-file=<file_2>=<file_2> ...
将
file_1、
file_2
等替换为 Git hook 脚本文件名。例如:oc create configmap git-hooks --from-file=post-commit=post-commit
将配置映射挂载到您配置的路径中的 Business Central 部署中:
oc set volume dc/<myapp>-rhpamcentr --add --type configmap --configmap-name git-hooks --mount-path=<git_hooks_dir> --name=git-hooks
将
<myapp>
替换为在配置模板时设置的应用程序名称,<git_hooks_dir>
是在配置模式时设置的GIT_HOOKS_DIR
的值。
-
如果 Git hook 由长文件或依赖二进制文件组成,如可执行文件或 KJAR 文件,请使用持久性卷。您必须创建一个持久性卷,创建一个持久性卷声明,并将卷与声明关联,将文件传送到卷,并在
myapp-rhpamcentr
部署配置中挂载卷(将 myapp 替换为应用程序名称)。有关创建和挂载持久性卷的说明,请参阅使用持久性卷。有关将文件复制到持久性卷的说明,请参阅 从容器中传输文件和移出 文件。
等待几分钟,然后检查项目中的 pod 列表和状态。由于在提供 Git hook 目录前 Business Central 不会启动,所以 KIE 服务器可能根本不启动。要查看它是否已启动,请检查以下命令的输出:
oc get pods
如果一个有效的 KIE Server pod 不存在,请启动它:
oc rollout latest dc/<myapp>-kieserver
将
<myapp
> 替换为配置模板时设置的应用程序名称。
13.2. (可选)提供信任存储用于访问带有自签名证书的 HTTPS 服务器
Red Hat Process Automation Manager 基础架构的组件可能需要对具有自签名 HTTPS 证书的服务器的 HTTPS 访问。例如,Business Central、Business Central Monitoring 和 KIE 服务器可能需要与使用自签名 HTTPS 服务器证书的内部 Nexus 存储库交互。
在这种情况下,为了确保 HTTPS 连接成功完成,您必须使用信任存储为这些服务提供客户端证书。
如果您不需要 Red Hat Process Automation Manager 组件与使用自签名 HTTPS 服务器证书的服务器进行通信,请跳过这个过程。
先决条件
- 已使用模板部署了 Red Hat Process Automation Manager 环境
- 您有要添加到部署的客户端证书
流程
使用证书准备信任存储。使用以下命令来创建信任存储或将证书添加到现有信任存储中。将所有必需的证书添加到一个信任存储中。
keytool -importcert -file certificate-file -alias alias -keyalg algorithm -keysize size -trustcacerts -noprompt -storetype JKS -keypass truststore-password -storepass truststore-password -keystore keystore-file
替换以下值:
-
certificate-file
:您要添加到信任存储中的证书的路径名称。 -
别名
:信任存储中证书的别名。如果您要向信任存储中添加多个证书,每个证书都必须有一个唯一的别名。 -
算法
:用于证书的加密算法,通常是RSA
。 -
大小
:证书密钥的大小(以字节为单位),例如2048
。 -
truststore-password
:信任存储的密码。 keystore-file
:信任存储文件的路径。如果文件不存在,命令会创建一个新的信任存储。以下示例命令将
/var/certs/rhcs.cer 文件中的证书添加到
文件中的信任存储中。truststore 密码是/
var/keystores/custom-trustore.jksmykeystorepass
。keytool -importcert -file /var/certs/nexus.cer -alias nexus-cert -keyalg RSA -keysize 2048 -trustcacerts -noprompt -storetype JKS -keypass mykeystorepass -storepass mykeystorepass -keystore /var/keystores/custom-trustore.jks
-
使用
oc
命令创建带有 truststore 文件的 secret,例如:oc create secret generic truststore-secret --from-file=/var/keystores/custom-trustore.jks
在基础架构必要组件的部署中,挂载 secret,然后设置
JAVA_OPTS_APPEND
选项,使 Java 应用程序基础架构能够使用遍历存储,例如:oc set volume dc/myapp-rhpamcentr --add --overwrite --name=custom-trustore-volume --mount-path /etc/custom-secret-volume --secret-name=custom-secret oc set env dc/myapp-rhpamcentr JAVA_OPTS_APPEND='-Djavax.net.ssl.trustStore=/etc/custom-secret-volume/custom-trustore.jks -Djavax.net.ssl.trustStoreType=jks -Djavax.net.ssl.trustStorePassword=mykeystorepass'
oc set volume dc/myapp-kieserver --add --overwrite --name=custom-trustore-volume --mount-path /etc/custom-secret-volume --secret-name=custom-secret oc set env dc/myapp-kieserver JAVA_OPTS_APPEND='-Djavax.net.ssl.trustStore=/etc/custom-secret-volume/custom-trustore.jks -Djavax.net.ssl.trustStoreType=jks -Djavax.net.ssl.trustStorePassword=mykeystorepass'
将
myapp
替换为您在配置模板时设置的应用程序名称。
13.3. (可选)提供 LDAP 角色映射文件
如果配置 AUTH_ROLE_MAPPER_ROLES_PROPERTIES
参数,您必须提供一个定义角色映射的文件。将文件挂载到所有受影响的部署配置上。
先决条件
- 已使用模板部署了 Red Hat Process Automation Manager 环境
-
您可以在部署中设置
AUTH_ROLE_MAPPER_ROLES_PROPERTIES
参数
流程
创建角色映射属性文件,如
my-role-map
。该文件必须包含以下格式的条目:ldap_role = product_role1, product_role2...
例如:
admins = kie-server,rest-all,admin
输入以下命令从文件创建 OpenShift 配置映射:
oc create configmap ldap-role-mapping --from-file=<new_name>=<existing_name>
将 <
new_name
> 替换为要在 pod 上具有的名称(必须与AUTH_ROLE_MAPPER_ROLES_PROPERTIES
文件中指定的名称相同)。<existing_name>
例如:oc create configmap ldap-role-mapping --from-file=rolemapping.properties=my-role-map
将配置映射挂载到为角色映射配置的每个部署配置上。
在此环境中,以下部署配置会受到影响:
使用应用程序名称替换
myapp
。有时,不同的应用程序名称下可以存在多个 KIE 服务器部署。对于每个部署配置,请运行以下命令:
oc set volume dc/<deployment_config_name> --add --type configmap --configmap-name ldap-role-mapping --mount-path=<mapping_dir> --name=ldap-role-mapping
将 <
mapping_dir
> 替换为AUTH_ROLE_MAPPER_ROLES_PROPERTIES
参数中设置的目录名称(不带文件名)。
第 14 章 Red Hat Process Automation Manager 角色和用户
要访问 Business Central 或 KIE 服务器,您必须创建用户并在服务器启动前为其分配适当的角色。在安装 Business Central 或 KIE Server 时,您可以创建用户和角色。
Business Central 和 KIE 服务器使用 Java 身份验证和授权服务(JAAS)登录模块来验证用户。如果 Business Central 和 KIE 服务器都在单个实例上运行,则它们共享相同的 JAAS 主题和安全域。因此,为 Business Central 进行身份验证的用户可以访问 KIE 服务器。
但是,如果 Business Central 和 KIE 服务器在不同实例上运行,则会单独为这两者触发 JAAS 登录模块。因此,必须为 Business Central 进行身份验证的用户必须单独进行身份验证才能访问 KIE 服务器。例如,如果在 Business Central 上进行身份验证,但没有在 KIE 服务器上进行身份验证的用户会尝试在 Business Central 中查看或管理进程定义,则会在日志文件中记录 401 错误,以及 Invalid 凭证从远程服务器加载数据。请联系您的系统管理员。
信息会出现在 Business Central 中。
本节论述了 Red Hat Process Automation Manager 用户角色。
admin
, analyst
, developer
, manager
, process-admin
, user
, 和 rest-all
角色为 Business Central 保留。kie-server
角色是为 KIE 服务器保留的。因此,可用的角色可能会根据 Business Central、KIE Server 或两者的不同而有所不同。
-
管理 :具有
admin
角色的用户admin
角色的用户有权访问 Red Hat Process Automation Manager 中的所有区域。 -
架构师
:具有领导
角色的用户有权访问所有高级别功能。它们可以建模并执行他们的项目。但是,这些用户无法在 Design → Projects 视图中添加空格或删除空格。带有analyst
角色的用户没有访问 Deploy → Execution Servers 视图(面向管理员)的访问权限。但是,当这些用户访问 Library 透视图时,可以使用 Deploy 按钮。 -
开发人员
:具有开发人员
角色的用户有权访问几乎所有功能,并可管理规则、模型、流程、表单和仪表板。它们可以管理资产存储库,他们可以创建、构建和部署项目。只有创建和克隆新存储库等某些管理功能对于具有开发人员
角色的用户是隐藏的。 -
Manager:具有
管理器
角色的用户可以查看报告。这些用户通常对业务流程及其性能、商业指标和其他与业务相关的报告相关统计信息感兴趣。具有此角色的用户只能访问进程和任务报告。
-
process-admin
:具有process-admin
角色的用户是商业流程管理员。他们完全访问业务流程、业务任务和执行错误。这些用户也可以查看业务报告,并可访问 Task Inbox 列表。 -
用户
:具有用户角色
的用户可以在 Task Inbox 列表中工作,其中包含属于当前运行的进程一部分的业务任务。具有此角色的用户可以查看进程和任务报告和管理进程。 -
rest-all
:具有rest-all
角色的用户可以访问 Business Central REST 功能。 -
kie-server
:具有kie-server
角色的用户可以访问 KIE 服务器 REST 功能。对于需要访问 Business Central 中的 Manage 和 Track 视图的用户,这个角色是必须的。
第 15 章 OpenShift 模板参考信息
Red Hat Process Automation Manager 提供以下 OpenShift 模板。要访问模板,请从红帽客户门户的 软件下载 页面下载并提取 rhpam-7.11.0-openshift-templates.zip
产品提供的文件。
-
rhpam711-trial-ephemeral.yaml
提供了一个 Business Central 和连接到 Business Central 的 KIE 服务器。此环境使用没有持久性存储的临时配置。有关此模板的详情,请参考 第 15.1 节 “rhpam711-trial-ephemeral.yaml template”。 -
rhpam711-authoring.yaml
提供了一个 Business Central 和连接到 Business Central 的 KIE 服务器。KIE 服务器使用带有持久性存储的 H2 数据库。您可以使用此环境来编写流程、服务和其他业务资产。有关此模板的详情,请参考 第 15.2 节 “rhpam711-authoring.yaml template”。 -
rhpam711-authoring-ha.yaml
提供了一个高可用性 Business Central、连接到 Business Central 的 KIE 服务器,以及 KIE 服务器使用的 MySQL 实例。您可以使用此环境来编写流程、服务和其他业务资产。有关此模板的详情,请参考 第 15.3 节 “rhpam711-authoring-ha.yaml template”。 -
rhpam711-prod-immutable-monitor.yaml
提供了一个 Business Central Monitoring 实例和一个可与不可变 KIE 服务器一起使用的智能路由器。部署此模板时,OpenShift 会显示您必须用于部署rhpam711-prod-immutable-kieserver.yaml
模板的设置。有关此模板的详情,请参考 第 15.4 节 “rhpam711-prod-immutable-monitor.yaml template”。 -
rhpam711-prod-immutable-kieserver.yaml
提供了一个不可变 KIE Server。当您部署此模板时,会为要在 KIE 服务器上运行的一个或多个服务触发 source-to-image (S2I)构建。KIE 服务器可以选择性地配置为连接到rhpam711-prod-immutable-monitor.yaml
提供的 Business Central Monitoring 和 Smart Router。有关此模板的详情,请参考 第 15.5 节 “rhpam711-prod-immutable-kieserver.yaml template”。 -
rhpam711-prod-immutable-kieserver-amq.yaml
提供了一个不可变 KIE Server。当您部署此模板时,会为要在 KIE 服务器上运行的一个或多个服务触发 source-to-image (S2I)构建。KIE 服务器可以选择性地配置为连接到rhpam711-prod-immutable-monitor.yaml
提供的 Business Central Monitoring 和 Smart Router。此版本的模板包括 JMS 集成。有关此模板的详情,请参考 第 15.6 节 “rhpam711-prod-immutable-kieserver-amq.yaml template”。 -
rhpam711-kieserver-externaldb.yaml
提供了一个使用外部数据库的 KIE 服务器。您可以将 KIE 服务器配置为连接到 Business Central。另外,您可以将此模板中的部分复制到另一个模板,以在其他模板中配置 KIE 服务器以使用外部数据库。有关此模板的详情,请参考 第 15.7 节 “rhpam711-kieserver-externaldb.yaml template”。 -
rhpam711-kieserver-mysql.yaml
提供了一个 KIE 服务器和 KIE 服务器使用的 MySQL 实例。您可以将 KIE 服务器配置为连接到 Business Central。另外,您可以将此模板中的部分复制到另一个模板中,以在其他模板中配置 KIE 服务器以使用 MySQL 并提供 MySQL 实例。有关此模板的详情,请参考 第 15.8 节 “rhpam711-kieserver-mysql.yaml template”。 -
rhpam711-kieserver-postgresql.yaml
提供了一个 KIE 服务器和 KIE 服务器使用的 PostgreSQL 实例。您可以将 KIE 服务器配置为连接到 Business Central。另外,您可以将此模板中的部分复制到另一个模板中,以在其他模板中配置 KIE 服务器以使用 PostgreSQL 并提供 PostgreSQL 实例。有关此模板的详情,请参考 第 15.9 节 “rhpam711-kieserver-postgresql.yaml template”。 -
rhpam711-managed.yaml
提供高可用性 Business Central Monitoring 实例、KIE 服务器和 KIE 服务器使用的 PostgreSQL 实例。OpenShiftStartupStrategy
被启用,确保 Business Central Monitoring 实例可以自动连接到同一项目中的其他 KIE 服务器实例,只要这些实例也启用了 OpenShiftStartupStrategy。有关此模板的详情,请参考 第 15.10 节 “rhpam711-managed.yaml template”。 -
rhpam711-prod.yaml
提供高可用性 Business Central Monitoring 实例、智能路由器、两个不同的 KIE 服务器连接到 Business Central 和智能路由器,以及两个 PostgreSQL 实例。每个 KIE 服务器都使用自己的 PostgreSQL 实例。您可以使用此环境在生产环境中执行业务资产。您可以为每个组件配置副本数量。有关此模板的详情,请参考 第 15.11 节 “rhpam711-prod.yaml template”。
15.1. rhpam711-trial-ephemeral.yaml template
Red Hat Process Automation Manager 7.11 - 弃用的临时编写和测试环境的应用程序模板
15.1.1. 参数
模板允许您定义值上获取的参数。然后,该值将在引用参数的位置替换。可在对象列表字段的任意文本字段中定义引用。如需更多信息,请参阅 Openshift 文档。
变量名称 | 镜像环境变量 | 描述 | 示例值 | 必填 |
---|---|---|---|---|
| — | 应用程序的名称。 | myapp | true |
|
| 在此试用环境中,用于多个组件的默认密码用于方便用户。 | RedHat | true |
|
| KIE 管理员用户名。 | adminUser | False |
|
| 允许 KIE 服务器绕过经过身份验证的用户以获取与任务相关的操作,如查询。(设置 org.kie.server.bypass.auth.user 系统属性) | false | False |
|
| KIE 服务器模式.有效值为 'DEVELOPMENT' 或 'SVVPUCTION'。在生产环境模式中,您无法在 KIE 服务器上部署工件的 SNAPSHOT 版本,且无法更改现有容器中的工件版本。(设置 org.kie.server.mode 系统属性)。 |
| False |
|
| KIE 服务器 mbeans 启用/禁用。(设置 kie.mbeans 和 kie.scanner.mbeans 系统属性) | enabled | False |
|
| KIE 服务器类过滤。(设置 org.drools.server.filter.classes 系统属性) | true | False |
|
| 如果设置为 false,则会启用 prometheus 服务器扩展。(设置 org.kie.prometheus.server.ext.disabled 系统属性) | false | False |
|
| http 服务路由的自定义主机名。为默认主机名保留空白,例如: insecure-<application-name>-kieserver-<project>.<default-domain-suffix> | — | False |
|
| 在 KIE 服务器中设置 Access-Control-Allow-Origin 响应标头值(对 CORS 支持使用)。 | * | False |
|
| 在 KIE 服务器中设置 Access-Control-Allow-Methods 响应标头值(用于 CORS 支持)。 | GET, POST, OPTIONS, PUT | False |
|
| 在 KIE 服务器中设置 Access-Control-Allow-Headers 响应标头值(用于 CORS 支持)。 | accept, Authorization, Content-Type, X-Requested-With | False |
|
| 在 KIE Server 中设置 Access-Control-Allow-Credentials 响应标头值(用于 CORS 支持)。 | true | False |
|
| 在 KIE Server 中设置 Access-Control-Max-Age 响应标头值(用于 CORS 支持)。 | 1 | False |
|
| Business Central 的 http 服务路由的自定义主机名。为默认主机名保留空白,例如: insecure-<application-name>-rhpamcentr-<project>.<default-domain-suffix> | — | False |
|
| 如果设置为 true,请打开 KIE Server 全局发现功能(Set the org.kie.server.controller.openshift.global.discovery.enabled 系统属性) | false | False |
|
| 如果打开了 Business Central 的 OpenShift 集成,则将此参数设置为 true 可启用通过 OpenShift 内部服务端点连接到 KIE 服务器。(设置 org.kie.server.controller.openshift.prefer.kieserver.service 系统属性) | true | False |
|
| KIE ServerTemplate 缓存 TTL 以毫秒为单位。(设置 org.kie.server.controller.template.cache.ttl 系统属性) | 5000 | False |
| — | 安装 Red Hat Process Automation Manager 镜像的 ImageStreams 的命名空间。这些 ImageStream 通常安装在 openshift 命名空间中。只有在在不同的命名空间/项目中安装了 ImageStream 时,才需要修改此参数。默认为 "openshift"。 | openshift | true |
| — | 用于 KIE 服务器的镜像流名称。默认为 "rhpam-kieserver-rhel8"。 | rhpam-kieserver-rhel8 | true |
| — | 指向镜像流中镜像的命名指针。默认为 "7.11.0"。 | 7.11.0 | True |
|
| 带有可选别名的 KIE 服务器容器部署配置。Format: containerId=groupId:artifactId:version|c2(alias2)=g2:a2:v2 | — | False |
|
| 用于 maven 存储库的 id (如果设置)。默认为随机生成。 | repo-custom | False |
|
| Maven 存储库或服务的完全限定 URL。 | http://nexus.nexus-project.svc.cluster.local:8081/nexus/content/groups/public/ | False |
|
| 用于访问 Maven 存储库的用户名(如果需要)。 | — | False |
|
| 如果需要,用于访问 Maven 存储库的密码。 | — | False |
|
| 用于 git hook 的目录(如果需要)。 |
| False |
| — | Business Central 容器内存限值。 | 2Gi | False |
| — | KIE 服务器容器内存限值。 | 1Gi | False |
|
| RH-SSO URL。 | https://rh-sso.example.com/auth | False |
|
| RH-SSO Realm 名称。 | — | False |
|
| Business Central RH-SSO 客户端名称。 | — | False |
|
| Business Central RH-SSO 客户端 Secret。 | 252793ed-7118-4ca8-8dab-5622fa97d892 | False |
|
| KIE 服务器 RH-SSO 客户端名称。 | — | False |
|
| KIE 服务器 RH-SSO 客户端机密. | 252793ed-7118-4ca8-8dab-5622fa97d892 | False |
|
| 如果不存在,用于创建客户端的 RH-SSO Realm admin 用户名。 | — | False |
|
| 用于创建客户端的 RH-SSO Realm 管理密码。 | — | False |
|
| RH-SSO 禁用 SSL 证书验证。 | false | False |
|
| 用作用户名的 RH-SSO 主体属性。 | preferred_username | False |
|
| 用于连接身份验证的 LDAP 端点。对于故障转移,请设置两个或多个 LDAP 端点,用空格分开。 | ldap://myldap.example.com:389 | False |
|
| 绑定用于身份验证的 DN。 | uid=admin,ou=users,ou=example,ou=com | False |
|
| 用于身份验证的 LDAP 凭据。 | 密码 | False |
|
| 将登录模块设置为可选的标志。需要默认值 | optional | False |
|
| 用于解密密码的 JaasSecurityDomain 的 JMX ObjectName。 | — | False |
|
| 开始用户搜索的顶级上下文的 LDAP 基本 DN。 | ou=users,ou=example,ou=com | False |
|
| 用于查找用于身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 替换为使用 {0} 表达式的任意任何位置的过滤器。搜索过滤器的常见示例为(uid={0})。 | (uid={0}) | False |
|
| 要使用的搜索范围。 |
| False |
|
| 用户或组搜索的超时时间(毫秒)。 | 10000 | False |
|
| 包含用户 DN 的用户条目中的属性名称。如果用户本身的 DN 包含特殊字符,例如,反斜杠可以防止正确的用户映射,这可能是必需的。如果属性不存在,则使用条目的 D |