在 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 上部署红帽流程自动化管理器环境,以提供开发或执行服务、处理应用程序和其他业务资产的基础架构。您可以使用 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 集群中使用:根据应用程序负载,可能需要高资源分配才能接受接受的性能。
- 对于编写环境,4GB 内存和 2 个虚拟 CPU 内核用于 Business Central pod。在高可用性部署中,每个副本都需要这些资源,默认创建两个副本。
- 对于生产环境或不可变环境,每个 Business Central Monitoring pod 副本 2GB 内存和 1 个虚拟 CPU 内核。
- 每个 KIE Server pod 的每个副本的 2GB 内存和 1 个虚拟 CPU 内核。
- 1GB 内存和一半的智能路由器 pod 副本的虚拟 CPU 内核.
在高可用性编写部署中,MySQL、Red Hat AMQ 和 Red Hat Data Grid pod 需要根据配置的默认值进行其他资源。
注意MaxMetaspaceSize
的默认值为:- Business Central 镜像:1024m
- KIE Server 镜像: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 Server (也称为 执行服务器 )是运行决策服务、处理应用程序和其他可部署资产(统称为 服务)的基础架构元素。服务的所有逻辑都在执行服务器上运行。
KIE 服务器通常需要数据库服务器。您可以在另一个 OpenShift pod 中提供数据库服务器,或者将 OpenShift 上的执行服务器配置为使用任何其他数据库服务器。或者,KIE 服务器可以使用 H2 数据库;在这种情况下,您无法扩展 pod。
在某些模板中,您可以扩展 KIE Server pod 来根据需要提供任意数量的副本,在同一主机或不同的主机上运行。当您扩展或缩减 pod 时,其所有副本都使用相同的数据库服务器并运行相同的服务。OpenShift 提供负载平衡,请求可以由任何容器集进行处理。
您可以部署单独的 KIE Server pod 来运行不同的服务组。该 pod 也可以扩展或缩减。您可以根据需要拥有多个单独的复制 KIE Server 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 服务器,并提供监控信息,但不包括编写功能。您可以使用此组件来管理暂存和生产环境。
- 智能路由器是 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 存储库,用于存储您开发的服务的内置 Maven 存储库(KJAR 文件/artifacts)。您可以使用持续集成和持续部署(CICD)工具从存储库中检索这些工件,并根据需要移动它们。
Business Central 将源代码保存在内置的 Git 存储库中,该存储库存储在 .niogit
目录中。它使用内置索引机制来索引服务中的资产。
Business Central 将持久性存储用于 Maven 存储库和 Git 存储库。
默认情况下,单个编写环境包含一个 KIE 服务器实例。此 KIE 服务器实例使用内置 H2 数据库引擎来存储进程服务的状态。
单个编写环境可以使用控制器策略。Business Central 包含 控制器,它是可以管理 KIE 服务器的组件。当您将 KIE 服务器配置为连接到 Business Central 时,KIE 服务器使用 REST API 连接到控制器。此连接将打开持久的 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 服务和红帽构建的 OptaPlanner 服务必须无状态,因为来自同一客户端的请求可能会被不同的实例处理。
您还可以部署几个独立的 KIE 服务器来运行不同的服务。在这种情况下,服务器使用不同的服务器 ID 值连接到 Business Central Controller。您可以使用 Business Central UI 将服务部署到每个服务器。
智能路由器
可选的智能路由器组件在客户端应用程序和 KIE 服务器实例之间提供一个层。如果您使用几个独立的 KIE 服务器实例,它很有用。
客户端应用可以使用在不同 KIE 服务器实例上运行的服务,但始终连接到智能路由器。Smart Router 会自动将请求传递给运行所需服务的 KIE 服务器实例。智能路由器还支持管理服务版本,并提供额外的负载平衡层。
高可用性编写环境
在高可用性(HA)编写环境中,Business Central pod 被扩展,因此多个 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 部署中包括 Smart Router。
图 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 进行身份验证。此配置特定于命名空间,如果操作器工作,则配置已针对 openshift
命名空间完成。
但是,如果 openshift
命名空间中找不到 Red Hat Process Automation Manager 的镜像流,或者如果 Operator 配置为自动将 Red Hat Process Automation Manager 更新至新版本,Operator 需要将镜像下载到项目的命名空间。您必须完成此命名空间的身份验证配置。
流程
-
确保您已使用
oc
命令登录到 OpenShift,并且您的项目处于活动状态。 - 完成 共享文件系统服务的 Registry Service Accounts 中记录的步骤。您必须登录红帽客户门户网站以访问文档并完成步骤以创建 registry 服务帐户。
- 选择 OpenShift Secret 选项卡,再单击 Download secret 下的链接来下载 YAML 机密文件。
-
查看下载的文件并记录
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 证书,并将其作为机密提供给 OpenShift 环境。
流程
生成名为
keystore.jks
的 SSL 密钥存储,该密钥存储带有用于 KIE Server 的 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 证书,并将其作为 secret 提供给 OpenShift 环境。
不要将相同的证书和密钥用于 Business Central 和 KIE 服务器。
流程
生成名为
keystore.jks
的 SSL 密钥存储,该密钥存储带有用于 KIE Server 的 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 证书,并将其作为 secret 提供给 OpenShift 环境。
流程
生成名为
keystore.jks
的 SSL 密钥存储,该密钥存储带有用于 KIE Server 的 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 Server 或 Business Central 所使用的证书相同。
流程
生成名为
keystore.jks
的 SSL 密钥存储,该密钥存储带有用于 KIE Server 的 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 数据库
- sisu
另外,您可以使用这个流程为以下任何数据库服务器构建新版本驱动程序:
- MySQL
- MariaDB
- PostgreSQL
有关数据库服务器支持的版本,请参阅 Red Hat Process Automation Manager 7 支持的配置。
构建程序会创建一个可扩展现有 KIE Server 镜像的自定义扩展镜像。您必须将此自定义扩展镜像导入到 OpenShift 环境中,然后在 EXTENSIONS_IMAGE
参数中引用它。
先决条件
-
使用
oc
命令登录到 OpenShift 环境。您的 OpenShift 用户必须具有registry-viewer
角色。有关分配registry-viewer
角色的更多信息,请参阅 OpenShift Container Platform 4.8 文档中的"Registry"章节中的"访问 registry"部分。 - 对于 Oracle Database、IBM DB2 或 datacenter,您可以从数据库服务器供应商下载 JDBC 驱动程序。
已安装以下所需的软件:
流程
- 对于 IBM DB2,Oracle Database (或 datacenter)在本地目录中提供 JDBC 驱动程序 JAR 文件。
-
从红帽客户门户网站的 Software Downloads 页面下载
rhpam-7.12.0-openshift-templates.zip
产品提供的可交付文件。 -
解压文件,并通过命令行更改为解压缩文件的
templates/contrib/jdbc/cekit
目录。此目录包含自定义构建的源代码。 根据数据库服务器类型,输入以下命令之一:
对于 Microsoft SQL Server:
make mssql
对于 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
替换为驱动程序的版本。对于 datacenter :
make build sybase artifact=/tmp/jconn4-16.0_PL05.jar version=16.0_PL05
在这个命令中,将
/tmp/jconn4-16.0_PL05.jar
替换为下载的 datacenter 驱动程序的路径名称,将16.0_PL05
替换为驱动程序的版本。或者,如果您需要为 wlp 驱动程序更新驱动程序类或驱动程序 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 环境的注册表,并将镜像推送至注册表。根据您的用户权限,您可以将镜像推送(push)到
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
脚本。使用post-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>
-
- 将源代码上传到另一个 Git 存储库,如 GitHub 或 GitLab,用于 S2I 构建。
2.10. 准备在受限网络中部署
您可以在没有连接到公共互联网的受限网络中的红帽流程自动化管理器部署。有关受限网络中的 Operator 部署的说明,请参阅 Red Hat OpenShift Container Platform 文档中的在受限网络中使用 Operator Lifecycle Manager。
在 Red Hat Process Automation Manager 7.12 中,受限网络中的部署仅用于技术预览。有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
要使用没有公共互联网访问的部署,还必须使用所有必要的工件镜像准备 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.12
-
下载并提取 Red Hat Process Automation Manager 7.12.0 Offliner 内容列表 (
rhpam-7.12.0-offliner.zip
)产品提供可交付的文件。 -
将
rhpam-7.12.0-offliner.zip
文件的内容提取到任何目录中。 进入该目录并输入以下命令:
./offline-repo-builder.sh offliner.txt
此命令会创建
存储库
子目录,并将所需的工件下载到此子目录中。这是镜像存储库。如果消息报告了一些下载失败,请再次运行相同的命令。如果下载再次失败,请联系红帽支持。
-
将所有工件
从存储库
子目录上传到您准备的 Maven 镜像存储库。您可以使用 Maven 存储库工具 Git 存储库中的 Maven Repository Provisioner 实用程序上传工件。
-
下载并提取 Red Hat Process Automation Manager 7.12.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 源并部署环境。
当业务自动化操作员部署环境时,它会创建一个环境的 YAML 描述,然后确保环境始终与描述一致。您可以编辑描述来修改环境。
您可以通过删除 Red Hat OpenShift Container Platform 中的 Operator 应用程序来删除环境。
当您删除带有高可用性 Business Central 的环境时,操作员不会删除作为 JBoss Datagrid 和 JBoss AMQ StatefulSet 创建一部分创建的持久性卷声明。这个行为是 Kubernetes 设计的一部分,因为删除持久性卷声明可能会导致数据丢失。有关在删除 StatefulSet 过程中处理持久性卷的更多信息,请参阅 Kubernetes 文档。
如果您使用同一命名空间和相同应用程序名称创建新环境,则环境会重复使用持久性卷以提高性能。
为确保新部署不使用任何旧数据,您可以手动删除持久性卷声明。
3.1. 订阅业务 Automation operator
为了能够使用操作器部署红帽流程自动化管理器,您必须在 OpenShift 中订阅 Business Automation operator。
流程
- 在 OpenShift Web 集群控制台中输入项目。
- 在 OpenShift Web 控制台导航面板中,选择 Catalog → OperatorHub 或 Operators → OperatorHub。
- 搜索 Business Automation,选择它并点 Install。
在 Create Operator Subscription 页面中,选择目标命名空间和批准策略。
可选:将 批准策略 设置为
Automatic
以启用自动 Operator 更新。operator 更新不会立即更新产品,但在更新产品前是必需的。使用每个特定产品部署中的设置配置自动或手动产品更新。- 点击 Subscribe 创建订阅。
3.2. 使用 Operator 部署 Red Hat Process Automation Manager 环境
订阅 Business Automation operator 后,您可以使用安装程序向导来配置和部署红帽流程自动化管理器环境。
在 Red Hat Process Automation Manager 7.12 中,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 节 “订阅业务 Automation operator”。
流程
- 在 Red Hat OpenShift Container Platform Web 集群控制台菜单中,选择 Catalog → Installed operators 或 Operators → Installed operator。
-
点包含
businessautomation
的 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 创建和修改服务的环境.它由为编写工作和 KIE 服务器提供 Business Central 的 pod 组成,用于测试服务的执行。 RHPAM-authoring-ha
:使用 Business Central 创建和修改服务的环境。它由为编写工作和 KIE 服务器提供 Business Central 的 pod 组成,用于测试服务的执行。此编写环境版本支持扩展 Business Central pod,以确保高可用性。重要在 Red Hat Process Automation Manager 7.12 中,使用操作器的高可用性 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 服务器 pod 组。您可以在每一个这样的组上部署和取消部署服务,并根据需要扩展组。使用 Business Central Monitoring 部署、运行和停止服务并监控其执行。 RHPAM-production-immutable
:用于运行现有服务的替代环境,用于暂存和生产目的。您可以配置一个或多个 KIE Server pod,从源构建服务,或者从 Maven 存储库拉取服务。然后,您可以根据需要复制每个 pod。您无法从 pod 中删除任何服务,或将任何新服务添加到 pod。如果要使用服务的另一个版本,或者以任何其他方式修改配置,请部署新的服务器镜像来替换旧服务器镜像。您可以使用任何基于容器的集成工作流来管理 pod。
配置此环境时,在 KIE Servers 选项卡中,您必须自定义 KIE Server,再单击 Set immutable 服务器配置 按钮,或者设置
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.12 补丁版本可用时,Operator 会自动将部署升级到此版本。所有服务都会保留,并通常会在升级过程中保留。
当有新的 Red Hat Process Automation Manager 7.x 次版本可用时,还要启用相同的自动升级过程,请选择 Include 次版本升级 框。
注意如果要对 Red Hat Process Automation Manager 的任何组件使用自定义镜像,则禁用自动更新。
- 如果要使用镜像标签下载镜像,请选择 Use Image Tags 复选框。如果您使用自定义 registry,或者由红帽支持指示,则此设置很有用。
如果要禁用到部署的 SSL 连接,请选择 Disable SSL Routes 复选框。在这种情况下,外部公开的所有路由都使用明文(HTTP)连接。
注意如果没有选择此框,则只有安全(HTTPS)路由会在外部公开。
如果要使用自定义镜像 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
角色在身份验证系统中配置相同的用户。可选:选择启动策略。
OpenShiftStartupStrategy
设置默认为启用。在某些编写环境中,您可能需要确保多个用户可以同时在同一 KIE 服务器上部署服务。默认情况下,在使用 Business Central 将服务部署到 KIE 服务器后,用户必须等待几秒钟才能部署更多服务。
OpenShiftStartupStrategy
设置默认为启用,并导致这个限制。要删除限制,请从 Startup Strategy 列表中选择ControllerBasedStartupStrategy
设置。注意不要在具有高可用性的 Business Central 的环境中启用基于控制器的启动策略。
- 可选: 如果要使用 OpenShift CA 捆绑包作为 HTTPS 通信的信任存储,请选择 Use OpenShift CA Bundle 复选框。
后续步骤
如果要使用默认配置部署环境,请单击 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 列表中,选择以下模式之一:
-
内部
:您可以在部署环境时配置初始管理用户。您可以创建一个 post-configuration 脚本来在 Elytron 安全子系统中添加用户。有关创建安装后脚本的步骤,请参考 第 3.4 节 “提供 Elytron 用户配置或其他安装后设置”。 -
RH-SSO
:红帽流程自动化管理器使用红帽单点登录进行身份验证。 -
LDAP
:红帽流程自动化管理器使用 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。
设置 LDAP 参数。这些参数使用红帽 JBoss EAP 的 Elytron 子系统配置 LDAP 身份验证。有关在 LDAP 中使用 Red Hat JBoss EAP 的 Elytron 子系统的更多信息,请参阅使用 基于 LDAP 的身份存储配置身份验证。
注意如果要启用 LDAP 故障转移,您可以在
AUTH_LDAP_URL
参数中设置两个或多个 LDAP 服务器地址,用空格分隔。
如果选择了
RH-SSO
或LDAP
,如果您的 RH-SSO 或 LDAP 系统没有定义部署所需的所有角色,您可以将身份验证系统角色映射到 Red Hat Process Automation Manager 角色。要启用角色映射,您必须以单一配置字符串或角色映射形式提供角色映射。如果使用文件进行角色映射配置,则必须在项目命名空间中的 OpenShift 配置映射或机密对象中提供该文件。
字符串必须使用
role=role1,role2;another-role=role2
模式,如admins=kie-server,rest-all,admin;developers=kie-server,rest-all
。该文件必须包含以下格式的条目:
ldap_role=product_role1, product_role2...
例如:
admins=kie-server,rest-all,admin
要启用这个字符串或文件,请进行以下更改:
-
在 RoleMapper 下,在 Roles properties file 字段中输入角色配置字符串或角色映射配置文件的完全限定路径名称,如
/opt/eap/standalone/configuration/rolemapping/rolemapping.properties
。 - 可选: 选择 Roles keep mapped 框或 Roles 保留非映射 框。如果您定义角色映射,默认情况下,只有映射中定义的角色可用。如果要保留身份验证系统中定义的原始角色,并且映射映射到其他角色,请选择 Roles keep mapped 框。如果要保留身份验证系统中定义的原始角色,且未在映射中提及,请选择 角色会保留非映射 框。
如果使用角色配置文件,请在 RoleMapper Configuration 对象 下配置字段:
-
在 Kind 标签下,选择提供文件的对象类型(
ConfigMap
或Secret
)。 - 在 Name 字段中输入对象名称。此对象自动挂载到您为角色映射配置文件指定的路径中的 Business Central 和 KIE Server pod。
-
在 Kind 标签下,选择提供文件的对象类型(
-
在 RoleMapper 下,在 Roles properties file 字段中输入角色配置字符串或角色映射配置文件的完全限定路径名称,如
如果需要,配置其他密码:
- 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
外的所有环境类型都包括此组件。
默认情况下,rhpam-production-immutable
环境不包括 Business Central Monitoring。要在此环境中包括 Business Central Monitoring 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 选项卡中,设置以下字段:
- 镜像上下文 :注册表中镜像的上下文。
- Image :镜像的名称。
镜像标签 :镜像标签。如果没有设置此字段,安装将使用
latest
标签。例如,如果镜像的完整地址为
registry.example.com/mycontext/mycentral:1.0-SNAPSHOT
,将自定义 registry 设置为registry.example.com
,Image context 字段设为mycontext
,Image 字段为mycentral
,Image tag 字段为1.0-SPSHOT
。
可选: 要为外部路由设置自定义主机名,请在 Business Central 外部 Route 字段中输入要使用的域,如下例所示:
`businesscentral.example.com`
注意自定义主机名必须有效并可解析。
要更改自定义主机名,您可以修改
routeHostname
属性。可选:配置 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 监控的副本数。不要在
rhpam-authoring
环境中更改这个数字。 -
可选: 要在 Console 组件 页面中设置 Business Central 持久性卷大小
pvSize
,请在 Persistent Volume Size 字段中输入所需的大小。对于 Business Central,默认大小为 1Gi,用于 Business Central Monitoring ( Business Central Monitoring)为 64Mb。 - 可选:在 资源配额 下的字段中输入请求和最大 CPU 和内存限值。
- 如果要在 Business Central pod 上自定义 Java 虚拟机的配置,请选择 Enable JVM 配置 框,然后在 Enable JVM 配置 下的任意字段中输入信息。所有字段都是可选的。有关您可以配置的 JVM 参数,请参阅 第 3.5 节 “JVM 配置参数”。
如果您选择了 RH-SSO 身份验证,请为 Business Central 配置 RH-SSO:
- 在 Client name 字段中输入客户端名称,在 Client secret 字段中输入 client secret。如果具有此名称的客户端不存在,部署将尝试使用此名称和 secret 创建新客户端。
- 如果部署要创建新客户端,请输入 HTTP 和 HTTPS URL,它们将用于访问 Business Central 到 SSO HTTP URL 和 SSO HTTPS URL 字段。此信息记录在客户端中。
-
可选: 如果要配置高可用性环境,请在 DataGrid username 和 DataGrid 密码字段中为 DataGrid 组件设置 用户名和密码。默认情况下,用户名是
infinispan
,密码会自动生成。 可选: 根据您的需要,设置环境变量。要设置环境变量,请单击 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 来设计自定义仪表板。可选:如果要配置代理设置,请使用以下环境变量:
-
HTTPS_
PROXY : https 代理的位置。这优先于HTTPS_PROXY
、http_proxy
和HTTP_PROXY
,用于 Maven 构建和 Java 运行时。例如:myuser:mypass@127.0.0.1:8080
. -
HTTPS_PROXY
: https 代理的位置。这优先于http_proxy
和HTTP_PROXY
,用于 Maven 构建和 Java 运行时。例如:myuser@127.0.0.1:8080
. -
HTTP_
PROXY :http 代理的位置。这优先于HTTP_PROXY
,用于 Maven 构建和 Java 运行时。例如:http://127.0.0.1:8080
。 -
HTTP_PROXY
:http 代理的位置。这同时用于 Maven 构建和 Java 运行时。例如:127.0.0.1:8080
. -
NO_
PROXY :可以直接访问的以逗号分隔的主机、IP 地址或域的列表。这优先于NO_PROXY
,用于 Maven 构建和 Java 运行时。例如:*.example.com
。 -
NO_PROXY
:可以直接访问的以逗号分隔的主机、IP 地址或域的列表。这同时用于 Maven 构建和 Java 运行时。例如:foo.example.com,bar.example.com
。
-
如果要使用外部 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 存储库的详情,请参考 打包和部署红帽流程自动化管理器项目。
-
如果您的 OpenShift 环境没有连接到公共互联网,请配置对根据 第 2.11 节 “准备 Maven 镜像存储库以供离线使用” 设置的 Maven 镜像的访问。设置以下变量:
-
MAVEN_MIRROR_URL
: 您在 第 2.11 节 “准备 Maven 镜像存储库以供离线使用” 中设置的 Maven 镜像存储库的 URL。此 URL 必须从 OpenShift 环境中的容器集访问。 MAVEN_MIRROR_OF
:决定可以从镜像检索哪些工件的值。有关设置mirrorOf
值的说明,请参阅 Apache Maven 文档中的 Mirror Settings。默认值为external:*
。使用此值,Maven 从镜像检索每个所需的工件,且不会查询任何其他存储库。如果您配置外部 Maven 存储库(
MAVEN_REPO_URL
),请更改MAVEN_MIRROR_OF
,以从镜像中排除此仓库中的工件,如external:*,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。如果您的编写环境使用内置的 Business Central Maven 存储库,请更改
MAVEN_MIRROR_OF
,将该存储库中的工件从镜像中排除:external:*,!repo-rhpamcentr
。
-
在某些情况下,您可能想要为 Business Central 持久保留 Maven 存储库缓存。默认情况下,缓存不会被保留,因此在重启或扩展 Business Central pod 时,所有 Maven 工件都会再次下载,且 Business Central 中的所有项目都必须再次构建。如果您为缓存启用持久性,则不需要下载,在某些情况下可以改进启动时间。但是,需要具有 Business Central persistence 卷上的大量额外空间。
要为 Maven 存储库缓存启用持久性,请将
KIE_PERSIST_MAVEN_REPO
环境变量设置为true
。如果将
KIE_PERSIST_MAVEN_REPO
设置为true
,您可以选择使用KIE_M2_REPO_DIR
变量为缓存设置自定义路径。默认路径为/opt/kie/data/m2
。/opt/kie/data
目录树中的文件是永久的。
后续步骤
如果要使用默认配置 KIE 服务器(没有 Smart Router)部署环境,且没有进程实例迁移,请单击 Finish,然后点 Deploy 来部署环境。否则,请继续为 KIE 服务器和智能路由器设置配置参数。
3.2.5. 设置环境的自定义 KIE 服务器配置
默认情况下,业务自动化运算符中的每种环境类型包括一个或多个 KIE 服务器。
另外,您可以为 KIE 服务器设置自定义配置。在这种情况下,不会创建默认的 KIE 服务器,且只部署您配置的 KIE 服务器。
先决条件
- 根据 第 3.2.2 节 “设置环境的基本配置” 中的说明,您使用安装程序向导中的 Business Automation operator 完成 Red Hat Process Automation Manager 环境的基本配置。
流程
- 如果打开了 安装、安全 或 控制台选项卡,请单击 Next,直到您查看 KIE Servers 选项卡。
- 单击 Add new KIE Server 以添加新的 KIE 服务器配置。
- 在 Id 字段中输入此 KIE 服务器实例的标识符。如果 KIE 服务器实例连接到 Business Central 或 Business Central Monitoring 实例,该标识符决定服务器加入的服务器组。
- 在 Name 字段中输入 KIE Server 的名称。
- 在 Deployments 字段中,输入要部署的类似 KIE Servers 的数量。安装程序可以使用相同的配置部署多个 KIE 服务器。KIE 服务器的标识符和名称会自动修改,并保持唯一性。
- 如果您根据 第 2.2 节 “为 KIE 服务器创建 secret” 中的说明为 KIE Server 创建 secret,请在 Keystore secret 字段中输入 secret 的名称。
- 可选:在 Replicas 字段中输入 KIE 服务器部署的副本数量。
可选: 要为外部路由设置自定义主机名,请在 KIE Server external Route 字段中输入自定义主机名中使用的 域,如下例所示:
`kieserver.example.com`
注意自定义主机名必须有效并可解析。
要更改自定义主机名,您可以修改
routeHostname
属性。可选: 如果要使用自定义 KIE 服务器镜像,请完成以下步骤:
- 单击 Set KIE Server 镜像。
在 Kind 类别中,选择
ImageStreamTag
(如果要从 OpenShift 镜像流中拉取镜像),或者选择DockerImage
(如果要从任何 Docker registry 拉取镜像)。注意要使用
DockerImage
kind,您必须使用 Red Hat Process Automation Manager 版本 7.12.1 或更高版本。通过完成以下步骤之一设置镜像名称:
如果选择了
ImageStreamTag
kind,请在 Name 字段中输入镜像的镜像流标签名称,如my-custom-is-tag:1.0
。如果环境中不存在对应的镜像流,Operator 会使用默认的 Red Hat registry 和标签创建此镜像流。如果在 Installation 选项卡中配置了自定义 registry,Operator 会使用此 registry 创建镜像流。
如果选择了
DockerImage
kind,请在 Name 字段中输入镜像的完全限定域名,如registry.io/test/testing:1.0
。您可以从环境可访问的任何 registry 配置镜像。
如果要使用不在
openshift
命名空间中的镜像流,在 Namespace 字段中输入命名空间。有关创建自定义镜像的步骤,请参阅 第 3.6 节 “为 KIE 服务器和智能路由器创建自定义镜像”。
可选:如果要使用 Source to Image (S2I)构建来配置不可变 KIE 服务器,请完成以下步骤:
重要如果要配置一个从 Maven 存储库拉取服务的不可变 KIE 服务器,请不要点击 Set Immutable 服务器配置,且不完成这些步骤。相反,设置
KIE_SERVER_CONTAINER_DEPLOYMENT
环境变量。- 点 Set Immutable server configuration。
-
在 KIE Server 容器部署字段中,输入部署 必须从 Source 到 Image (S2I)构建的结果中提取的服务(KJAR 文件)的识别信息。格式为
<containerId>=<groupId>:<artifactId>:<version>
,或如果您要为容器设置一个别名,则为<containerId>(<aliasId>)=<groupId>:<artifactId>:<version>
。您可以使用|
分隔符提供两个或多个 KJAR 文件,如下例所示:containerId=groupId:artifactId:version|c2 (alias2)=g2:a2:v2
。 - 如果您的 OpenShift 环境没有与公共互联网的连接,请在 Maven mirror URL 字段中输入您设置为 第 2.11 节 “准备 Maven 镜像存储库以供离线使用” 的 Maven 镜像的 URL。
- 在 Artifact 目录 字段中,在 Maven 构建成功后,输入包含所需二进制文件(KJAR 文件和任何其他必要文件)的项目内的路径。通常,此目录是构建的目标目录。但是,您可以在 Git 存储库中的这个目录中提供预构建二进制文件。
-
如果要将自定义基础 KIE Server 镜像用于 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 容器部署 字段中定义的工件。
- 如果您使用 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 字段中输入 client secret。如果具有此名称的客户端不存在,部署将尝试使用此名称和 secret 创建新客户端。
- 如果部署要创建新客户端,请输入将用于访问此 KIE 服务器实例的 HTTP 和 HTTPS URL 进入 SSO HTTP URL 和 SSO HTTPS URL 字段。此信息记录在客户端中。
如果要使用外部 AMQ 消息代理通过 JMS API 与 KIE 服务器交互,请启用 Enable JMS Integration 设置。此时会显示用于配置 JMS Integration 的其他字段,您必须根据需要输入值:
- User name, Password: 如果您的环境需要在代理中进行身份验证,标志代理用户的用户名和密码。
- executor :选择此设置来禁用 JMS executor。默认情况下启用 executor。
- 执行程序处理器 :选择此设置以在 executor 队列中启用 JMS 事务。
- 启用信号 :选择此设置,以启用通过 JMS 进行信号配置。
- 启用审计 :选择此设置,以启用通过 JMS 进行审计日志记录。
- 审计转换 :选择此设置,以在审计队列上启用 JMS 事务。
- Queue executor、队列请求、队列响应、队列信号、队列审计 :要使用的队列的自定义 JNDI 名称。如果设置了任何这些值,还必须设置 AMQ 队列 参数。
- AMQ Queues :AMQ 队列名称,用逗号分开。这些队列会在代理启动时自动创建,并可作为 JBoss EAP 服务器中的 JNDI 资源访问。如果使用任何自定义队列名称,则必须在此字段中输入服务器使用的所有队列的名称。
- 启用 SSL 集成 :如果要使用到 AMQ 代理的 SSL 连接,请选择此设置。在这种情况下,您必须提供您在 第 2.4 节 “为 AMQ 代理连接创建 secret” 中创建的 secret 名称,以及用于 secret 的密钥存储和信任存储的名称。
- 如果要在 KIE Server pod 上自定义 Java 虚拟机的配置,请选择 Enable JVM 配置 框,然后在 Enable JVM 配置 下的任何字段中输入信息。所有字段都是可选的。有关您可以配置的 JVM 参数,请参阅 第 3.5 节 “JVM 配置参数”。
在 Database type 字段中,选择 KIE Server 必须使用的数据库。可用的值如下:
-
MySQL
:在独立 pod 中创建的 MySQL 服务器。 -
PostgreSQL
:在独立 pod 中创建的 PostgreSQL 服务器。除非有特定原因使用任何其他设置,否则请使用此设置。 -
h2
:不需要单独 pod 的内置h2
数据库引擎。如果使用此设置,请不要扩展 KIE Server pod。 -
外部
:外部数据库服务器。
-
如果您选择了除
外部
之外的任何数据库,则会创建一个持久性卷声明来存储数据库。另外,还可为持久性卷设置配置参数:- 在 Size 字段中输入持久性卷的大小。
- 在 StorageClass name 字段中,为持久性卷输入存储类名称。
可选:如果您选择了
外部数据库
,请配置 KIE Server 扩展镜像。如果要使用除 PostgreSQL、MySQL 或 MariaDB 以外的任何数据库服务器,您必须根据 第 2.6 节 “为外部数据库构建自定义 KIE 服务器扩展镜像” 中的说明为数据库服务器驱动程序提供一个 KIE Server 扩展镜像。要将 KIE 服务器配置为使用此扩展镜像,请进行以下更改:- 选择 Enable extension 镜像流 框。
-
在 Extension 镜像流标签 字段中,输入您创建的镜像的 ImageStreamTag 定义,例如
jboss-kie-db2-extension-openshift-image:11.1.4.4
-
可选: 在 Extension image stream namespace 字段中,输入您将镜像推送到的命名空间。如果没有在此字段中输入任何值,Operator 预期镜像位于
openshift
命名空间中。 - 可选: 在 Extension image install directory 字段中,输入扩展所在 extensions 镜像中的目录。如果您使用 第 2.6 节 “为外部数据库构建自定义 KIE 服务器扩展镜像” 中的步骤构建镜像,请不要为此字段输入任何值。
如果您选择了一个外部数据库服务器,请在附加字段中提供以下信息:
driver :输入数据库服务器驱动程序,具体取决于服务器类型:
-
mysql
-
postgresql
-
mariadb
-
mssql
-
db2
-
oracle
-
sisu
-
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
(用于 MS SQL) -
org.hibernate.dialect.DB2Dialect
-
org.hibernate.dialect.Oracle10gDialect
org.hibernate.dialect.SybaseASE15Dialect
有关支持的 dialects 列表,请参阅 Red Hat JBoss EAP 文档中的 Hibernate 属性中的 Hibernate SQL Dialects 表。
-
- 主机 :输入外部数据库服务器的主机名。
- 端口 :输入外部数据库服务器的端口号。
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 Reference Manual 中的 原生可插拔身份验证。如果您在 Red Hat OpenShift Container Platform 上使用红帽提供的 MySQL 版本 8 镜像来启用该插件,请将
MYSQL_DEFAULT_AUTHENTICATION_PLUGIN
环境变量设置为mysql_native_password
。如果在启用
mysql_native_password
插件前在 MySQL 版本 8 服务器上创建用户,则必须在启用插件后更新mysql-user
表。可选:如果要配置代理设置,请使用以下环境变量:
-
HTTPS_
PROXY : https 代理的位置。这优先于HTTPS_PROXY
、http_proxy
和HTTP_PROXY
,用于 Maven 构建和 Java 运行时。例如:myuser:mypass@127.0.0.1:8080
. -
HTTPS_PROXY
: https 代理的位置。这优先于http_proxy
和HTTP_PROXY
,用于 Maven 构建和 Java 运行时。例如:myuser@127.0.0.1:8080
. -
HTTP_
PROXY :http 代理的位置。这优先于HTTP_PROXY
,用于 Maven 构建和 Java 运行时。例如:http://127.0.0.1:8080
。 -
HTTP_PROXY
:http 代理的位置。这同时用于 Maven 构建和 Java 运行时。例如:127.0.0.1:8080
. -
NO_
PROXY :可以直接访问的以逗号分隔的主机、IP 地址或域的列表。这优先于NO_PROXY
,用于 Maven 构建和 Java 运行时。例如:*.example.com
。 -
NO_PROXY
:可以直接访问的以逗号分隔的主机、IP 地址或域的列表。这同时用于 Maven 构建和 Java 运行时。例如:foo.example.com,bar.example.com
。
-
可选: 根据您的需要,设置环境变量。要设置环境变量,请单击 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 文档中的 Mirror Settings。默认值为external:*
。使用此值,Maven 从镜像检索每个所需的工件,且不会查询任何其他存储库。如果您配置外部 Maven 存储库(
MAVEN_REPO_URL
),请更改MAVEN_MIRROR_OF
,以从镜像中排除此仓库中的工件,如external:*,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。如果您的编写环境使用内置的 Business Central Maven 存储库,请更改
MAVEN_MIRROR_OF
,将该存储库中的工件从镜像中排除:external:*,!repo-rhpamcentr
。
-
-
如果要将 KIE Server 部署配置为使用 Prometheus 来收集和存储指标,请将
PROMETHEUS_SERVER_EXT_DISABLED
环境变量设置为false
。有关配置 Prometheus 指标集合的说明,请参阅 管理和监控 KIE Server。 如果您使用 Red Hat Single Sign-On 身份验证,并且应用程序与红帽单点登录的交互需要支持跨原始资源共享(CORS),请配置 CORS 过滤器配置 :
- 要使用带有默认设置的 CORS,请确保从 CORS Filters configuration 类别中选择 Default configuration,然后选择 Enable CORS with Default values。
- 要使用自定义配置的 CORS,从 CORS Filters configuration 列表中选择 Custom configuration,并为 CORS 过滤器输入相关值。
后续步骤
要配置额外的 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.6.3 节 “使用额外 JAR 文件创建自定义智能路由器镜像,以实施自定义路由” 中的说明创建了自定义智能路由器镜像,请设置以下值:
-
镜像构建器 :项目名称,如
rhpam-project
Image :自定义镜像名称,如
rhpam-smartrouter-rhel8-custom
如果您为镜像使用自定义标签,请将 Image tag 字段设置为此标签。
-
镜像构建器 :项目名称,如
- 如果您根据 第 2.5 节 “为智能路由器创建 secret” 中的说明为 Smart Router 创建 secret,请在 Secret 字段中输入 secret 的名称。
- 可选:在 Replicas 字段中输入智能路由器的副本数。
可选: 要为外部路由设置自定义主机名,请在 Smart Router external Route 字段中输入自定义主机名中使用的 域,如下例所示:
`smartrouter.example.com`
注意自定义主机名必须有效并可解析。
要更改自定义主机名,您可以修改
routeHostname
属性。- 可选:在 资源配额 下的字段中输入请求和最大 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
后续步骤
如果要部署 Process Instance Migration 服务,请继续部署该服务。否则,请单击 Finish,然后单击 Deploy 以部署环境。
3.2.7. 为环境设置流程实例迁移配置
您可以使用 Operator 部署 Process Instance Migration (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
:在独立 pod 中创建的 PostgreSQL 服务器。除非有特定原因使用任何其他设置,否则请使用此设置。 -
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 operator。
-
在
表中找到业务自动化
operator 行,并单击中的KieApp
。此时会显示有关使用此 Operator 部署的环境的信息。 - 点部署环境的名称。
选择 YAML 选项卡。
此时会显示 YAML 源。在这个 YAML 源中,您可以编辑
spec:
下的内容,以更改环境的配置。如果要更改 Red Hat Process Automation Manager 的部署版本,请在
spec 下添加以下行:
version: 7.12.0
您可以将
7.12.0
替换为另一个所需的版本。如果禁用了自动更新,请使用此设置将 Red Hat Process Automation Manager 升级到新版本,例如,如果使用自定义镜像。-
如果要更改通用设置,如密码,请在
commonConfig:
下编辑值。 如果要添加新的 KIE 服务器,请在
服务器下的块末尾添加其描述:
,如下例所示:要添加两个名为
server-a
和server-a-2
的服务器,请添加以下行:- deployments: 2 name: server-a
要添加包含 S2I 进程中源代码构建的不可变 KIE 服务器,请添加以下行:
- 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:
设置。例如,replicas: 3
将服务器扩展到三个 pod。 如果要进行其他更改,请查看可用设置的 CRD 源。要查看 CRD 源,请以管理用户身份使用
oc
命令登录到 Red Hat OpenShift Container Platform 环境,然后输入以下命令:oc get crd kieapps.app.kiegroup.org -o yaml
-
单击 Save,然后等待
已更新的
弹出消息。 - 点 Reload 以查看环境的新 YAML 描述。
3.4. 提供 Elytron 用户配置或其他安装后设置
如果不使用 LDAP 或 RH-SSO 身份验证,Red Hat Process Automation Manager 依赖于 Red Hat JBoss EAP 的 Elytron 子系统中的内部用户。默认情况下,只创建管理用户。您可能需要将其他用户添加到 Red Hat JBoss EAP 的 Elytron 安全子系统。为此,您必须运行 Red Hat JBoss EAP 后配置脚本。
您可以在 Red Hat OpenShift Container Platform 部署 Red Hat Process Automation Manager 中,配置此安装后脚本或任何其他 Red Hat JBoss EAP 后配置脚本。
流程
- 从 GitHub 存储库 下载示例文件。
根据示例文件准备以下文件:
-
postconfigure.sh
:Red Hat JBoss EAP 必须运行的、后配置 shell 脚本。在这个示例中,此脚本使用add-users.cli
脚本来添加 Elytron 用户。如果要在 CLI 脚本之外完成安装后任务,请修改此脚本。 -
delayedpostconfigure.sh
: 一个空文件,Red Hat Process Automation Manager 版本 7.12.0 需要。 add-users.cli
:用于配置 Elytron 用户或任何其他 CLI 任务的红帽 JBoss EAP 命令行界面脚本。在以下行间添加您的命令:embed-server --std-out=echo --server-config=standalone-openshift.xml batch <your jboss-cli commands> run-batch quit
-
-
使用
oc
命令登录到 Red Hat OpenShift Container Platform 集群,并更改到部署的命名空间。 使用以下命令,使用您准备的文件创建 ConfigMap:
oc create configmap postconfigure \ --from-file=add-users.cli=add-users.cli \ --from-file=delayedpostconfigure.sh=delayedpostconfigure.sh \ --from-file=postconfigure.sh=postconfigure.sh
输入以下命令编辑
kieconfigs-7.12.0
配置映射:oc edit cm kieconfigs-7.12.0
在 文件中,修改
console:
部分下的部署配置,将配置添加到 Business Central,并修改servers:
部分下的所有部署配置,以将配置添加到 KIE 服务器实例。在每个部署配置中,进行以下更改:
在
deploymentConfigs.metadata.spec.template.spec.containers.volumeMounts
下添加以下行:- name: postconfigure-mount mountPath: /opt/eap/extensions
在
deploymentConfigs.metadata.spec.template.spec.containers.volumeMounts
下添加以下行:- name: "postconfigure-mount" configMap: name: "postconfigure" defaultMode: 0555
- 保存该文件。此时,新的 operator 部署包含配置后设置。
在现有部署中,如果没有自动添加配置后设置,您可以删除 Business Central 和 KIE Server pod。Operator 使用安装后设置自动启动更新版本。
3.5. JVM 配置参数
使用操作器部署 Red Hat Process Automation Manager 时,您可以选择为 Business Central 和 KIE 服务器设置多个 JVM 配置参数。这些参数为对应容器设置环境变量。
下表列出了在使用 Operator 部署 Red Hat Process Automation Manager 时可以设置的所有 JVM 配置参数。
默认设置适用于大多数用例。仅在需要时才进行任何更改。
配置字段 | 环境变量 | 描述 | 示例 |
---|---|---|---|
Java Opts append | JAVA_OPTS_APPEND | 用户指定的 Java 选项,以附加到 JAVA_OPTS 中生成的选项。 |
|
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 自适应大小策略 weight | GC_ADAPTIVE_SIZE_POLICY_WEIGHT |
提供给当前 GC 时间与之前的 GC 时间的权重。设置 |
|
GC 最大元空间大小 | GC_MAX_METASPACE_SIZE |
最大元空间大小。设置 |
|
3.6. 为 KIE 服务器和智能路由器创建自定义镜像
您可以创建自定义镜像,来向 KIE 服务器和智能路由器部署添加文件。您必须将镜像推送(push)到您自己的容器 registry。在部署 Red Hat Process Automation Manager 时,您可以将 Operator 配置为使用自定义镜像。
如果使用自定义镜像,则必须禁用自动版本更新。当您想安装新版本时,请使用与之前名称相同的构建镜像,以及新版本标签并将镜像推送(push)到 registry 中。然后,您可以更改版本,Operator 会自动拉取新镜像。有关在 Operator 中更改产品版本的步骤,请参阅 第 3.3 节 “修改使用 Operator 部署的环境”。
特别是,您可以创建以下类型的自定义镜像:
- KIE Server 的自定义镜像,其中包含额外的 RPM 软件包
- KIE Server 的自定义镜像,其中包含额外的 JAR 类库
- 智能路由器(智能路由器)的自定义镜像,其中包含额外的 JAR 类库来实施自定义路由
3.6.1. 使用附加 RPM 软件包创建自定义 KIE 服务器镜像
您可以创建一个安装额外 RPM 软件包的自定义 KIE Server 镜像。您可以将此镜像推送到自定义 registry 中,然后使用它部署 KIE 服务器。
您可以从 Red Hat Enterprise Linux 8 软件仓库安装任何软件包。这个示例安装 procps-ng
软件包,它提供 ps
实用程序,但您可以修改它来安装其他软件包。
流程
-
使用
podman login
命令向registry.redhat.io
registry 进行身份验证。有关向 registry 进行身份验证的说明,请参阅 Red Hat Container Registry 身份验证。 要下载支持的 KIE 服务器基础镜像,请输入以下命令:
podman pull registry.redhat.io/rhpam-7/rhpam-kieserver-rhel8:7.12.0
创建一个
Dockerfile
,以基于基础镜像定义自定义镜像。该文件必须将当前用户更改为root
,使用yum
命令安装 RPM 软件包,然后恢复到USER 185
(红帽 JBoss EAP 用户)。以下示例显示了Dockerfile
文件的内容:FROM registry.redhat.io/rhpam-7/rhpam-kieserver-rhel8:7.12.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.12.0
例如:
podman build . --tag registry.example.com/custom/rhpam-kieserver-rhel8:7.12.0
构建完成后,运行镜像,登录镜像,并验证自定义是否成功。使用以下命令:
podman run -it --rm registry_address/image_name:7.12.0 /bin/bash
例如:
podman run -it --rm registry.example.com/custom/rhpam-kieserver-rhel8:7.12.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.12.0 docker://registry_address/image_name:7.12.0
例如:
podman push registry.example.com/custom/rhpam-kieserver-rhel8:7.12.0 docker://registry.example.com/custom/rhpam-kieserver-rhel8:7.12.0
后续步骤
在部署 KIE 服务器时,设置镜像名称和命名空间,以在 registry 中指定自定义镜像。点 Set KIE Server 镜像,将 Kind 值改为 DockerImage,然后提供镜像名称,包括 registry 名称,但没有 version 标签,例如:
registry.example.com/custom/rhpam-kieserver-rhel8
有关使用 Operator 部署 KIE 服务器的步骤,请参考 第 3.2.5 节 “设置环境的自定义 KIE 服务器配置”。
3.6.2. 使用额外 JAR 文件创建自定义 KIE 服务器镜像
您可以创建自定义 KIE Server 镜像,其中安装了额外的 JAR 文件(或多个 JAR 文件)来扩展服务器的功能。您可以将此镜像推送到自定义 registry 中,然后使用它部署 KIE 服务器。
例如,您可以创建一个自定义类 JAR 来在 KIE 服务器中提供自定义 Prometheus 指标。有关创建自定义类的说明,请参阅 管理和监控 KIE Server 中的使用自定义指标在 KIE 服务器中扩展 Prometheus 指标监控。
流程
开发与 KIE 服务器一起使用的自定义库。您可以使用以下文档和示例来开发库:
-
使用 Maven 构建库,以便 JAR 文件放置在
目标目录中
。本例使用custom-kieserver-ext-1.0.0.Final.jar
文件名。 -
使用
podman login
命令向registry.redhat.io
registry 进行身份验证。有关向 registry 进行身份验证的说明,请参阅 Red Hat Container Registry 身份验证。 要下载支持的 KIE 服务器基础镜像,请输入以下命令:
podman pull registry.redhat.io/rhpam-7/rhpam-kieserver-rhel8:7.12.0
创建一个
Dockerfile
,以基于基础镜像定义自定义镜像。该文件必须将 JAR 文件(或多个 JAR 文件)复制到/opt/eap/standalone/deployments/ROOT.war/WEB-INF/lib/
目录中。以下示例显示了Dockerfile
文件的内容:FROM registry.redhat.io/rhpam-7/rhpam-kieserver-rhel8:7.12.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.12.0
例如:
podman build . --tag registry.example.com/custom/rhpam-kieserver-rhel8:7.12.0
要将自定义镜像推送到 registry 中,请输入以下命令:
podman push registry_address/image_name:7.12.0 docker://registry_address/image_name:7.12.0
例如:
podman push registry.example.com/custom/rhpam-kieserver-rhel8:7.12.0 docker://registry.example.com/custom/rhpam-kieserver-rhel8:7.12.0
后续步骤
在部署 KIE 服务器时,设置镜像名称和命名空间,以在 registry 中指定自定义镜像。点 Set KIE Server 镜像,将 Kind 值改为 DockerImage,然后提供镜像名称,包括 registry 名称,但没有 version 标签,例如:
registry.example.com/custom/rhpam-kieserver-rhel8
有关使用 Operator 部署 KIE 服务器的步骤,请参考 第 3.2.5 节 “设置环境的自定义 KIE 服务器配置”。
3.6.3. 使用额外 JAR 文件创建自定义智能路由器镜像,以实施自定义路由
默认情况下,智能路由器根据容器别名路由请求。如果几个 KIE 服务器提供具有相同容器别名的服务,智能路由器会在它们之间平衡负载。
在某些情况下,需要自定义路由功能。您可以创建自定义类来实施自定义路由,然后使用类创建自定义智能路由器镜像。您可以将此镜像推送到自定义 registry 中,然后使用它部署 Smart Router。
先决条件
- 已安装 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.12.0
从官方智能路由器镜像中提取
openshift-launch.sh
文件:podman run --rm registry.redhat.io/rhpam-7/rhpam-smartrouter-rhel8:7.12.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.12.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
,即红帽 JBoss EAP 用户
-
添加 JAR 文件和新的
-
使用
oc
命令登录到您的 Red Hat OpenShift Container Platform 集群。 -
使用
podman login
命令登录到 Red Hat OpenShift Container Platform 集群 registry。 使用
Dockerfile
构建自定义镜像。为 Red Hat OpenShift Container Platform 集群 registry 和项目命名空间标记镜像。对镜像使用自定义名称,以及与基础镜像版本相同的版本标签。要构建镜像,请输入以下命令:podman build . --tag registry-route/project-name_/image-name:7.12.0
例如:
podman build . --tag route-openshift-image-registry.openshift.example.com/rhpam-project/rhpam-smartrouter-rhel8-custom:7.12.0
构建完成后,运行镜像并验证自定义是否成功。使用以下命令:
podman run registry-route/project-name/image-name:7.12.0
例如:
podman run route-openshift-image-registry.openshift.example.com/rhpam-project/rhpam-smartrouter-rhel8-custom:7.12.0
确保输出提到自定义服务,如下例所示:
INFO: Using 'LatestVersionContainerResolver' container resolver and restriction policy 'ByPassUserNotAllowedRestrictionPolicy'
将自定义镜像推送到 registry 中:
podman push registry-route/project-name/image-name:7.12.0
例如:
podman push route-openshift-image-registry.openshift.example.com/rhpam-project/rhpam-smartrouter-rhel8-custom:7.12.0
后续步骤
在部署 Red Hat Process Automation Manager 时,在 Smart Router 选项卡中设置以下值:
-
镜像构建器 :项目名称,如
rhpam-project
-
Image :自定义镜像名称,如
rhpam-smartrouter-rhel8-custom
有关使用 Operator 部署智能路由器的说明,请参阅 第 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 值设置为自定义标签。
第 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,与其他服务分开部署。
先决条件
- Dashbuilder Standalone 在 OpenShift 注册表中提供。
- 您已准备好了 OpenShift 环境,如 所述 第 3 章 使用 OpenShift operator 部署和管理 Red Hat Process Automation Manager 环境
- 您已在 Business Central 中创建并导出了仪表板。
流程
- 在 Operator 安装 页面中,在 Application name 字段中输入应用程序的名称。
-
在 Environment 字段中输入环境的名称,如
rhpam-standalone-dashbuilder
。 - 点击 Next。
- 可选:在 Security 页面中,配置 LDAP 或 Red Hat Single Sign-On。
- 在 Components 页面上,从 Components 列表中选择 Dashbuilder。
要添加 KIE 服务器数据集,请完成以下任务:
注意您可以通过重复此步骤来添加额外的 KIE 服务器数据集。
- 单击 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
可选: 要为外部路由设置自定义主机名,请在 Dashbuilder 外部 Route 字段中输入自定义主机名中使用的 域,如下例所示:
`dashbuilder.example.com`
注意自定义主机名必须有效并可解析。
要更改自定义主机名,您可以修改
routeHostname
属性。
4.1. Dashbuilder 独立环境变量
在 Operator 中使用 Dashbuilder 容器镜像时,您可以使用环境变量或通过自定义资源来配置 Dashbuilder。
参数 | 等同的环境变量 | 描述 | 示例值 |
---|---|---|---|
|
| 允许下载外部(远程)文件。默认值为 false。 | False |
|
| 启用外部组件。 | true |
|
| 根据运行时模型 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 |
| — | 代表容器中存在的环境变量。 | — |
您可以使用 operator 来通过使用 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
命令将 pod 中的.niogit
存储库和 Maven 存储库复制到本地机器,例如: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
客户端应用程序,或安装 MariaDB 版本 10 或更高版本。
流程
- 确保没有 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 中的环境包括 KIE 服务器,它使用 PostgreSQL 数据库 pod,将 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
)、password 和 database name (通常为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
)、password、和 数据库名称(通常为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 上部署红帽流程自动化管理器环境,以提供开发或执行服务、处理应用程序和其他业务资产的基础架构。您可以使用提供的模板之一来部署预定义的红帽流程自动化管理器环境,以满足您的特定需求。
有关使用 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 集群中使用:根据应用程序负载,可能需要高资源分配才能接受接受的性能。
- 对于编写环境,4GB 内存和 2 个虚拟 CPU 内核用于 Business Central pod。在高可用性部署中,每个副本都需要这些资源,默认创建两个副本。
- 对于生产环境或不可变环境,每个 Business Central Monitoring pod 副本 2GB 内存和 1 个虚拟 CPU 内核。
- 每个 KIE Server pod 的每个副本的 2GB 内存和 1 个虚拟 CPU 内核。
- 智能路由器 pod 的每个副本的 512 MB 内存和一半的虚拟 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 监控 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 Server (也称为 执行服务器 )是运行决策服务、处理应用程序和其他可部署资产(统称为 服务)的基础架构元素。服务的所有逻辑都在执行服务器上运行。
KIE 服务器通常需要数据库服务器。您可以在另一个 OpenShift pod 中提供数据库服务器,或者将 OpenShift 上的执行服务器配置为使用任何其他数据库服务器。或者,KIE 服务器可以使用 H2 数据库;在这种情况下,您无法扩展 pod。
在某些模板中,您可以扩展 KIE Server pod 来根据需要提供任意数量的副本,在同一主机或不同的主机上运行。当您扩展或缩减 pod 时,其所有副本都使用相同的数据库服务器并运行相同的服务。OpenShift 提供负载平衡,请求可以由任何容器集进行处理。
您可以部署单独的 KIE Server pod 来运行不同的服务组。该 pod 也可以扩展或缩减。您可以根据需要拥有多个单独的复制 KIE Server 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 服务器,并提供监控信息,但不包括编写功能。您可以使用此组件来管理暂存和生产环境。
- 智能路由器是 KIE 服务器和与之交互的其他组件之间的可选层。当您的环境包含不同 KIE 服务器上运行的许多服务时,智能路由器为所有客户端应用提供单一端点。客户端应用可以发出需要任何服务的 REST API 调用。智能路由器自动调用可以处理特定请求的 KIE 服务器。
您可以在 OpenShift 中将这些和其他组件划分为不同的环境配置。
以下是典型的环境类型:
- 试用 :红帽流程自动化管理器演示和评估环境.此环境包括 Business Central 和 KIE 服务器。您可以快速设置它,并使用它来评估或演示开发和运行资产。但是,环境不使用任何持久性存储,并且您在环境中所做的任何工作都不会保存。
- 编写 :使用 Business Central 创建和修改服务的环境。它由为编写工作和 KIE 服务器提供 Business Central 的 pod 组成,用于测试服务的执行。
受管部署 :运行现有服务用于暂存和生产目的的环境。此环境包含多个 KIE Server pod 组;您可以在每一个此类组中部署和取消部署服务,并根据需要扩展组。使用 Business Central Monitoring 部署、运行和停止服务并监控其执行。
您可以部署两种类型的受管环境。在 自由 服务器环境中,您最初部署 Business Central Monitoring 和一个 KIE 服务器。您还可以部署任意数量的 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 存储库,用于存储您开发的服务的内置 Maven 存储库(KJAR 文件/artifacts)。您可以使用持续集成和持续部署(CICD)工具从存储库中检索这些工件,并根据需要移动它们。
Business Central 将源代码保存在内置的 Git 存储库中,该存储库存储在 .niogit
目录中。它使用内置索引机制来索引服务中的资产。
Business Central 将持久性存储用于 Maven 存储库和 Git 存储库。
默认情况下,单个编写环境包含一个 KIE 服务器实例。此 KIE 服务器实例使用内置 H2 数据库引擎来存储进程服务的状态。
默认情况下,单个编写环境使用 控制器策略。Business Central 包含 控制器,它是可以管理 KIE 服务器的组件。当您将 KIE 服务器配置为连接到 Business Central 时,KIE 服务器使用 REST API 连接到控制器。此连接将打开持久的 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 服务和红帽构建的 OptaPlanner 服务必须无状态,因为来自同一客户端的请求可能会被不同的实例处理。
您还可以部署几个独立的 KIE 服务器来运行不同的服务。在这种情况下,服务器使用不同的服务器 ID 值连接到 Business Central Controller。您可以使用 Business Central UI 将服务部署到每个服务器。
智能路由器
可选的智能路由器组件在客户端应用程序和 KIE 服务器实例之间提供一个层。如果您使用几个独立的 KIE 服务器实例,它很有用。
客户端应用可以使用在不同 KIE 服务器实例上运行的服务,但始终连接到智能路由器。Smart Router 会自动将请求传递给运行所需服务的 KIE 服务器实例。智能路由器还支持管理服务版本,并提供额外的负载平衡层。
高可用性编写环境
在高可用性(HA)编写环境中,Business Central pod 被扩展,因此多个 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 部署中包括 Smart Router。
图 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 中默认提供了镜像流,如果为注册表身份验证服务器配置了 OpenShift 基础架构,则可以使用它们。在安装 OpenShift 环境时,管理员必须完成 registry 身份验证配置。
否则,您可以在自己的项目中配置 registry 身份验证,并在该项目中安装镜像流。
流程
- 确定 Red Hat OpenShift Container Platform 是否配置了 Red Hat registry 访问的用户名和密码。有关所需配置的详情 ,请参阅配置 Registry 位置。如果您使用 OpenShift Online 订阅,则会为红帽 registry 访问进行配置。
如果使用 Red Hat registry 访问的用户名和密码配置了 Red Hat OpenShift Container Platform,请输入以下命令:
$ oc get imagestreamtag -n openshift | grep -F rhpam-businesscentral | grep -F 7.12 $ oc get imagestreamtag -n openshift | grep -F rhpam-kieserver | grep -F 7.12
如果两个命令的输出都不是空的,则需要在
openshift
命名空间中提供所需的镜像流,且不需要进一步操作。如果一个或两个命令的输出为空,或者 OpenShift 没有配置 Red Hat registry 访问的用户名和密码,请完成以下步骤:
-
确保您已使用
oc
命令登录到 OpenShift,并且您的项目处于活动状态。 - 完成 共享文件系统服务的 Registry Service Accounts 中记录的步骤。您必须登录到红帽客户门户网站以访问文档并完成步骤以创建 registry 服务帐户。
- 选择 OpenShift Secret 选项卡,再单击 Download secret 下的链接来下载 YAML 机密文件。
-
查看下载的文件并记录
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.12.0-openshift-templates.zip
产品提供的文件,并提取rhpam712-image-streams.yaml
文件。 使用以下命令:
$ oc apply -f rhpam712-image-streams.yaml
注意如果完成这些步骤,请将镜像流安装到项目的命名空间中。在这种情况下,当部署模板时,您必须将
IMAGE_STREAM_NAMESPACE
参数设置为此项目的名称。
-
确保您已使用
7.2. 为 KIE 服务器创建 secret
OpenShift 使用名为 secret 的对象 来保存敏感信息,如密码或密钥存储。如需有关 OpenShift secret 的更多信息,请参阅 Red Hat OpenShift Container Platform 文档中的 Secret 章节。
您必须为 KIE Server 的 HTTP 访问创建 SSL 证书,并将其作为机密提供给 OpenShift 环境。
流程
生成名为
keystore.jks
的 SSL 密钥存储,该密钥存储带有用于 KIE Server 的 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,您必须为 Business Central 的 HTTP 访问创建 SSL 证书,并将其作为 secret 提供给 OpenShift 环境。
不要将相同的证书和密钥用于 Business Central 和 KIE 服务器。
流程
生成名为
keystore.jks
的 SSL 密钥存储,该密钥存储带有用于 KIE Server 的 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 证书以 HTTP 访问智能路由器,并将其作为机密提供给 OpenShift 环境。
不要将证书和密钥存储用于智能路由器,与 KIE Server 或 Business Central 所使用的证书相同。
流程
生成名为
keystore.jks
的 SSL 密钥存储,该密钥存储带有用于 KIE Server 的 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
-
如果您计划在带有
volumeoptions
键的行中将 Business Central 用作单个 pod,但没有高可用性配置,请添加以下选项: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-cache on, performance.stat-prefetch off, performance.read-ahead off, performance.write-behind off, performance.readdir-ahead off, performance.io-cache off, performance.io-cache off, performance.io-cache off, performance 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>
-
- 将源代码上传到另一个 Git 存储库,如 GitHub 或 GitLab,用于 S2I 构建。
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.12
-
下载并提取 Red Hat Process Automation Manager 7.12.0 Offliner 内容列表 (
rhpam-7.12.0-offliner.zip
)产品提供可交付的文件。 -
将
rhpam-7.12.0-offliner.zip
文件的内容提取到任何目录中。 进入该目录并输入以下命令:
./offline-repo-builder.sh offliner.txt
此命令会创建
存储库
子目录,并将所需的工件下载到此子目录中。这是镜像存储库。如果消息报告了一些下载失败,请再次运行相同的命令。如果下载再次失败,请联系红帽支持。
-
将所有工件
从存储库
子目录上传到您准备的 Maven 镜像存储库。您可以使用 Maven 存储库工具 Git 存储库中的 Maven Repository Provisioner 实用程序上传工件。
-
下载并提取 Red Hat Process Automation Manager 7.12.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 数据库
- sisu
另外,您可以使用这个流程为以下任何数据库服务器构建新版本驱动程序:
- MySQL
- MariaDB
- PostgreSQL
有关数据库服务器支持的版本,请参阅 Red Hat Process Automation Manager 7 支持的配置。
构建程序会创建一个可扩展现有 KIE Server 镜像的自定义扩展镜像。您必须将此自定义扩展镜像导入到 OpenShift 环境中,然后在 EXTENSIONS_IMAGE
参数中引用它。
先决条件
-
使用
oc
命令登录到 OpenShift 环境。您的 OpenShift 用户必须具有registry-viewer
角色。有关分配registry-viewer
角色的更多信息,请参阅 OpenShift Container Platform 4.8 文档中的"Registry"章节中的"访问 registry"部分。 - 对于 Oracle Database、IBM DB2 或 datacenter,您可以从数据库服务器供应商下载 JDBC 驱动程序。
已安装以下所需的软件:
流程
- 对于 IBM DB2,Oracle Database (或 datacenter)在本地目录中提供 JDBC 驱动程序 JAR 文件。
-
从红帽客户门户网站的 Software Downloads 页面下载
rhpam-7.12.0-openshift-templates.zip
产品提供的可交付文件。 -
解压文件,并通过命令行更改为解压缩文件的
templates/contrib/jdbc/cekit
目录。此目录包含自定义构建的源代码。 根据数据库服务器类型,输入以下命令之一:
对于 Microsoft SQL Server:
make mssql
对于 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
替换为驱动程序的版本。对于 datacenter :
make build sybase artifact=/tmp/jconn4-16.0_PL05.jar version=16.0_PL05
在这个命令中,将
/tmp/jconn4-16.0_PL05.jar
替换为下载的 datacenter 驱动程序的路径名称,将16.0_PL05
替换为驱动程序的版本。或者,如果您需要为 wlp 驱动程序更新驱动程序类或驱动程序 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 环境的注册表,并将镜像推送至注册表。根据您的用户权限,您可以将镜像推送(push)到
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 章 试用环境
您可以部署试用(评估)红帽流程自动化管理器环境。它由用于编写或管理服务和 KIE Server 的 Business Central 组成,用于测试服务的执行。
此环境不包含永久存储。您在试用环境中创建或修改的资产不会被保存。
此环境主要用于测试和演示访问。它支持跨原始资源共享(CORS)。这意味着,当页面中的其他资源由其他服务器提供时,可以使用浏览器访问 KIE 服务器端点。KIE 服务器端点通常用于 REST 调用,但在某些演示配置中可能需要浏览器访问。
8.1. 部署试用环境
部署试用环境的过程很小。不需要设置,所有密码都被设置为一个值。默认密码是 RedHat
。
流程
-
从红帽客户门户网站的 Software Downloads 页面下载
rhpam-7.12.0-openshift-templates.zip
产品提供的可交付文件。 -
提取
rhpam712-trial-ephemeral.yaml
模板文件。 使用以下方法之一部署模板:
-
在 OpenShift Web UI 中,选择 Add to Project → Import YAML / JSON,然后选择或粘贴
rhpam712-trial-ephemeral.yaml
文件。在 Add Template 窗口中 ,确保选择了模板 并单击 Continue。 要使用 OpenShift 命令行控制台,请准备以下命令行:
oc new-app -f <template-path>/rhpam712-trial-ephemeral.yaml
在这个命令行中,将 &
lt;template-path
> 替换为下载的模板文件的路径。
-
在 OpenShift Web UI 中,选择 Add to Project → Import YAML / JSON,然后选择或粘贴
可选:设置任何参数,如模板中所述。典型的试用部署只需要以下参数:
-
ImageStream Namespace (
IMAGE_STREAM_NAMESPACE
):镜像流可用的命名空间。如果 OpenShift 环境中已存在镜像流(请参阅 第 7.1 节 “确保镜像流和镜像 registry 的可用性”),则命名空间为openshift
。如果安装了镜像流文件,则命名空间是 OpenShift 项目的名称。
-
ImageStream Namespace (
根据您要使用的方法,完成环境创建:
在 OpenShift Web UI 中,单击 Create。
-
这将创建可能具有安全或项目行为影响弹出窗口消息的资源
。如果显示,点 Create Anyway。
-
- 完成并运行命令行。
第 9 章 编写环境
您可以部署环境,以使用 Business Central 创建和修改进程。它包括用于编写工作和 KIE 服务器测试进程的 Business Central。如有必要,您可以将额外的 KIE 服务器连接到 Business Central。
根据您的需要,您可以部署单个编写环境模板或高可用性(HA)编写环境模板。
单个编写环境包含两个 pod。其中一个容器集运行 Business Central,另一个运行 KIE 服务器。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
设置,如 第 9.2 节 “启用 OpenShiftStartupStrategy
设置,将额外的 KIE 服务器连接到 Business Central” 所述。此设置启用其他 KIE 服务器的发现。
有关部署受管 KIE 服务器的步骤,请参考 第 11.2 节 “为自由环境部署额外的管理的 KIE 服务器”。
有关部署不可变 KIE 服务器的步骤,请参阅 第 10.2 节 “使用 S2I 构建部署不可变 KIE 服务器” 和 第 10.4 节 “从 KJAR 服务部署不可变 KIE 服务器”。
9.1. 部署编写环境
您可以使用 OpenShift 模板来部署单一或高可用性的编写环境。此环境由 Business Central 和一个 KIE 服务器组成。
9.1.1. 为编写环境开始配置模板
如果要部署单个编写环境,请使用 rhpam712-authoring.yaml
模板文件。默认情况下,单个编写模板使用带有持久存储的 H2 数据库。如果您希望创建 MySQL 或 PostgreSQL 容器集或使用外部数据库服务器(在 OpenShift 项目之外),请在部署环境前修改模板。有关修改模板的步骤,请参考 第 9.3 节 “为单个编写环境修改模板”。
如果要部署高可用性的编写环境,请使用 rhpam712-authoring-ha.yaml
模板文件。默认情况下,高可用性创建模板创建一个 MySQL pod,以便为 KIE 服务器提供数据库服务器。如果您希望使用 PostgreSQL 或使用外部服务器(在 OpenShift 项目之外),则需要在部署环境前修改模板。您还可以修改模板,以更改最初为 Business Central 创建的副本数。有关修改模板的步骤,请参考 第 9.4 节 “为高可用性编写环境修改模板”。
流程
-
从红帽客户门户网站的 Software Downloads 页面下载
rhpam-7.12.0-openshift-templates.zip
产品提供的可交付文件。 - 提取所需的模板文件。
使用以下方法之一开始部署模板:
-
要使用 OpenShift Web UI,在 OpenShift 应用程序控制台中选择 Add to Project → Import YAML / JSON,然后选择或粘贴 <
template-file-name>.yaml
文件。在 Add Template 窗口中 ,确保选择了模板 并单击 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 的机密名称,如 第 7.3 节 “为 Business Central 创建 secret” 中创建。 -
KIE Server Keystore Secret Name (
KIE_SERVER_HTTPS_SECRET
):KIE 服务器的 secret 名称,如 第 7.2 节 “为 KIE 服务器创建 secret” 中创建的。 -
Business Central Server 证书名称 (
BUSINESS_CENTRAL_HTTPS_NAME
):您在 第 7.3 节 “为 Business Central 创建 secret” 中创建的密钥存储中的证书名称。 -
Business Central Server Keystore Password (
BUSINESS_CENTRAL_HTTPS_PASSWORD
):您在 第 7.3 节 “为 Business Central 创建 secret” 中创建的密钥存储的密码。 -
KIE 服务器证书名称 (
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 服务器的默认 URL。OpenShift 使用应用程序名称来创建单独的一组部署配置、服务、路由、标签和工件。 -
ImageStream Namespace (
IMAGE_STREAM_NAMESPACE
):镜像流可用的命名空间。如果 OpenShift 环境中已存在镜像流(请参阅 第 7.1 节 “确保镜像流和镜像 registry 的可用性”),则命名空间为openshift
。如果您已安装镜像流文件,则命名空间是 OpenShift 项目的名称。
-
凭证 secret (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 9.1.14 节 “为编写环境完成模板部署” 中的步骤操作。
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.14 节 “为编写环境完成模板部署” 中的步骤操作。
要将 Business Central 项目作为 KJAR 工件导出到外部 Maven 存储库,还必须将存储库信息添加到每个项目的 pom.xml
文件中。有关将 Business Central 项目导出到外部存储库的详情,请参考 打包和部署红帽流程自动化管理器项目。
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 文档中的 Mirror Settings。默认值为external:*,!repo-rhpamcentr
; 使用这个值,Maven 会直接从 Business Central 的内置 Maven 存储库检索工件,并从镜像检索任何其他所需的工件。如果您配置外部 Maven 存储库(MAVEN_REPO_URL
),请更改MAVEN_MIRROR_OF
以排除此存储库中的工件,如external:*,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。默认值为external:*
。使用此值,Maven 从镜像检索每个所需的工件,且不会查询任何其他存储库。-
如果您配置外部 Maven 存储库(
MAVEN_REPO_URL
),请更改MAVEN_MIRROR_OF
,以从镜像中排除此仓库中的工件,如external:*,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。 -
如果您配置内置的 Business Central Maven 存储库(
BUSINESS_CENTRAL_MAVEN_SERVICE
),请更改MAVEN_MIRROR_OF
以从镜像中排除此存储库中的工件:external:*,!repo-rhpamcentr
。 -
如果您配置这两个存储库,请更改
MAVEN_MIRROR_OF
,以从 mirror:external:*,!repo-rhpamcentr,!repo-custom
中排除这两个软件仓库中的工件。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。
-
如果您配置外部 Maven 存储库(
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 9.1.14 节 “为编写环境完成模板部署” 中的步骤操作。
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.14 节 “为编写环境完成模板部署” 中的步骤操作。
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.14 节 “为编写环境完成模板部署” 中的步骤操作。
9.1.8. 为高可用性部署配置资源使用量
如果要部署高可用性模板(rhpam712-authoring-ha.yaml
),您可以选择性地配置资源使用情况以优化您的要求的性能。
如果要部署单个编写环境模板(rhpam712-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 限制 (
BUSINESS_CENTRAL_CPU_LIMIT
): Business Central 的最大 CPU 使用量。默认值为2000m
。 -
KIE Server Container Memory Limit (
KIE_SERVER_MEMORY_LIMIT
): KIE Server 容器的 OpenShift 环境中请求的内存量。默认值为1Gi
。 -
KIE 服务器容器 CPU 限制 (
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
角色。- 客户端是在 RH-SSO 身份验证系统中为您要部署的 Red Hat Process Automation Manager 环境的所有组件中创建的。客户端设置包含组件的 URL。在部署环境后,您可以检查并编辑 URL。另外,红帽流程自动化管理器部署可以创建客户端。但是,此选项对环境提供较少的详细控制。
- 您启动了模板的配置,如 第 9.1.1 节 “为编写环境开始配置模板” 所述。
流程
设置以下参数:
-
RH-SSO URL (
SSO_URL
): RH-SSO 的 URL。 -
RH-SSO Realm 名称 (
SSO_REALM
):红帽流程自动化管理器的 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 客户端名称 (
BUSINESS_CENTRAL_SSO_CLIENT
): Business Central 的 RH-SSO 客户端名称。 -
Business Central RH-SSO Client Secret (
BUSINESS_CENTRAL_SSO_SECRET
):在 RH-SSO 中为 Business Central 设定的机密字符串。 -
KIE Server RH-SSO Client name (
KIE_SERVER_SSO_CLIENT
): KIE Server 的 RH-SSO 客户端名称。 -
KIE Server RH-SSO Client Secret (
KIE_SERVER_SSO_SECRET
): KIE Server 客户端的 RH-SSO 中设置的机密字符串。
-
Business Central RH-SSO 客户端名称 (
要在 RH-SSO 中为 Red Hat Process Automation Manager 创建客户端,请在模板中设置以下参数:
-
Business Central RH-SSO 客户端名称 (
BUSINESS_CENTRAL_SSO_CLIENT
):要在 RH-SSO 中为 Business Central 创建的客户端名称。 -
Business Central RH-SSO Client Secret (
BUSINESS_CENTRAL_SSO_SECRET
):在 RH-SSO 中为 Business Central 设置的机密字符串。 -
KIE Server RH-SSO 客户端名称 (
KIE_SERVER_SSO_CLIENT
):要在 KIE 服务器的 RH-SSO 中创建的客户端名称。 -
KIE Server RH-SSO Client Secret (
KIE_SERVER_SSO_SECRET
): KIE Server 客户端的 RH-SSO 中设置的机密字符串。 -
RH-SSO Realm Admin Username (
SSO_USERNAME
)和 RH-SSO Realm Admin Password (SSO_PASSWORD
):红帽流程自动化管理器的 RH-SSO 域的用户名和密码。您必须提供此用户名和密码来创建所需的客户端。
-
Business Central RH-SSO 客户端名称 (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 9.1.14 节 “为编写环境完成模板部署” 中的步骤操作。
完成部署后,查看 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*
参数。这些参数使用红帽 JBoss EAP 的 Elytron 子系统配置 LDAP 身份验证。有关在 LDAP 中使用 Red Hat JBoss EAP 的 Elytron 子系统的更多信息,请参阅使用 基于 LDAP 的身份存储配置身份验证。注意如果要启用 LDAP 故障转移,您可以在
AUTH_LDAP_URL
参数中放置设置或更多 LDAP 服务器地址,用空格分隔。如果 LDAP 服务器没有定义部署所需的所有角色,您可以将 LDAP 组映射到 Red Hat Process Automation Manager 角色。要启用 LDAP 角色映射,请设置以下参数:
RoleMapping rolesProperties 文件路径或一行角色 (
AUTH_ROLE_MAPPER_ROLES_PROPERTIES
):定义角色映射的文件的完全限定路径名称,如/opt/eap/standalone/configuration/rolemapping.properties
。您必须提供此文件,并在所有适用的部署配置中的这个路径中挂载该文件 ; 有关说明,请参阅 第 13.3 节 “(可选)提供 LDAP 角色映射文件”。或者,您可以使用
role=role1,role2;another-role=role2
pattern (如admins=kie-server,rest-all,admin;developers=kie-server,rest-all
,admin;developers=kie-server,rest-all )在此属性中输入角色映射设置。-
角色映射程序 Keep Mapped (
AUTH_LDAP_MAPPER_KEEP_MAPPED
):如果设为true
,则 LDAP 服务器上定义的映射角色和角色都设置为 用户应用角色;如果设为false
,则映射的角色将替换 LDAP 服务器上定义的角色。默认设置为false
。 -
角色映射程序 Keep Non-mapped (
AUTH_LDAP_MAPPER_KEEP_NON_MAPPED
):如果设为true
,则 LDAP 服务器上定义的角色不是用户应用角色;如果设为false
,则没有映射的角色会被删除。默认设置为false
。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 9.1.14 节 “为编写环境完成模板部署” 中的步骤操作。
9.1.11. 为编写环境设置外部数据库服务器的参数
如果您将模板修改为使用 KIE Server 的外部数据库服务器,如 第 9.3 节 “为单个编写环境修改模板” 或 第 9.4 节 “为高可用性编写环境修改模板” 所述,在配置模板以部署编写环境时完成以下附加配置。
先决条件
- 您启动了模板的配置,如 第 9.1.1 节 “为编写环境开始配置模板” 所述。
流程
设置以下参数:
KIE 服务器外部数据库 驱动程序(
KIE_SERVER_EXTERNALDB_DRIVER
):服务器的驱动程序,具体取决于服务器类型:-
mysql
-
postgresql
-
mariadb
-
mssql
-
db2
-
oracle
-
sisu
-
-
KIE Server External Database User (
KIE_SERVER_EXTERNALDB_USER
)和 KIE Server External Database Password (KIE_SERVER_EXTERNALDB_PWD
):外部数据库服务器的用户名和密码 KIE Server External Database URL (
KIE_SERVER_EXTERNALDB_URL
):外部数据库服务器的 JDBC URL注意如果您使用 EntrepriseDB Postgres 数据库服务器,请使用以
jdbc:postgresql://
开头的 URL,而不使用jdbc:edb://
。或者,不要设置 URL,而是设置主机和端口参数。-
KIE Server External Database Host (
KIE_SERVER_EXTERNALDB_SERVICE_HOST
)和 KIE Server External Database Port (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
(用于 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 连接检查器类 (
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 Reference Manual 中的 原生可插拔身份验证。如果您在 Red Hat OpenShift Container Platform 上使用红帽提供的 MySQL 版本 8 镜像来启用该插件,请将
MYSQL_DEFAULT_AUTHENTICATION_PLUGIN
环境变量设置为mysql_native_password
。如果您在启用
mysql_native_password
插件前在 MySQL 版本 8 服务器上创建了用户,则必须在启用插件后更新mysql-user
表。
后续步骤
如有必要,设置附加参数。
如果要配置 EJB 计时器,您必须为 KIE 服务器运行时数据和 EJB 计时器数据使用两个不同的数据库。要使用不同数据库或模式配置 EJB 计时器,请参阅 第 9.1.12 节 “使用不同数据库或模式配置 EJB 计时器”。
要完成部署,请按照 第 9.1.14 节 “为编写环境完成模板部署” 中的步骤操作。
9.1.12. 使用不同数据库或模式配置 EJB 计时器
Red Hat Process Automation Manager 数据库模式和 EJB_JBOSS_TIMER
模式不应共享相同的数据库模式。为避免冲突,您可以配置单独的 EJB 计时器数据库来存储集群计时器。
先决条件
- 二级数据库可用。
流程
通过设置以下环境变量来禁用自动 EJB 计时器配置:
-
AUTO_CONFIGURE_ejb_TIMER
设置为false
。 -
EJB_TIMER
数据源前缀放在DATASOURCES
环境变量上的RHPAM
数据库之前,例如:DATASOURCES="EJB_TIMER,RHPAM"。
以下
XA
变量:EJB_TIMER_XA_CONNECTION_PROPERTY_URL=<url>
EJB_TIMER_NONXA="false"
使用
JAVA_OPTS_APPEND
的以下系统属性:-Dorg.jbpm.ejb.timer.tx=true
-Dorg.jbpm.ejb.timer.local.cache=false
-
例如:
apiVersion: app.kiegroup.org/v2 kind: KieApp metadata: name: test spec: environment: rhpam-authoring objects: servers: - id: 'test-kieserver' name: 'test-kieserver' env: - name: DATASOURCES value: 'EJB_TIMER,RHPAM' - name: RHPAM_JNDI value: 'java:jboss/datasources/rhpam' - name: RHPAM_CONNECTION_CHECKER value: 'org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker' - name: RHPAM_EXCEPTION_SORTER value: 'org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter' - name: RHPAM_NONXA value: 'true' - name: RHPAM_URL value: 'jdbc:oracle:thin:@localhost:1521:rhpam' - name: RHPAM_DRIVER value: 'oracle' - name: KIE_SERVER_PERSISTENCE_DIALECT value: 'org.hibernate.dialect.OracleDialect' - name: RHPAM_USERNAME value: user - name: RHPAM_PASSWORD value: pwd - name: EJB_TIMER_XA_CONNECTION_PROPERTY_URL value: 'jdbc:oracle:thin:@localhost:1521:rhpam_ejbtimer' - name: EJB_TIMER_JNDI value: 'java:jboss/datasources/ejb_timer' - name: EJB_TIMER_TX_ISOLATION value: TRANSACTION_READ_COMMITTED - name: EJB_TIMER_CONNECTION_CHECKER value: 'org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker' - name: EJB_TIMER_EXCEPTION_SORTER value: 'org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter' - name: EJB_TIMER_DRIVER value: 'oracle' - name: EJB_TIMER_USERNAME value: user - name: EJB_TIMER_PASSWORD value: pwd - name: EJB_TIMER_NONXA value: 'false' - name: TIMER_SERVICE_DATA_STORE value: EJB_TIMER - name: JAVA_OPTS_APPEND value: '-Dorg.jbpm.ejb.timer.tx=true -Dorg.jbpm.ejb.timer.local.cache=false' - name: AUTO_CONFIGURE_EJB_TIMER value: 'false'
要完成部署,请按照 第 9.1.14 节 “为编写环境完成模板部署” 中的步骤操作。
9.1.13. 为编写环境启用 Prometheus 指标集合
如果要将 KIE 服务器部署配置为使用 Prometheus 来收集和存储指标,请在部署过程中在 KIE Server 中启用对这个功能的支持。
先决条件
- 您启动了模板的配置,如 第 9.1.1 节 “为编写环境开始配置模板” 所述。
流程
要启用 Prometheus 指标集合的支持,请将 Prometheus Server Extension Disabled (PROMETHEUS_SERVER_EXT_DISABLED
)参数设置为 false
。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 9.1.14 节 “为编写环境完成模板部署” 中的步骤操作。
有关配置 Prometheus 指标集合的说明,请参阅 管理和监控 KIE Server。
9.1.14. 为编写环境完成模板部署
在 OpenShift Web UI 或命令行中设置所有必要的参数后,完成模板的完整部署。
流程
根据您使用的方法,完成以下步骤:
在 OpenShift Web UI 中,单击 Create。
-
如果
这将创建可能具有安全或项目行为影响消息的资源
,请单击 Create Anyway。
-
如果
- 完成命令行并按 Enter 键。
后续步骤
根据您的环境需求,(可选)完成 第 13 章 部署环境后的可选流程 中描述的步骤。
9.2. 启用 OpenShiftStartupStrategy
设置,将额外的 KIE 服务器连接到 Business Central
在使用红帽流程自动化管理器编写模板部署的环境中,Business Central 负责管理一个 KIE Server。如果您使用高质量的编写模板,或者修改了单个编写模板以使用嵌入式 H2 数据库以外的数据库服务器,您可以扩展 KIE Server pod,但所有副本都执行相同的服务。
您可以将额外的 KIE 服务器连接到 Business Central。但是,如果您使用 rhpam712-authoring.yaml
部署单个编写环境,则必须在环境中启用 OpenShiftStartupStrategy
设置。启用 OpenShiftStartupStrategy
时,Business Central 会自动发现同一命名空间中的 KIE 服务器,这些 KIE 服务器可以配置为连接到 Business Central。
使用 OpenShiftStartupStrategy
设置时,当用户将服务部署到 KIE 服务器时,会再次推出 KIE Server 部署。在推出完成前,用户无法将另一个服务部署到同一个 KIE 服务器。由于推出可能需要一些时间,所以 OpenShiftStartupStrategy
设置可能不适用于某些编写环境。
如果您使用 rhpam712-authoring-ha.yaml
模板部署了高可用性创建环境,请不要完成这个步骤。在这个环境中,OpenShiftStartupStrategy
设置会被默认启用。
除非您要将额外的 KIE 服务器连接到 Business Central,否则请不要完成此流程。
先决条件
-
已使用
rhpam712-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 只发现部署的 KIE 服务器,其值
与 creation 模板相同。如果要将 KIE 服务器与其它应用程序名称连接到 Business Central,请输入以下命令:$ oc env myapp-rhpamcentr KIE_SERVER_CONTROLLER_OPENSHIFT_GLOBAL_DISCOVERY_ENABLED=true
在这个命令中,将
myapp-rhpamcentr
替换为 Business Central 部署配置名称。
9.3. 为单个编写环境修改模板
默认情况下,单个编写模板使用带有持久存储的 H2 数据库。如果您希望创建 MySQL 或 PostgreSQL 容器集或使用外部数据库服务器(在 OpenShift 项目之外),请在部署环境前修改模板。
如果要扩展 KIE Server pod,则必须使用 MySQL 或 PostgreSQL pod 或外部数据库服务器。OpenShift 模板定义了一组可由 OpenShift 创建的对象。要更改环境配置,您需要修改、添加或删除这些对象。为简化此任务,Red Hat Process Automation Manager 模板中提供了注释。
模板中的一些注释标记块,以 BEGIN
和结尾处 结束
。例如,以下块被命名为 Sample block
:
## Sample block BEGIN sample line 1 sample line 2 sample line 3 ## Sample block END
对于某些更改,您可能需要将一个模板文件中的块替换为由 Red Hat Process Automation Manager 提供的另一个模板文件的块。在这种情况下,删除块,然后将新块粘贴到其确切的位置。
流程
编辑 rhpam712-authoring.yaml
模板文件,以根据需要进行以下更改。
如果要使用 MySQL 而不是 H2 数据库,则需要替换文件的多个块,将
BEGIN
中的注释标记为END
,使用rhpam712-kieserver-mysql.yaml
文件中的块被标记为注释。您还需要删除其他块并在指定位置中添加块:-
将名为
H2 数据库参数
的块替换为名为MySQL 数据库参数
的块。(使用此块以及rhpam712-kieserver-mysql.yaml
文件中的所有后续替换块。) -
将名为
H2 驱动程序设置
的块替换为名为MySQL 驱动程序设置
的块。 -
将名为
H2 持久卷声明
的块替换为名为MySQL 持久卷声明
的块。 -
删除名为
H2 volume mount
和H2 volume settings
的块。 -
在注释
Place 下添加数据库服务
,添加名为MySQL service
的块。 -
在注释
Place 下添加数据库部署配置
,添加名为MySQL 部署配置的
块。
-
将名为
如果要使用 PostgreSQL 而不是 H2 数据库,则需要替换文件的多个块,将
BEGIN
中的注释标记为END
,使用rhpam712-kieserver-postgresql.yaml
文件中的块被标记为注释。您还需要删除其他块并在指定位置中添加块:-
将名为
H2 数据库参数
的块替换为名为PostgreSQL 数据库参数
的块。(使用此块以及rhpam712-kieserver-postgresql.yaml
文件中的所有后续替换块。) -
将名为
H2 驱动程序设置
的块替换为名为PostgreSQL 驱动程序设置
的块。 -
将名为
H2 持久卷声明
的块替换为名为PostgreSQL 持久卷声明
的块。 -
删除名为
H2 volume mount
和H2 volume settings
的块。 -
在注释
Place 以添加数据库服务
下,添加名为PostgreSQL 服务
的块。 -
在注释
Place 下添加数据库部署配置
,添加名为PostgreSQL 部署配置的
块。
-
将名为
如果要使用外部数据库服务器,替换文件的多个块,将
BEGIN
中的注释标记为END
,使用rhpam712-kieserver-externaldb.yaml
文件中的块,并删除一些块:-
将名为
H2 数据库参数
的块替换为名为External database parameters
的块。(使用此块以及rhpam712-kieserver-externaldb.yaml
文件中的所有后续替换块。) -
将名为
H2 驱动程序设置
的块替换为名为External database driver settings
的块。 删除文件的以下块,并标记为
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
和结尾处 结束
。例如,以下块被命名为 Sample block
:
## Sample block BEGIN sample line 1 sample line 2 sample line 3 ## Sample block END
对于某些更改,您可能需要将一个模板文件中的块替换为由 Red Hat Process Automation Manager 提供的另一个模板文件的块。在这种情况下,删除块,然后将新块粘贴到其确切的位置。
流程
编辑 rhpam712-authoring-ha.yaml
模板文件,以根据需要进行以下更改。
如果要使用 PostgreSQL 而不是 MySQL,替换文件的多个块(从
BEGIN
到END
标记为注释),使用rhpam712-kieserver-postgresql.yaml
文件中的内容替换它们。-
将名为
MySQL 数据库参数
的块替换为名为PostgreSQL 数据库参数
的块。(使用此块以及rhpam712-kieserver-postgresql.yaml
文件中的所有后续替换块。) -
将名为
MySQL service
的块替换为名为PostgreSQL 服务
的块。 -
将名为
MySQL 驱动程序设置
的块替换为名为PostgreSQL 驱动程序设置
的块。 -
将名为
MySQL 部署配置的块替换为
名为PostgreSQL 部署配置的块
。 -
将名为
MySQL 持久卷声明
的块替换为名为PostgreSQL 持久卷声明
的块。
-
将名为
如果要使用外部数据库服务器,替换文件的多个块,将
BEGIN
中的注释标记为END
,使用rhpam712-kieserver-externaldb.yaml
文件中的块,并删除一些块:-
将名为
MySQL 数据库参数
的块替换为名为External database parameters
的块。(使用此块以及rhpam712-kieserver-externaldb.yaml
文件中的所有后续替换块。) -
将名为
MySQL 驱动程序设置
的块替换为名为External database driver settings
的块。 删除文件的以下块,并标记为
BEGIN
中的注释到END
:-
MySQL 服务
-
MySQL 部署配置
-
MySQL 持久性卷声明
-
-
将名为
标准 KIE 服务器镜像包括 MySQL、MariaDB 和 PostgreSQL 外部数据库服务器的驱动程序。如果要使用另一个数据库服务器,您必须构建自定义 KIE Server 镜像。具体说明请查看 第 7.10 节 “为外部数据库构建自定义 KIE 服务器扩展镜像”。
-
如果您想要更改最初为 Business Central 创建的副本数,请在注释其下面的一行中更改
Business Central 创建的副本数
,请将副本数更改为所需的值。
第 10 章 带有不可变服务器的环境
您可以使用预加载服务部署包含一个或多个运行 不可变 KIE Server 的 pod 的环境。默认情况下,数据库服务器也在 pod 中运行。每个 KIE Server pod 可以根据需要单独扩展。
在不可变 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 监控和智能路由器。
您可以使用 Business Central Monitoring 在 KIE 服务器上启动和停止(但不部署)服务并查看监控数据。Business Central 监控会自动发现同一命名空间中的任何 KIE 服务器,包括不可变 KIE 服务器和管理 KIE 服务器。此功能需要 OpenShiftStartupStrategy
设置,该设置为所有 KIE 服务器默认启用,除了在固定管理的基础架构中部署。有关使用 OpenShiftStartupStrategy
设置部署受管 KIE 服务器的说明,请参阅 第 11.2 节 “为自由环境部署额外的管理的 KIE 服务器”。
智能路由器是一个端点,可以从客户端应用程序接收调用到任何服务,并将每个调用自动路由到运行该服务的服务器。
如果要使用 Business Central Monitoring,您必须提供一个 Maven 存储库。您的集成过程必须确保 Maven 存储库中也提供了内置到任何 KIE Server 镜像中的所有 KJAR 文件版本。
10.1.1. 启动用于监控和智能路由器的模板配置
要为具有不可变服务器的环境部署监控和智能路由器,请使用 rhpam712-immutable-monitor.yaml
模板文件。
流程
-
从红帽客户门户网站的 Software Downloads 页面下载
rhpam-7.12.0-openshift-templates.zip
产品提供的可交付文件。 -
提取
rhpam712-immutable-monitor.yaml
模板文件。 使用以下方法之一开始部署模板:
-
要使用 OpenShift Web UI,在 OpenShift 应用程序控制台中选择 Add to Project → Import YAML / JSON,然后选择或粘贴
rhpam712-immutable-monitor.yaml
文件。在 Add Template 窗口中 ,确保选择了模板 并单击 Continue。 要使用 OpenShift 命令行控制台,请准备以下命令行:
oc new-app -f <template-path>/rhpam712-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 的机密名称,如 第 7.3 节 “为 Business Central 创建 secret” 中创建。 -
Smart Router Keystore Secret Name (
KIE_SERVER_ROUTER_HTTPS_SECRET
): 智能路由器 secret 的名称,如 第 7.4 节 “为智能路由器创建 secret” 中创建。 -
Business Central 监控服务器证书名称 (
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 服务器的默认 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 存储库的密码。 -
ImageStream Namespace (
IMAGE_STREAM_NAMESPACE
):镜像流可用的命名空间。如果 OpenShift 环境中已存在镜像流(请参阅 第 7.1 节 “确保镜像流和镜像 registry 的可用性”),则命名空间为openshift
。如果您已安装镜像流文件,则命名空间是 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
角色。- 客户端是在 RH-SSO 身份验证系统中为您要部署的 Red Hat Process Automation Manager 环境的所有组件中创建的。客户端设置包含组件的 URL。在部署环境后,您可以检查并编辑 URL。另外,红帽流程自动化管理器部署可以创建客户端。但是,此选项对环境提供较少的详细控制。
- 您启动了模板的配置,如 第 10.1.1 节 “启动用于监控和智能路由器的模板配置” 所述。
流程
设置以下参数:
-
RH-SSO URL (
SSO_URL
): RH-SSO 的 URL。 -
RH-SSO Realm 名称 (
SSO_REALM
):红帽流程自动化管理器的 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
):要在 RH-SSO 中为 Business Central Monitoring 创建的客户端名称。 -
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
):红帽流程自动化管理器的 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*
参数。这些参数使用红帽 JBoss EAP 的 Elytron 子系统配置 LDAP 身份验证。有关在 LDAP 中使用 Red Hat JBoss EAP 的 Elytron 子系统的更多信息,请参阅使用 基于 LDAP 的身份存储配置身份验证。注意如果要启用 LDAP 故障转移,您可以在
AUTH_LDAP_URL
参数中放置设置或更多 LDAP 服务器地址,用空格分隔。如果 LDAP 服务器没有定义部署所需的所有角色,您可以将 LDAP 组映射到 Red Hat Process Automation Manager 角色。要启用 LDAP 角色映射,请设置以下参数:
RoleMapping rolesProperties 文件路径或一行角色 (
AUTH_ROLE_MAPPER_ROLES_PROPERTIES
):定义角色映射的文件的完全限定路径名称,如/opt/eap/standalone/configuration/rolemapping.properties
。您必须提供此文件,并在所有适用的部署配置中的这个路径中挂载该文件 ; 有关说明,请参阅 第 13.3 节 “(可选)提供 LDAP 角色映射文件”。或者,您可以使用
role=role1,role2;another-role=role2
pattern (如admins=kie-server,rest-all,admin;developers=kie-server,rest-all
,admin;developers=kie-server,rest-all )在此属性中输入角色映射设置。-
角色映射程序 Keep Mapped (
AUTH_LDAP_MAPPER_KEEP_MAPPED
):如果设为true
,则 LDAP 服务器上定义的映射角色和角色都设置为 用户应用角色;如果设为false
,则映射的角色将替换 LDAP 服务器上定义的角色。默认设置为false
。 -
角色映射程序 Keep Non-mapped (
AUTH_LDAP_MAPPER_KEEP_NON_MAPPED
):如果设为true
,则 LDAP 服务器上定义的角色不是用户应用角色;如果设为false
,则没有映射的角色会被删除。默认设置为false
。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 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 功能,请使用 rhpam712-prod-immutable-kieserver-amq.yaml
模板文件。否则,使用 rhpam712-prod-immutable-kieserver.yaml
模板文件。
流程
-
从红帽客户门户网站的 Software Downloads 页面下载
rhpam-7.12.0-openshift-templates.zip
产品提供的可交付文件。 - 提取所需的模板文件。
- 默认情况下,模板包含两个 KIE 服务器。每个服务都使用 pod 中的 PostgreSQL 数据库服务器。要更改 KIE Servers 的数量或使用 pod 或外部数据库服务器中的 MySQL 数据库服务器,请修改模板,如 第 10.3 节 “修改模板以使用 S2I 部署不可变 KIE 服务器” 所述。
使用以下方法之一开始部署模板:
-
要使用 OpenShift Web UI,在 OpenShift 应用程序控制台中选择 Add to Project → Import YAML / JSON,然后选择或粘贴 <
template-file-name>.yaml
文件。在 Add Template 窗口中 ,确保选择了模板 并单击 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 服务器证书名称 (
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 服务器的默认 URL。OpenShift 使用应用程序名称来创建单独的一组部署配置、服务、路由、标签和工件。只要使用不同的应用名称,就可以使用同一模板将多个应用部署到同一项目中。另外,应用程序名称决定了此 KIE Server 实例在 Business Central 或 Business Central Monitoring 上加入的服务器配置(服务器模板)的名称。如果要部署多个 KIE 服务器实例,您必须确保每个服务器都有不同的应用程序名称。 KIE Server Container Deployment (
KIE_SERVER_CONTAINER_DEPLOYMENT
):在构建源后,部署必须从本地或外部存储库拉取的信息。格式为<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 Reference (
SOURCE_REPOSITORY_REF
): Git 存储库中的分支。 -
上下文目录 (
CONTEXT_DIR
):从 Git 存储库下载的项目中源的路径。 -
工件 目录(
ARTIFACT_DIR
):项目内的路径,其中包含成功 Maven 构建后所需的二进制文件(KJAR 文件和任何其他必要的文件)。通常,此目录是构建的目标目录。但是,您可以在 Git 存储库中的这个目录中提供预构建二进制文件。 -
ImageStream Namespace (
IMAGE_STREAM_NAMESPACE
):镜像流可用的命名空间。如果 OpenShift 环境中已存在镜像流(请参阅 第 7.1 节 “确保镜像流和镜像 registry 的可用性”),则命名空间为openshift
。如果您已安装镜像流文件,则命名空间是 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 监控实例的信息
如果要启用从同一命名空间中的 Business Central 或 Business Central Monitoring 实例的连接,则必须配置有关 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 为不可变 KIE 服务器配置对环境中 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 文档中的 Mirror Settings。默认值为external:*
。使用此值,Maven 从镜像检索每个所需的工件,且不会查询任何其他存储库。-
如果您配置外部 Maven 存储库(
MAVEN_REPO_URL
),请更改MAVEN_MIRROR_OF
,以从镜像中排除此仓库中的工件,如external:*,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。 -
如果您配置内置的 Business Central Maven 存储库(
BUSINESS_CENTRAL_MAVEN_SERVICE
),请更改MAVEN_MIRROR_OF
以从镜像中排除此存储库中的工件:external:*,!repo-rhpamcentr
。 -
如果您配置这两个存储库,请更改
MAVEN_MIRROR_OF
,以从 mirror:external:*,!repo-rhpamcentr,!repo-custom
中排除这两个软件仓库中的工件。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。
-
如果您配置外部 Maven 存储库(
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.2.12 节 “使用 S2I 为不可变 KIE 服务器完成模板部署” 中的步骤操作。
10.2.7. 使用 S2I 为不可变 KIE 服务器配置与 AMQ 服务器的通信
如果您使用 rhpam712-prod-immutable-kieserver-amq.yaml
模板文件,则启用 KIE Server JMS 功能。您可以使用外部 AMQ 消息代理通过 JMS API 与服务器交互。
如果需要,您可以修改 JMS 配置。
先决条件
-
您启动了模板的配置,如 第 10.2.1 节 “使用 S2I 启动不可变 KIE 服务器的模板配置” 中所述,使用
rhpam712-prod-immutable-kieserver-amq.yaml
模板文件。
流程
根据需要设置以下任何参数:
-
AMQ Username (
AMQ_USERNAME
)和 AMQ Password (AMQ_PASSWORD
):环境中需要标准代理用户的用户名和密码。 -
AMQ Role (
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
角色。- 客户端是在 RH-SSO 身份验证系统中为您要部署的 Red Hat Process Automation Manager 环境的所有组件中创建的。客户端设置包含组件的 URL。在部署环境后,您可以检查并编辑 URL。另外,红帽流程自动化管理器部署可以创建客户端。但是,此选项对环境提供较少的详细控制。
- 您启动了模板的配置,如 第 10.2.1 节 “使用 S2I 启动不可变 KIE 服务器的模板配置” 所述。
流程
设置以下参数:
-
RH-SSO URL (
SSO_URL
): RH-SSO 的 URL。 -
RH-SSO Realm 名称 (
SSO_REALM
):红帽流程自动化管理器的 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 Server 的 RH-SSO 客户端名称。 -
KIE Server RH-SSO Client Secret (
KIE_SERVER_SSO_SECRET
): KIE Server 客户端的 RH-SSO 中设置的机密字符串。
-
Business Central 或 Business Central Monitoring RH-SSO Client name (
要在 RH-SSO 中为 Red Hat Process Automation Manager 创建客户端,请在模板中设置以下参数:
-
KIE Server RH-SSO 客户端名称 (
KIE_SERVER_SSO_CLIENT
):要在 KIE 服务器的 RH-SSO 中创建的客户端名称。 -
KIE Server RH-SSO Client Secret (
KIE_SERVER_SSO_SECRET
): KIE Server 客户端的 RH-SSO 中设置的机密字符串。 -
RH-SSO Realm Admin Username (
SSO_USERNAME
)和 RH-SSO Realm Admin Password (SSO_PASSWORD
):红帽流程自动化管理器的 RH-SSO 域的用户名和密码。您必须提供此用户名和密码来创建所需的客户端。
-
KIE Server RH-SSO 客户端名称 (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 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*
参数。这些参数使用红帽 JBoss EAP 的 Elytron 子系统配置 LDAP 身份验证。有关在 LDAP 中使用 Red Hat JBoss EAP 的 Elytron 子系统的更多信息,请参阅使用 基于 LDAP 的身份存储配置身份验证。注意如果要启用 LDAP 故障转移,您可以在
AUTH_LDAP_URL
参数中放置设置或更多 LDAP 服务器地址,用空格分隔。如果 LDAP 服务器没有定义部署所需的所有角色,您可以将 LDAP 组映射到 Red Hat Process Automation Manager 角色。要启用 LDAP 角色映射,请设置以下参数:
RoleMapping rolesProperties 文件路径或一行角色 (
AUTH_ROLE_MAPPER_ROLES_PROPERTIES
):定义角色映射的文件的完全限定路径名称,如/opt/eap/standalone/configuration/rolemapping.properties
。您必须提供此文件,并在所有适用的部署配置中的这个路径中挂载该文件 ; 有关说明,请参阅 第 13.3 节 “(可选)提供 LDAP 角色映射文件”。或者,您可以使用
role=role1,role2;another-role=role2
pattern (如admins=kie-server,rest-all,admin;developers=kie-server,rest-all
,admin;developers=kie-server,rest-all )在此属性中输入角色映射设置。-
角色映射程序 Keep Mapped (
AUTH_LDAP_MAPPER_KEEP_MAPPED
):如果设为true
,则 LDAP 服务器上定义的映射角色和角色都设置为 用户应用角色;如果设为false
,则映射的角色将替换 LDAP 服务器上定义的角色。默认设置为false
。 -
角色映射程序 Keep Non-mapped (
AUTH_LDAP_MAPPER_KEEP_NON_MAPPED
):如果设为true
,则 LDAP 服务器上定义的角色不是用户应用角色;如果设为false
,则没有映射的角色会被删除。默认设置为false
。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.2.12 节 “使用 S2I 为不可变 KIE 服务器完成模板部署” 中的步骤操作。
10.2.10. 使用 S2I 为不可变 KIE 服务器设置外部数据库服务器的参数
如果您将模板修改为使用 KIE Server 的外部数据库服务器,如 第 10.3 节 “修改模板以使用 S2I 部署不可变 KIE 服务器” 所述,在配置模板以使用 S2I 构建部署不可变 KIE 服务器时完成以下附加配置。
先决条件
- 您启动了模板的配置,如 第 10.2.1 节 “使用 S2I 启动不可变 KIE 服务器的模板配置” 所述。
流程
设置以下参数:
KIE 服务器外部数据库 驱动程序(
KIE_SERVER_EXTERNALDB_DRIVER
):服务器的驱动程序,具体取决于服务器类型:-
mysql
-
postgresql
-
mariadb
-
mssql
-
db2
-
oracle
-
sisu
-
-
KIE Server External Database User (
KIE_SERVER_EXTERNALDB_USER
)和 KIE Server External Database Password (KIE_SERVER_EXTERNALDB_PWD
):外部数据库服务器的用户名和密码 KIE Server External Database URL (
KIE_SERVER_EXTERNALDB_URL
):外部数据库服务器的 JDBC URL注意如果您使用 EntrepriseDB Postgres 数据库服务器,请使用以
jdbc:postgresql://
开头的 URL,而不使用jdbc:edb://
。或者,不要设置 URL,而是设置主机和端口参数。-
KIE Server External Database Host (
KIE_SERVER_EXTERNALDB_SERVICE_HOST
)和 KIE Server External Database Port (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
(用于 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 连接检查器类 (
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 Reference Manual 中的 原生可插拔身份验证。如果您在 Red Hat OpenShift Container Platform 上使用红帽提供的 MySQL 版本 8 镜像来启用该插件,请将
MYSQL_DEFAULT_AUTHENTICATION_PLUGIN
环境变量设置为mysql_native_password
。如果您在启用
mysql_native_password
插件前在 MySQL 版本 8 服务器上创建了用户,则必须在启用插件后更新mysql-user
表。
后续步骤
如有必要,设置附加参数。
如果要配置 EJB 计时器,您必须为 KIE 服务器运行时数据和 EJB 计时器数据使用两个不同的数据库。要使用不同数据库或模式配置 EJB 计时器,请参阅 第 9.1.12 节 “使用不同数据库或模式配置 EJB 计时器”。
要完成部署,请按照 第 10.2.12 节 “使用 S2I 为不可变 KIE 服务器完成模板部署” 中的步骤操作。
10.2.11. 使用 S2I 为不可变 KIE 服务器启用 Prometheus 指标集合
如果要将 KIE 服务器部署配置为使用 Prometheus 来收集和存储指标,请在部署过程中在 KIE Server 中启用对这个功能的支持。
先决条件
- 您启动了模板的配置,如 第 10.2.1 节 “使用 S2I 启动不可变 KIE 服务器的模板配置” 所述。
流程
要启用 Prometheus 指标集合的支持,请将 Prometheus Server Extension Disabled (PROMETHEUS_SERVER_EXT_DISABLED
)参数设置为 false
。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.2.12 节 “使用 S2I 为不可变 KIE 服务器完成模板部署” 中的步骤操作。
有关配置 Prometheus 指标集合的说明,请参阅 管理和监控 KIE Server。
10.2.12. 使用 S2I 为不可变 KIE 服务器完成模板部署
在 OpenShift Web UI 或命令行中设置所有必要的参数后,完成模板的完整部署。
流程
根据您使用的方法,完成以下步骤:
在 OpenShift Web UI 中,单击 Create。
-
如果
这将创建可能具有安全或项目行为影响消息的资源
,请单击 Create Anyway。
-
如果
- 完成命令行并按 Enter 键。
后续步骤
根据您的环境需求,(可选)完成 第 13 章 部署环境后的可选流程 中描述的步骤。
10.3. 修改模板以使用 S2I 部署不可变 KIE 服务器
默认情况下,使用 S2I 部署不可变服务器的模板会创建单独的 PostgreSQL pod,为每个副本的 KIE 服务器提供数据库服务器。如果您希望使用 MySQL 或外部服务器(在 OpenShift 项目之外),请在部署服务器前修改 rhpam712-prod-immutable-kieserver.yaml
或 rhpam712-prod-immutable-kieserver-amq.yaml
模板文件。
OpenShift 模板定义了一组可由 OpenShift 创建的对象。要更改环境配置,您需要修改、添加或删除这些对象。为简化此任务,Red Hat Process Automation Manager 模板中提供了注释。
模板中的一些注释标记块,以 BEGIN
和结尾处 结束
。例如,以下块被命名为 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
标记为注释),使用rhpam712-kieserver-mysql.yaml
文件中的内容替换它们。-
将名为
PostgreSQL 数据库参数
的块替换为名为MySQL 数据库参数
的块。(使用此块以及rhpam712-kieserver-postgresql.yaml
文件中的所有后续替换块。) -
将名为
PostgreSQL service
的块替换为名为MySQL service
的块。 -
将名为
PostgreSQL 驱动程序设置
的块替换为名为MySQL 驱动程序设置
的块。 -
将名为
PostgreSQL 部署配置的块替换为
名为MySQL 部署配置的块
。 -
将名为
PostgreSQL 持久卷声明
的块替换为名为MySQL 持久卷声明
的块。
-
将名为
如果要使用外部数据库服务器,替换文件的多个块,将
BEGIN
中的注释标记为END
,使用rhpam712-kieserver-externaldb.yaml
文件中的块,并删除一些块:-
将名为
PostgreSQL 数据库参数
的块替换为名为External database parameters
的块。(使用此块以及rhpam712-kieserver-externaldb.yaml
文件中的所有后续替换块。) -
将名为
PostgreSQL 驱动程序设置
的块替换为名为External database driver settings
的块。 删除文件的以下块,并标记为
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 服务器,请使用以下模板文件之一:
-
rhpam712-kieserver-postgresql.yaml
将 PostgreSQL pod 用于持久性存储。除非有特定原因使用另一个模板,否则请使用此模板。 -
rhpam712-kieserver-mysql.yaml
将 MySQL pod 用于持久性存储。 rhpam712-kieserver-externaldb.yaml
将外部数据库服务器用于持久性存储。重要外部数据库服务器的标准 KIE 服务器镜像包括 MySQL 和 PostgreSQL 外部数据库服务器的驱动程序。如果要使用另一个数据库服务器,您必须构建自定义 KIE Server 镜像。具体说明请查看 第 7.10 节 “为外部数据库构建自定义 KIE 服务器扩展镜像”。
流程
-
从红帽客户门户网站的 Software Downloads 页面下载
rhpam-7.12.0-openshift-templates.zip
产品提供的可交付文件。 - 提取所需的模板文件。
使用以下方法之一开始部署模板:
-
要使用 OpenShift Web UI,在 OpenShift 应用程序控制台中选择 Add to Project → Import YAML / JSON,然后选择或粘贴 <
template-file-name>.yaml
文件。在 Add Template 窗口中 ,确保选择了模板 并单击 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 服务器证书名称 (
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 服务器的默认 URL。OpenShift 使用应用程序名称来创建单独的一组部署配置、服务、路由、标签和工件。只要使用不同的应用名称,就可以使用同一模板将多个应用部署到同一项目中。另外,应用程序名称决定了此 KIE Server 实例在 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
): 在rhpam712-kieserver-*.yaml
模板中,默认值为PRODUCTION
。在PRODUCTION
模式中,您无法在此 KIE Server 实例上部署SNAPSHOT
版本 KJAR 工件,且无法更改现有容器中的工件版本。要使用 PRODUCTION 模式部署新版本
,请在同一 KIE 服务器上创建一个新容器。要部署SNAPSHOT
版本或更改现有容器中的工件版本,请将此参数设置为DEVELOPMENT
。 -
ImageStream Namespace (
IMAGE_STREAM_NAMESPACE
):镜像流可用的命名空间。如果 OpenShift 环境中已存在镜像流(请参阅 第 7.1 节 “确保镜像流和镜像 registry 的可用性”),则命名空间为openshift
。如果您已安装镜像流文件,则命名空间是 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 监控实例的信息
如果要启用从同一命名空间中的 Business Central 或 Business Central Monitoring 实例的连接,则必须配置有关 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 文档中的 Mirror Settings。默认值为external:*
。使用此值,Maven 从镜像检索每个所需的工件,且不会查询任何其他存储库。-
如果您配置外部 Maven 存储库(
MAVEN_REPO_URL
),请更改MAVEN_MIRROR_OF
,以从镜像中排除此仓库中的工件,如external:*,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。 -
如果您配置内置的 Business Central Maven 存储库(
BUSINESS_CENTRAL_MAVEN_SERVICE
),请更改MAVEN_MIRROR_OF
以从镜像中排除此存储库中的工件:external:*,!repo-rhpamcentr
。 -
如果您配置这两个存储库,请更改
MAVEN_MIRROR_OF
,以从 mirror:external:*,!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
角色。- 客户端是在 RH-SSO 身份验证系统中为您要部署的 Red Hat Process Automation Manager 环境的所有组件中创建的。客户端设置包含组件的 URL。在部署环境后,您可以检查并编辑 URL。另外,红帽流程自动化管理器部署可以创建客户端。但是,此选项对环境提供较少的详细控制。
- 您启动了模板的配置,如 第 10.4.1 节 “从 KJAR 服务启动不可变 KIE 服务器的模板配置” 所述。
流程
设置以下参数:
-
RH-SSO URL (
SSO_URL
): RH-SSO 的 URL。 -
RH-SSO Realm 名称 (
SSO_REALM
):红帽流程自动化管理器的 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 Server 的 RH-SSO 客户端名称。 -
KIE Server RH-SSO Client Secret (
KIE_SERVER_SSO_SECRET
): KIE Server 客户端的 RH-SSO 中设置的机密字符串。
-
Business Central 或 Business Central Monitoring RH-SSO Client name (
要在 RH-SSO 中为 Red Hat Process Automation Manager 创建客户端,请在模板中设置以下参数:
-
KIE Server RH-SSO 客户端名称 (
KIE_SERVER_SSO_CLIENT
):要在 KIE 服务器的 RH-SSO 中创建的客户端名称。 -
KIE Server RH-SSO Client Secret (
KIE_SERVER_SSO_SECRET
): KIE Server 客户端的 RH-SSO 中设置的机密字符串。 -
RH-SSO Realm Admin Username (
SSO_USERNAME
)和 RH-SSO Realm Admin Password (SSO_PASSWORD
):红帽流程自动化管理器的 RH-SSO 域的用户名和密码。您必须提供此用户名和密码来创建所需的客户端。
-
KIE Server RH-SSO 客户端名称 (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 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*
参数。这些参数使用红帽 JBoss EAP 的 Elytron 子系统配置 LDAP 身份验证。有关在 LDAP 中使用 Red Hat JBoss EAP 的 Elytron 子系统的更多信息,请参阅使用 基于 LDAP 的身份存储配置身份验证。注意如果要启用 LDAP 故障转移,您可以在
AUTH_LDAP_URL
参数中放置设置或更多 LDAP 服务器地址,用空格分隔。如果 LDAP 服务器没有定义部署所需的所有角色,您可以将 LDAP 组映射到 Red Hat Process Automation Manager 角色。要启用 LDAP 角色映射,请设置以下参数:
RoleMapping rolesProperties 文件路径或一行角色 (
AUTH_ROLE_MAPPER_ROLES_PROPERTIES
):定义角色映射的文件的完全限定路径名称,如/opt/eap/standalone/configuration/rolemapping.properties
。您必须提供此文件,并在所有适用的部署配置中的这个路径中挂载该文件 ; 有关说明,请参阅 第 13.3 节 “(可选)提供 LDAP 角色映射文件”。或者,您可以使用
role=role1,role2;another-role=role2
pattern (如admins=kie-server,rest-all,admin;developers=kie-server,rest-all
,admin;developers=kie-server,rest-all )在此属性中输入角色映射设置。-
角色映射程序 Keep Mapped (
AUTH_LDAP_MAPPER_KEEP_MAPPED
):如果设为true
,则 LDAP 服务器上定义的映射角色和角色都设置为 用户应用角色;如果设为false
,则映射的角色将替换 LDAP 服务器上定义的角色。默认设置为false
。 -
角色映射程序 Keep Non-mapped (
AUTH_LDAP_MAPPER_KEEP_NON_MAPPED
):如果设为true
,则 LDAP 服务器上定义的角色不是用户应用角色;如果设为false
,则没有映射的角色会被删除。默认设置为false
。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.4.10 节 “从 KJAR 服务为不可变 KIE 服务器完成模板部署” 中的步骤操作。
10.4.8. 为来自 KJAR 服务的不可变 KIE 服务器设置外部数据库服务器的参数
如果您使用 rhpam712-kieserver-externaldb.yaml
模板为 KIE Server 使用外部数据库服务器,请在将模板配置为从 KJAR 服务部署不可变 KIE 服务器时完成以下附加配置。
先决条件
- 您启动了模板的配置,如 第 10.4.1 节 “从 KJAR 服务启动不可变 KIE 服务器的模板配置” 所述。
流程
设置以下参数:
KIE 服务器外部数据库 驱动程序(
KIE_SERVER_EXTERNALDB_DRIVER
):服务器的驱动程序,具体取决于服务器类型:-
mysql
-
postgresql
-
mariadb
-
mssql
-
db2
-
oracle
-
sisu
-
-
KIE Server External Database User (
KIE_SERVER_EXTERNALDB_USER
)和 KIE Server External Database Password (KIE_SERVER_EXTERNALDB_PWD
):外部数据库服务器的用户名和密码 KIE Server External Database URL (
KIE_SERVER_EXTERNALDB_URL
):外部数据库服务器的 JDBC URL注意如果您使用 EntrepriseDB Postgres 数据库服务器,请使用以
jdbc:postgresql://
开头的 URL,而不使用jdbc:edb://
。或者,不要设置 URL,而是设置主机和端口参数。-
KIE Server External Database Host (
KIE_SERVER_EXTERNALDB_SERVICE_HOST
)和 KIE Server External Database Port (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
(用于 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 连接检查器类 (
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 Reference Manual 中的 原生可插拔身份验证。如果您在 Red Hat OpenShift Container Platform 上使用红帽提供的 MySQL 版本 8 镜像来启用该插件,请将
MYSQL_DEFAULT_AUTHENTICATION_PLUGIN
环境变量设置为mysql_native_password
。如果您在启用
mysql_native_password
插件前在 MySQL 版本 8 服务器上创建了用户,则必须在启用插件后更新mysql-user
表。
后续步骤
如有必要,设置附加参数。
如果要配置 EJB 计时器,您必须为 KIE 服务器运行时数据和 EJB 计时器数据使用两个不同的数据库。要使用不同数据库或模式配置 EJB 计时器,请参阅 第 9.1.12 节 “使用不同数据库或模式配置 EJB 计时器”。
要完成部署,请按照 第 10.4.10 节 “从 KJAR 服务为不可变 KIE 服务器完成模板部署” 中的步骤操作。
10.4.9. 为 KJAR 服务的不可变 KIE 服务器启用 Prometheus 指标集合
如果要将 KIE 服务器部署配置为使用 Prometheus 来收集和存储指标,请在部署过程中在 KIE Server 中启用对这个功能的支持。
先决条件
- 您启动了模板的配置,如 第 10.4.1 节 “从 KJAR 服务启动不可变 KIE 服务器的模板配置” 所述。
流程
要启用 Prometheus 指标集合的支持,请将 Prometheus Server Extension Disabled (PROMETHEUS_SERVER_EXT_DISABLED
)参数设置为 false
。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.4.10 节 “从 KJAR 服务为不可变 KIE 服务器完成模板部署” 中的步骤操作。
有关配置 Prometheus 指标集合的说明,请参阅 管理和监控 KIE Server。
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 Server,开始部署自由管理的服务器环境。您可以使用 Business Central Monitoring 来监控和管理 KIE 服务器上的服务的执行。此环境不包括智能路由器。
您还可以部署额外的管理的 KIE 服务器。每个 KIE 服务器都可以根据需要单独扩展。
在受管 KIE 服务器上,最初不会加载任何服务。使用 Business Central Monitoring 或 KIE Server 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 监控和单个管理的 KIE 服务器,请使用 rhpam712-managed.yaml
模板文件。
流程
-
从红帽客户门户网站的 Software Downloads 页面下载
rhpam-7.12.0-openshift-templates.zip
产品提供的可交付文件。 -
提取
rhpam712-managed.yaml
模板文件。 使用以下方法之一开始部署模板:
-
要使用 OpenShift Web UI,在 OpenShift 应用程序控制台中选择 Add to Project → Import YAML / JSON,然后选择或粘贴
rhpam712-managed.yaml
文件。在 Add Template 窗口中 ,确保选择了模板 并单击 Continue。 要使用 OpenShift 命令行控制台,请准备以下命令行:
oc new-app -f <template-path>/rhpam712-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 的机密名称,如 第 7.3 节 “为 Business Central 创建 secret” 中创建。 -
KIE Server Keystore Secret Name (
KIE_SERVER_HTTPS_SECRET
):KIE 服务器的 secret 名称,如 第 7.2 节 “为 KIE 服务器创建 secret” 中创建的。 -
Business Central 监控服务器证书名称 (
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 服务器证书名称 (
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 服务器的默认 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
):在rhpam712-managed.yaml
模板中,默认值为PRODUCTION
。在PRODUCTION
模式中,您无法在此 KIE Server 实例上部署SNAPSHOT
版本 KJAR 工件,且无法更改现有容器中的工件版本。要使用 PRODUCTION 模式部署新版本
,请在同一 KIE 服务器上创建一个新容器。要部署SNAPSHOT
版本或更改现有容器中的工件版本,请将此参数设置为DEVELOPMENT
。 -
ImageStream Namespace (
IMAGE_STREAM_NAMESPACE
):镜像流可用的命名空间。如果 OpenShift 环境中已存在镜像流(请参阅 第 7.1 节 “确保镜像流和镜像 registry 的可用性”),则命名空间为openshift
。如果您已安装镜像流文件,则命名空间是 OpenShift 项目的名称。
-
凭证 secret (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 11.1.8 节 “完成用于监控和单个 KIE 服务器的模板部署” 中的步骤操作。
11.1.3. 为监控和单个 KIE 服务器配置 pod 副本号
将模板配置为部署 Business Central 监控和单个管理的 KIE 服务器时,您可以为 KIE 服务器和 Business Central 监控设置初始副本数。
先决条件
- 您启动了模板的配置,如 第 11.1.1 节 “启动用于监控和单个 KIE 服务器的模板配置” 所述。
流程
要配置副本数量,请设置以下参数:
-
Business Central Monitoring Container Replicas (
BUSINESS_CENTRAL_MONITORING_CONTAINER_REPLICAS
):部署最初为 Business Central 监控创建的副本数。如果您不想将高可用性配置用于 Business Central Monitoring,请将此数字设置为 1。 -
KIE Server Container Replicas (
KIE_SERVER_CONTAINER_REPLICAS
):部署最初为 KIE 服务器创建的副本数。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 11.1.8 节 “完成用于监控和单个 KIE 服务器的模板部署” 中的步骤操作。
11.1.4. 在没有连接到公共互联网以进行监控和单一 KIE 服务器的情况下,在环境中配置对 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 文档中的 Mirror Settings。默认值为external:*
。使用此值,Maven 从镜像检索每个所需的工件,且不会查询任何其他存储库。-
如果您配置外部 Maven 存储库(
MAVEN_REPO_URL
),请更改MAVEN_MIRROR_OF
,以从镜像中排除此仓库中的工件,如external:*,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。 -
如果您配置内置的 Business Central Maven 存储库(
BUSINESS_CENTRAL_MAVEN_SERVICE
),请更改MAVEN_MIRROR_OF
以从镜像中排除此存储库中的工件:external:*,!repo-rhpamcentr
。 -
如果您配置这两个存储库,请更改
MAVEN_MIRROR_OF
,以从 mirror:external:*,!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 监控和单个受管 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
角色。- 客户端是在 RH-SSO 身份验证系统中为您要部署的 Red Hat Process Automation Manager 环境的所有组件中创建的。客户端设置包含组件的 URL。在部署环境后,您可以检查并编辑 URL。另外,红帽流程自动化管理器部署可以创建客户端。但是,此选项对环境提供较少的详细控制。
- 您启动了模板的配置,如 第 11.1.1 节 “启动用于监控和单个 KIE 服务器的模板配置” 所述。
流程
设置以下参数:
-
RH-SSO URL (
SSO_URL
): RH-SSO 的 URL。 -
RH-SSO Realm 名称 (
SSO_REALM
):红帽流程自动化管理器的 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 Server 的 RH-SSO 客户端名称。 -
KIE Server RH-SSO Client Secret (
KIE_SERVER_SSO_SECRET
): KIE Server 客户端的 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
):要在 RH-SSO 中为 Business Central Monitoring 创建的客户端名称。 -
Business Central Monitoring RH-SSO Client Secret (
BUSINESS_CENTRAL_SSO_SECRET
):用于 Business Central Monitoring 客户端的 RH-SSO 中设置的机密字符串。 -
KIE Server RH-SSO 客户端名称 (
KIE_SERVER_SSO_CLIENT
):要在 KIE 服务器的 RH-SSO 中创建的客户端名称。 -
KIE Server RH-SSO Client Secret (
KIE_SERVER_SSO_SECRET
): KIE Server 客户端的 RH-SSO 中设置的机密字符串。 -
RH-SSO Realm Admin Username (
SSO_USERNAME
)和 RH-SSO Realm Admin Password (SSO_PASSWORD
):红帽流程自动化管理器的 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 监控和单个管理的 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.1.1 节 “启动用于监控和单个 KIE 服务器的模板配置” 所述。
流程
设置模板的
AUTH_LDAP*
参数。这些参数使用红帽 JBoss EAP 的 Elytron 子系统配置 LDAP 身份验证。有关在 LDAP 中使用 Red Hat JBoss EAP 的 Elytron 子系统的更多信息,请参阅使用 基于 LDAP 的身份存储配置身份验证。注意如果要启用 LDAP 故障转移,您可以在
AUTH_LDAP_URL
参数中放置设置或更多 LDAP 服务器地址,用空格分隔。如果 LDAP 服务器没有定义部署所需的所有角色,您可以将 LDAP 组映射到 Red Hat Process Automation Manager 角色。要启用 LDAP 角色映射,请设置以下参数:
RoleMapping rolesProperties 文件路径或一行角色 (
AUTH_ROLE_MAPPER_ROLES_PROPERTIES
):定义角色映射的文件的完全限定路径名称,如/opt/eap/standalone/configuration/rolemapping.properties
。您必须提供此文件,并在所有适用的部署配置中的这个路径中挂载该文件 ; 有关说明,请参阅 第 13.3 节 “(可选)提供 LDAP 角色映射文件”。或者,您可以使用
role=role1,role2;another-role=role2
pattern (如admins=kie-server,rest-all,admin;developers=kie-server,rest-all
,admin;developers=kie-server,rest-all )在此属性中输入角色映射设置。-
角色映射程序 Keep Mapped (
AUTH_LDAP_MAPPER_KEEP_MAPPED
):如果设为true
,则 LDAP 服务器上定义的映射角色和角色都设置为 用户应用角色;如果设为false
,则映射的角色将替换 LDAP 服务器上定义的角色。默认设置为false
。 -
角色映射程序 Keep Non-mapped (
AUTH_LDAP_MAPPER_KEEP_NON_MAPPED
):如果设为true
,则 LDAP 服务器上定义的角色不是用户应用角色;如果设为false
,则没有映射的角色会被删除。默认设置为false
。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 11.1.8 节 “完成用于监控和单个 KIE 服务器的模板部署” 中的步骤操作。
11.1.7. 为监控和单个 KIE 服务器启用 Prometheus 指标集合
如果要将 KIE 服务器部署配置为使用 Prometheus 来收集和存储指标,请在部署过程中在 KIE Server 中启用对这个功能的支持。
先决条件
- 您启动了模板的配置,如 第 11.1.1 节 “启动用于监控和单个 KIE 服务器的模板配置” 所述。
流程
要启用 Prometheus 指标集合的支持,请将 Prometheus Server Extension Disabled (PROMETHEUS_SERVER_EXT_DISABLED
)参数设置为 false
。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 11.1.8 节 “完成用于监控和单个 KIE 服务器的模板部署” 中的步骤操作。
有关配置 Prometheus 指标集合的说明,请参阅 管理和监控 KIE Server。
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 Server REST API 在服务器上部署和取消部署服务。
11.2.1. 为额外的受管 KIE 服务器启动模板配置
要部署额外的受管 KIE 服务器,请使用 {template_name}
模板文件。
流程
-
从红帽客户门户网站的 Software Downloads 页面下载
rhpam-7.12.0-openshift-templates.zip
产品提供的可交付文件。 -
提取
{template_name}
模板文件。 使用以下方法之一开始部署模板:
-
要使用 OpenShift Web UI,在 OpenShift 应用程序控制台中选择 Add to Project → Import YAML / JSON,然后选择或粘贴
{template_name}
文件。在 Add Template 窗口中 ,确保选择了模板 并单击 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 服务器的默认 URL。OpenShift 使用应用程序名称来创建单独的一组部署配置、服务、路由、标签和工件。 -
ImageStream Namespace (
IMAGE_STREAM_NAMESPACE
):镜像流可用的命名空间。如果 OpenShift 环境中已存在镜像流(请参阅 第 7.1 节 “确保镜像流和镜像 registry 的可用性”),则命名空间为openshift
。如果您已安装镜像流文件,则命名空间是 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 监控实例的信息
如果要启用从同一命名空间中的 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 文档中的 Mirror Settings。默认值为external:*
。使用此值,Maven 从镜像检索每个所需的工件,且不会查询任何其他存储库。-
如果您配置外部 Maven 存储库(
MAVEN_REPO_URL
),请更改MAVEN_MIRROR_OF
,以从镜像中排除此仓库中的工件,如external:*,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。 -
如果您配置内置的 Business Central Maven 存储库(
BUSINESS_CENTRAL_MAVEN_SERVICE
),请更改MAVEN_MIRROR_OF
以从镜像中排除此存储库中的工件:external:*,!repo-rhpamcentr
。 -
如果您配置这两个存储库,请更改
MAVEN_MIRROR_OF
,以从 mirror:external:*,!repo-rhpamcentr,!repo-custom
中排除这两个软件仓库中的工件。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。
-
如果您配置外部 Maven 存储库(
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 11.2.10 节 “为额外的受管 KIE 服务器完成模板部署” 中的步骤操作。
11.2.6. 为额外的受管 KIE 服务器设置 RH-SSO 身份验证参数
如果要使用 RH-SSO 身份验证,在配置模板以部署额外的管理的 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
角色。- 客户端是在 RH-SSO 身份验证系统中为您要部署的 Red Hat Process Automation Manager 环境的所有组件中创建的。客户端设置包含组件的 URL。在部署环境后,您可以检查并编辑 URL。另外,红帽流程自动化管理器部署可以创建客户端。但是,此选项对环境提供较少的详细控制。
- 您启动了模板的配置,如 第 11.2.1 节 “为额外的受管 KIE 服务器启动模板配置” 所述。
流程
设置以下参数:
-
RH-SSO URL (
SSO_URL
): RH-SSO 的 URL。 -
RH-SSO Realm 名称 (
SSO_REALM
):红帽流程自动化管理器的 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
):红帽流程自动化管理器的 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*
参数。这些参数使用红帽 JBoss EAP 的 Elytron 子系统配置 LDAP 身份验证。有关在 LDAP 中使用 Red Hat JBoss EAP 的 Elytron 子系统的更多信息,请参阅使用 基于 LDAP 的身份存储配置身份验证。注意如果要启用 LDAP 故障转移,您可以在
AUTH_LDAP_URL
参数中放置设置或更多 LDAP 服务器地址,用空格分隔。如果 LDAP 服务器没有定义部署所需的所有角色,您可以将 LDAP 组映射到 Red Hat Process Automation Manager 角色。要启用 LDAP 角色映射,请设置以下参数:
RoleMapping rolesProperties 文件路径或一行角色 (
AUTH_ROLE_MAPPER_ROLES_PROPERTIES
):定义角色映射的文件的完全限定路径名称,如/opt/eap/standalone/configuration/rolemapping.properties
。您必须提供此文件,并在所有适用的部署配置中的这个路径中挂载该文件 ; 有关说明,请参阅 第 13.3 节 “(可选)提供 LDAP 角色映射文件”。或者,您可以使用
role=role1,role2;another-role=role2
pattern (如admins=kie-server,rest-all,admin;developers=kie-server,rest-all
,admin;developers=kie-server,rest-all )在此属性中输入角色映射设置。-
角色映射程序 Keep Mapped (
AUTH_LDAP_MAPPER_KEEP_MAPPED
):如果设为true
,则 LDAP 服务器上定义的映射角色和角色都设置为 用户应用角色;如果设为false
,则映射的角色将替换 LDAP 服务器上定义的角色。默认设置为false
。 -
角色映射程序 Keep Non-mapped (
AUTH_LDAP_MAPPER_KEEP_NON_MAPPED
):如果设为true
,则 LDAP 服务器上定义的角色不是用户应用角色;如果设为false
,则没有映射的角色会被删除。默认设置为false
。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 11.2.10 节 “为额外的受管 KIE 服务器完成模板部署” 中的步骤操作。
11.2.8. 为额外的受管 KIE 服务器设置外部数据库服务器的参数
如果您使用 rhpam712-kieserver-externaldb.yaml
模板为 KIE Server 使用外部数据库服务器,请在配置模板以部署其他受管 KIE 服务器时完成以下附加配置。
先决条件
- 您启动了模板的配置,如 第 11.2.1 节 “为额外的受管 KIE 服务器启动模板配置” 所述。
流程
设置以下参数:
KIE 服务器外部数据库 驱动程序(
KIE_SERVER_EXTERNALDB_DRIVER
):服务器的驱动程序,具体取决于服务器类型:-
mysql
-
postgresql
-
mariadb
-
mssql
-
db2
-
oracle
-
sisu
-
-
KIE Server External Database User (
KIE_SERVER_EXTERNALDB_USER
)和 KIE Server External Database Password (KIE_SERVER_EXTERNALDB_PWD
):外部数据库服务器的用户名和密码 KIE Server External Database URL (
KIE_SERVER_EXTERNALDB_URL
):外部数据库服务器的 JDBC URL注意如果您使用 EntrepriseDB Postgres 数据库服务器,请使用以
jdbc:postgresql://
开头的 URL,而不使用jdbc:edb://
。或者,不要设置 URL,而是设置主机和端口参数。-
KIE Server External Database Host (
KIE_SERVER_EXTERNALDB_SERVICE_HOST
)和 KIE Server External Database Port (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
(用于 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 连接检查器类 (
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 Reference Manual 中的 原生可插拔身份验证。如果您在 Red Hat OpenShift Container Platform 上使用红帽提供的 MySQL 版本 8 镜像来启用该插件,请将
MYSQL_DEFAULT_AUTHENTICATION_PLUGIN
环境变量设置为mysql_native_password
。如果您在启用
mysql_native_password
插件前在 MySQL 版本 8 服务器上创建了用户,则必须在启用插件后更新mysql-user
表。
后续步骤
如有必要,设置附加参数。
如果要配置 EJB 计时器,您必须为 KIE 服务器运行时数据和 EJB 计时器数据使用两个不同的数据库。要使用不同数据库或模式配置 EJB 计时器,请参阅 第 9.1.12 节 “使用不同数据库或模式配置 EJB 计时器”。
要完成部署,请按照 第 11.2.10 节 “为额外的受管 KIE 服务器完成模板部署” 中的步骤操作。
11.2.9. 为额外的受管 KIE 服务器启用 Prometheus 指标集合
如果要将 KIE 服务器部署配置为使用 Prometheus 来收集和存储指标,请在部署过程中在 KIE Server 中启用对这个功能的支持。
先决条件
- 您启动了模板的配置,如 第 11.2.1 节 “为额外的受管 KIE 服务器启动模板配置” 所述。
流程
要启用 Prometheus 指标集合的支持,请将 Prometheus Server Extension Disabled (PROMETHEUS_SERVER_EXT_DISABLED
)参数设置为 false
。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 11.2.10 节 “为额外的受管 KIE 服务器完成模板部署” 中的步骤操作。
有关配置 Prometheus 指标集合的说明,请参阅 管理和监控 KIE Server。
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 服务器上部署、加载和卸载进程。您还可以使用它来查看监控信息。
智能路由器是一个端点,可以从客户端应用程序接收调用到任何进程,并将每个调用自动路由到运行进程的服务器。
默认情况下,模板创建两个独立的 KIE 服务器。您可以修改模板,以在部署前更改 KIE Servers 的数量。您不能稍后轻松添加或删除 KIE 服务器。
您必须提供一个 Maven 存储库,其中包含要在服务器上部署的进程(KJAR 文件)。您的集成过程必须确保所需的进程版本上传到 Maven 存储库。您可以在开发环境中使用 Business Central 来创建进程并将其上传到 Maven 存储库。
12.1. 部署固定的受管服务器环境
您可以使用单个模板部署固定的受管服务器环境。模板文件的名称是 rhpam712-prod.yaml
。
该模板包括两个 KIE Server pod (使用 PostgreSQL 数据库 pod)、智能路由器在高可用性配置中,以及 Business Central Monitoring (高可用性配置)。
您可以在配置部署时更改所有组件的副本数量。如果要修改独立 KIE 服务器 pod 的数量或使用不同的数据库服务器,您必须修改模板。有关修改模板的步骤,请参考 第 12.2 节 “为固定受管环境修改模板”。
固定的受管环境模板在 Red Hat Process Automation Manager 7.12 中已弃用。它将在以后的发行版本中被删除。
12.1.1. 启动固定受管服务器环境的模板配置
要部署固定的受管服务器环境,请使用 rhpam712-prod.yaml
模板文件。
流程
-
从红帽客户门户网站的 Software Downloads 页面下载
rhpam-7.12.0-openshift-templates.zip
产品提供的可交付文件。 -
提取
rhpam712-prod.yaml
模板文件。 - 默认情况下,模板包含两个 KIE 服务器。每个服务都使用 pod 中的 PostgreSQL 数据库服务器。要更改 KIE Servers 的数量或使用 pod 或外部数据库服务器中的 MySQL 数据库服务器,请修改模板,如 第 12.2 节 “为固定受管环境修改模板” 所述。
使用以下方法之一开始部署模板:
-
要使用 OpenShift Web UI,在 OpenShift 应用程序控制台中选择 Add to Project → Import YAML / JSON,然后选择或粘贴
rhpam712-prod.yaml
文件。在 Add Template 窗口中 ,确保选择了模板 并单击 Continue。 要使用 OpenShift 命令行控制台,请准备以下命令行:
oc new-app -f <template-path>/rhpam712-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 的机密名称,如 第 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 监控服务器证书名称 (
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 服务器证书名称 (
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 服务器的默认 URL。OpenShift 使用应用程序名称来创建单独的一组部署配置、服务、路由、标签和工件。只要使用不同的应用名称,就可以使用同一模板将多个应用部署到同一项目中。另外,应用程序名称决定了此 KIE Server 实例在 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
): 在rhpam712-kieserver-*.yaml
模板中,默认值为PRODUCTION
。在PRODUCTION
模式中,您无法在此 KIE Server 实例上部署SNAPSHOT
版本 KJAR 工件,且无法更改现有容器中的工件版本。要使用 PRODUCTION 模式部署新版本
,请在同一 KIE 服务器上创建一个新容器。要部署SNAPSHOT
版本或更改现有容器中的工件版本,请将此参数设置为DEVELOPMENT
。 -
ImageStream Namespace (
IMAGE_STREAM_NAMESPACE
):镜像流可用的命名空间。如果 OpenShift 环境中已存在镜像流(请参阅 第 7.1 节 “确保镜像流和镜像 registry 的可用性”),则命名空间为openshift
。如果您已安装镜像流文件,则命名空间是 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 监控创建的副本数。如果您不想将高可用性配置用于 Business Central Monitoring,请将此数字设置为 1。 -
KIE Server Container Replicas (
KIE_SERVER_CONTAINER_REPLICAS
):部署最初为 KIE 服务器创建的副本数。 -
智能路由器容器副本 (
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 文档中的 Mirror Settings。默认值为external:*
。使用此值,Maven 从镜像检索每个所需的工件,且不会查询任何其他存储库。-
如果您配置外部 Maven 存储库(
MAVEN_REPO_URL
),请更改MAVEN_MIRROR_OF
,以从镜像中排除此仓库中的工件,如external:*,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。 -
如果您配置内置的 Business Central Maven 存储库(
BUSINESS_CENTRAL_MAVEN_SERVICE
),请更改MAVEN_MIRROR_OF
以从镜像中排除此存储库中的工件:external:*,!repo-rhpamcentr
。 -
如果您配置这两个存储库,请更改
MAVEN_MIRROR_OF
,以从 mirror:external:*,!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
角色。- 客户端是在 RH-SSO 身份验证系统中为您要部署的 Red Hat Process Automation Manager 环境的所有组件中创建的。客户端设置包含组件的 URL。在部署环境后,您可以检查并编辑 URL。另外,红帽流程自动化管理器部署可以创建客户端。但是,此选项对环境提供较少的详细控制。
- 您启动了模板的配置,如 第 12.1.1 节 “启动固定受管服务器环境的模板配置” 所述。
流程
设置以下参数:
-
RH-SSO URL (
SSO_URL
): RH-SSO 的 URL。 -
RH-SSO Realm 名称 (
SSO_REALM
):红帽流程自动化管理器的 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 Server 的 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
):红帽流程自动化管理器的 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*
参数。这些参数使用红帽 JBoss EAP 的 Elytron 子系统配置 LDAP 身份验证。有关在 LDAP 中使用 Red Hat JBoss EAP 的 Elytron 子系统的更多信息,请参阅使用 基于 LDAP 的身份存储配置身份验证。注意如果要启用 LDAP 故障转移,您可以在
AUTH_LDAP_URL
参数中放置设置或更多 LDAP 服务器地址,用空格分隔。如果 LDAP 服务器没有定义部署所需的所有角色,您可以将 LDAP 组映射到 Red Hat Process Automation Manager 角色。要启用 LDAP 角色映射,请设置以下参数:
RoleMapping rolesProperties 文件路径或一行角色 (
AUTH_ROLE_MAPPER_ROLES_PROPERTIES
):定义角色映射的文件的完全限定路径名称,如/opt/eap/standalone/configuration/rolemapping.properties
。您必须提供此文件,并在所有适用的部署配置中的这个路径中挂载该文件 ; 有关说明,请参阅 第 13.3 节 “(可选)提供 LDAP 角色映射文件”。或者,您可以使用
role=role1,role2;another-role=role2
pattern (如admins=kie-server,rest-all,admin;developers=kie-server,rest-all
,admin;developers=kie-server,rest-all )在此属性中输入角色映射设置。-
角色映射程序 Keep Mapped (
AUTH_LDAP_MAPPER_KEEP_MAPPED
):如果设为true
,则 LDAP 服务器上定义的映射角色和角色都设置为 用户应用角色;如果设为false
,则映射的角色将替换 LDAP 服务器上定义的角色。默认设置为false
。 -
角色映射程序 Keep Non-mapped (
AUTH_LDAP_MAPPER_KEEP_NON_MAPPED
):如果设为true
,则 LDAP 服务器上定义的角色不是用户应用角色;如果设为false
,则没有映射的角色会被删除。默认设置为false
。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 12.1.10 节 “为固定受管服务器环境完成模板部署” 中的步骤操作。
12.1.8. 为固定受管服务器环境使用外部数据库服务器设置参数
如果您将模板修改为使用 KIE Server 的外部数据库服务器,如 第 12.2 节 “为固定受管环境修改模板” 所述,在配置模板以部署固定受管服务器环境时完成以下附加配置。
先决条件
- 您启动了模板的配置,如 第 12.1.1 节 “启动固定受管服务器环境的模板配置” 所述。
流程
设置以下参数:
KIE 服务器外部数据库 驱动程序(
KIE_SERVER_EXTERNALDB_DRIVER
):服务器的驱动程序,具体取决于服务器类型:-
mysql
-
postgresql
-
mariadb
-
mssql
-
db2
-
oracle
-
sisu
-
-
KIE Server External Database User (
KIE_SERVER_EXTERNALDB_USER
)和 KIE Server External Database Password (KIE_SERVER_EXTERNALDB_PWD
):外部数据库服务器的用户名和密码 KIE Server External Database URL (
KIE_SERVER_EXTERNALDB_URL
):外部数据库服务器的 JDBC URL注意如果您使用 EntrepriseDB Postgres 数据库服务器,请使用以
jdbc:postgresql://
开头的 URL,而不使用jdbc:edb://
。或者,不要设置 URL,而是设置主机和端口参数。-
KIE Server External Database Host (
KIE_SERVER_EXTERNALDB_SERVICE_HOST
)和 KIE Server External Database Port (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
(用于 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 连接检查器类 (
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 Reference Manual 中的 原生可插拔身份验证。如果您在 Red Hat OpenShift Container Platform 上使用红帽提供的 MySQL 版本 8 镜像来启用该插件,请将
MYSQL_DEFAULT_AUTHENTICATION_PLUGIN
环境变量设置为mysql_native_password
。如果您在启用
mysql_native_password
插件前在 MySQL 版本 8 服务器上创建了用户,则必须在启用插件后更新mysql-user
表。
后续步骤
如有必要,设置附加参数。
如果要配置 EJB 计时器,您必须为 KIE 服务器运行时数据和 EJB 计时器数据使用两个不同的数据库。要使用不同数据库或模式配置 EJB 计时器,请参阅 第 9.1.12 节 “使用不同数据库或模式配置 EJB 计时器”。
要完成部署,请按照 第 12.1.10 节 “为固定受管服务器环境完成模板部署” 中的步骤操作。
12.1.9. 为固定受管服务器环境启用 Prometheus 指标集合
如果要将 KIE 服务器部署配置为使用 Prometheus 来收集和存储指标,请在部署过程中在 KIE Server 中启用对这个功能的支持。
先决条件
- 您启动了模板的配置,如 第 12.1.1 节 “启动固定受管服务器环境的模板配置” 所述。
流程
要启用 Prometheus 指标集合的支持,请将 Prometheus Server Extension Disabled (PROMETHEUS_SERVER_EXT_DISABLED
)参数设置为 false
。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 12.1.10 节 “为固定受管服务器环境完成模板部署” 中的步骤操作。
有关配置 Prometheus 指标集合的说明,请参阅 管理和监控 KIE Server。
12.1.10. 为固定受管服务器环境完成模板部署
在 OpenShift Web UI 或命令行中设置所有必要的参数后,完成模板的完整部署。
流程
根据您使用的方法,完成以下步骤:
在 OpenShift Web UI 中,单击 Create。
-
如果
这将创建可能具有安全或项目行为影响消息的资源
,请单击 Create Anyway。
-
如果
- 完成命令行并按 Enter 键。
后续步骤
根据您的环境需求,(可选)完成 第 13 章 部署环境后的可选流程 中描述的步骤。
12.2. 为固定受管环境修改模板
要根据您的需要调整固定的受管环境,您需要在部署环境前修改 rhpam712-prod.yaml
模板。
默认情况下,模板创建两个复制的 KIE 服务器 pod。您可以在每个 pod 上部署单独的进程。要添加更多重复的 KIE Server pod,您需要在部署环境前修改模板。
默认情况下,模板会创建一个 PostgreSQL pod,为每个复制的 KIE 服务器提供数据库服务器。如果您希望使用 PostgreSQL 或使用外部服务器(在 OpenShift 项目之外),则需要在部署环境前修改模板。
对于 rhpam712-prod.yaml
模板,您也可以调整 Business Central Monitoring 的初始副本数。
OpenShift 模板定义了一组可由 OpenShift 创建的对象。要更改环境配置,您需要修改、添加或删除这些对象。为简化此任务,Red Hat Process Automation Manager 模板中提供了注释。
模板中的一些注释标记块,以 BEGIN
和结尾处 结束
。例如,以下块被命名为 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
,因此您可以将3
用于第一个新 pod,然后4
等。 将文件的以下块(使用注释从
BEGIN
到END
标记)复制到文件的末尾:-
KIE 服务器服务 1
-
PostgreSQL 服务 1
-
KIE 服务器路由 1
-
KIE server deployment config 1
-
PostgreSQL 部署配置 1
-
PostgreSQL 持久性卷声明 1
-
-
在新副本中,将所有
-1
实例替换为新 pod 号,例如-3
。
-
为新 pod 选择一个数字。默认 pod 具有数字
如果要使用 MySQL 而不是 PostgreSQL,替换文件的多个块(从
BEGIN
到END
标记为注释),使用rhpam712-kieserver-postgresql.yaml
文件中的内容替换它们,然后修改新添加块的一些内容:将名为
MySQL 数据库参数
的块替换为名为PostgreSQL 数据库参数
的块。(使用此块以及rhpam712-kieserver-postgresql.yaml
文件中的所有后续替换块。)为每个复制的 KIE Server 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
,使用rhpam712-kieserver-externaldb.yaml
文件中的块,删除一些块,以及修改一些新添加的块:将名为
MySQL 数据库参数
的块替换为名为External database parameters
的块。(使用此块以及rhpam712-kieserver-external.yaml
文件中的所有后续替换块。)为每个复制的 KIE Server pod 号(例如
1
和2)
在未修改的模板中重复以下操作。n
代表 pod 号,例如1
。-
删除名为
PostgreSQL 服务 N
的块 -
删除名为
PostgreSQL 部署配置 N
的块 -
删除名为
PostgreSQL 持久性卷声明 N
的块 -
将名为
PostgreSQL 驱动程序设置 N
的块替换为名为External database driver settings
的块。 在新的
外部数据库驱动程序设置
块中,如果对于基础架构中的不同 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
更改副本的数量,请将副本数改为所需的值。
第 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 目录可以提供 post-commit hook,用于推送上游更改。如果项目从存储库导入到 Business Central,则该存储库仍会配置为上游存储库。创建名为
post-commit
的文件,其权限值为755
及以下内容:git push
注意Business Central 不支持
pre-commit
脚本。使用post-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 列表和状态。由于 Business Central 在提供 Git hook 目录之前不会启动,KIE 服务器可能无法完全启动。要查看 KIE 服务器是否已启动,请检查以下命令的输出:
oc get pods
如果没有正常工作的 KIE Server pod,请启动它:
oc rollout latest dc/<myapp>-kieserver
将
<myapp
> 替换为在配置模板时设置的应用程序名称。
13.2. (可选)提供信任存储来访问带有自签名证书的 HTTPS 服务器
红帽流程自动化管理器基础架构的组件可能需要对具有自签名 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
:您要添加到信任存储中的证书路径名称。 -
alias
:信任存储中证书的别名。如果您要在 truststore 中添加多个证书,每个证书都必须有一个唯一的别名。 -
算法
:用于证书的加密算法,通常为RSA
。 -
大小
:证书密钥的大小(以字节为单位),例如2048
。 -
truststore-password
: truststore 的密码。 keystore-file
:信任存储文件的路径名。如果文件不存在,命令会创建一个新的信任存储。以下示例命令将
/var/certs/nexus.cer
文件中的证书添加到/var/keystores/custom-trustore.jks
文件中的信任存储中。truststore 密码为mykeystorepass
。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 应用程序基础架构能够使用 trast 存储,例如: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
参数中设置的目录名称(没有文件名),例如/opt/eap/standalone/configuration/rolemapping
。
13.4. 提供 Elytron 用户配置或其他安装后设置
如果不使用 LDAP 或 RH-SSO 身份验证,Red Hat Process Automation Manager 依赖于 Red Hat JBoss EAP 的 Elytron 子系统中的内部用户。默认情况下,只创建管理用户。您可能需要将其他用户添加到 Red Hat JBoss EAP 的 Elytron 安全子系统。为此,您必须运行 Red Hat JBoss EAP 后配置脚本。
您可以在 Red Hat OpenShift Container Platform 部署 Red Hat Process Automation Manager 中,配置此安装后脚本或任何其他 Red Hat JBoss EAP 后配置脚本。
流程
- 从 GitHub 存储库 下载示例文件。
根据示例文件准备以下文件:
-
postconfigure.sh
:Red Hat JBoss EAP 必须运行的、后配置 shell 脚本。在这个示例中,此脚本使用add-users.cli
脚本来添加 Elytron 用户。如果要在 CLI 脚本之外完成安装后任务,请修改此脚本。 -
delayedpostconfigure.sh
: 一个空文件,Red Hat Process Automation Manager 版本 7.12.0 需要。 add-users.cli
:用于配置 Elytron 用户或任何其他 CLI 任务的红帽 JBoss EAP 命令行界面脚本。在以下行间添加您的命令:embed-server --std-out=echo --server-config=standalone-openshift.xml batch <your jboss-cli commands> run-batch quit
-
-
使用
oc
命令登录到 Red Hat OpenShift Container Platform 集群,并更改到部署的命名空间。 使用以下命令,使用您准备的文件创建 ConfigMap:
oc create configmap postconfigure \ --from-file=add-users.cli=add-users.cli \ --from-file=delayedpostconfigure.sh=delayedpostconfigure.sh \ --from-file=postconfigure.sh=postconfigure.sh
使用以下命令,将 ConfigMap 挂载到 Business Central 和 KIE 服务器的部署配置中:
oc set volumes dc/myapp-kieserver --add \ --configmap-name=postconfigure \ --mount-path=/opt/eap/extensions \ --default-mode=0555 oc set volumes dc/myapp-rhpamcentr --add \ --configmap-name=postconfigure \ --mount-path=/opt/eap/extensions \ --default-mode=0555
使用您配置的应用程序名称替换 myapp。如果需要,您可以删除您不需要的任何部署配置的命令。如果您有几个 KIE 服务器实例,您可以为它们添加命令。
这个变化会导致重新部署组件。
第 14 章 Red Hat Process Automation Manager 角色和用户
要访问 Business Central 或 KIE Server,您必须创建用户并在服务器启动前为其分配适当的角色。安装 Business Central 或 KIE 服务器时,您可以创建用户和角色。
如果 Business Central 和 KIE 服务器都在单一实例上运行,则对 Business Central 进行身份验证的用户也可以访问 KIE 服务器。
但是,如果 Business Central 和 KIE 服务器在不同实例上运行,则对 Business Central 进行身份验证的用户必须单独通过身份验证才能访问 KIE 服务器。例如,如果一个在 Business Central 上通过身份验证但未通过 KIE Server 进行身份验证的用户尝试查看或管理 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
:具有管理角色的用户
是 Business Central 管理员。他们可以管理用户、创建、克隆和管理存储库。它们具有对应用程序所需的更改的完整访问权限。具有admin
角色的用户可以访问 Red Hat Process Automation Manager 中的所有区域。 -
分析师
:具有分析
者角色的用户有权访问所有高级别功能。他们可以对他们的项目进行建模和执行。但是,这些用户无法在 Design → Projects 视图中为空格或删除空格添加贡献者。带有analyst
角色的用户没有访问 Deploy → Execution Servers 视图(面向管理员)的访问权限。但是,当这些用户访问 Library 透视图时,可以使用 Deploy 按钮。 -
开发人员
:具有developer
角色的用户几乎可以访问所有的功能,并且可以管理规则、模型、流程、表单和仪表板。他们可以管理资产存储库,他们可以创建、构建和部署项目。只有某些管理功能(如创建和克隆新存储库)才会在具有developer
角色的用户中隐藏。 -
管理器
:具有manager
角色的用户可以查看报告。这些用户通常对业务流程及其性能、业务指示器和其他业务相关报告相关的统计信息感兴趣。具有此角色的用户只能访问进程和任务报告。 -
process-admin
:具有process-admin
角色的用户是业务流程管理员。他们可完全访问业务流程、业务任务和执行错误。这些用户还可以查看业务报告,并可访问 Task Inbox 列表。 -
用户
:具有用户角色的用户
可以处理 Task Inbox 列表,其中包含属于当前运行的进程的商业任务。具有此角色的用户可以查看进程和任务报告和管理进程。 -
rest-all
:拥有rest-all
角色的用户可以访问 Business Central REST 功能。 -
kie-server
:具有kie-server
角色的用户可以访问 KIE Server REST 功能。对于需要访问 Business Central 中的 Manage 和 Track 视图的用户,这个角色是必须的。
第 15 章 OpenShift 模板参考信息
Red Hat Process Automation Manager 提供以下 OpenShift 模板。要访问模板,请从红帽客户门户网站的 Software Downloads 页面下载并提取 rhpam-7.12.0-openshift-templates.zip
产品交付的文件。
-
rhpam712-trial-ephemeral.yaml
提供了一个 Business Central 实例,以及一个连接到 Business Central 实例的 KIE 服务器实例。此环境使用没有持久性存储的临时配置。有关此模板的详情,请参考 第 15.1 节 “rhpam712-trial-ephemeral.yaml template”。 -
rhpam712-authoring.yaml
提供了一个 Business Central 实例和 KIE 服务器实例,连接到 Business Central 实例。KIE 服务器实例使用具有持久性存储的 H2 数据库。您可以使用此环境编写流程、服务和其他业务资产。有关此模板的详情,请参考 第 15.2 节 “rhpam712-authoring.yaml template”。 -
rhpam712-authoring-ha.yaml
提供高可用性 Business Central、一个连接到 Business Central 实例的 KIE 服务器实例,以及 KIE 服务器实例使用的 MySQL 实例。您可以使用此环境编写流程、服务和其他业务资产。有关此模板的详情,请参考 第 15.3 节 “rhpam712-authoring-ha.yaml template”。 -
rhpam712-prod-immutable-monitor.yaml
提供了一个 Business Central Monitoring 实例,以及一个可与不可变 KIE 服务器一起使用的智能路由器。部署此模板时,OpenShift 会显示您必须用来部署rhpam712-prod-immutable-kieserver.yaml
模板的设置。有关此模板的详情,请参考 第 15.4 节 “rhpam712-prod-immutable-monitor.yaml template”。 -
rhpam712-prod-immutable-kieserver.yaml
提供了一个不可变的 KIE 服务器实例。当您部署此模板时,为 KIE 服务器实例上运行的一个或多个服务触发 Source-to-Image (S2I)构建。KIE 服务器实例可以选择配置为连接到由rhpam712-prod-immutable-monitor.yaml
提供的 Business Central Monitoring 实例和智能路由器。有关此模板的详情,请参考 第 15.5 节 “rhpam712-prod-immutable-kieserver.yaml template”。 -
rhpam712-prod-immutable-kieserver-amq.yaml
提供不可变 KIE 服务器实例。当您部署此模板时,为 KIE 服务器实例上运行的一个或多个服务触发 Source-to-Image (S2I)构建。KIE 服务器实例可以选择配置为连接到由rhpam712-prod-immutable-monitor.yaml
提供的 Business Central Monitoring 实例和智能路由器。模板的此版本包括 JMS 集成。有关此模板的详情,请参考 第 15.6 节 “rhpam712-prod-immutable-kieserver-amq.yaml template”。 -
rhpam712-kieserver-externaldb.yaml
提供了一个使用外部数据库的 KIE 服务器实例。您可以配置 KIE 服务器实例以连接到 Business Central 实例。另外,您可以将此模板中的部分复制到另一个模板中,以配置其他模板中的 KIE 服务器实例以使用外部数据库。有关此模板的详情,请参考 第 15.7 节 “rhpam712-kieserver-externaldb.yaml template”。 -
rhpam712-kieserver-mysql.yaml
提供了一个 KIE 服务器实例,以及 KIE 服务器实例使用的 MySQL 实例。您可以配置 KIE 服务器实例以连接到 Business Central 实例。另外,您可以将此模板中的部分复制到另一个模板中,以配置其他模板中的 KIE 服务器实例,以使用 MySQL 和 提供 MySQL 实例。有关此模板的详情,请参考 第 15.8 节 “rhpam712-kieserver-mysql.yaml template”。 -
rhpam712-kieserver-postgresql.yaml
提供了一个 KIE 服务器实例,以及 KIE 服务器实例使用的 PostgreSQL 实例。您可以配置 KIE 服务器实例以连接到 Business Central 实例。另外,您可以将此模板中的部分复制到另一个模板中,以配置其他模板中的 KIE 服务器实例,以使用 PostgreSQL 和提供 PostgreSQL 实例。有关此模板的详情,请参考 第 15.9 节 “rhpam712-kieserver-postgresql.yaml template”。 -
rhpam712-managed.yaml
提供了一个高可用性 Business Central Monitoring 实例、KIE Server 实例和 KIE 服务器实例使用的 PostgreSQL 实例。OpenShiftStartupStrategy
已启用,确保 Business Central Monitoring 实例可以自动连接到同一项目中的其他 KIE 服务器实例,只要这些实例也启用了 OpenShiftStartupStrategy。有关此模板的详情,请参考 第 15.10 节 “rhpam712-managed.yaml template”。 -
rhpam712-prod.yaml
提供了一个高可用性 Business Central 监控实例、智能路由器、连接到 Business Central 实例的两个不同 KIE 服务器,以及智能路由器,以及两个 PostgreSQL 实例。每个 KIE 服务器都使用自己的 PostgreSQL 实例。您可以使用此环境在生产环境或暂存环境中执行业务资产。您可以为每个组件配置副本数。有关此模板的详情,请参考 第 15.11 节 “rhpam712-prod.yaml template”。
15.1. rhpam712-trial-ephemeral.yaml template
用于 Red Hat Process Automation Manager 7.12 的临时编写和测试环境的应用程序模板 - 已弃用
15.1.1. 参数
模板允许您定义接受值的参数。然后,该值会在引用参数的位置替换。可在对象列表字段中的任意文本字段中定义引用。如需更多信息,请参阅 Openshift 文档。
变量名称 | 镜像环境变量 | 描述 | 示例值 | 必填 |
---|---|---|---|---|
| — | 应用程序的名称。 | myapp | true |
|
| 此试用环境中的用户方便使用默认密码。 | RedHat | true |
|
| KIE 管理员用户名。 | adminUser | False |
|
| 允许 KIE 服务器绕过经过身份验证的用户进行与任务相关的操作,如查询。(设置 org.kie.server.bypass.auth.user 系统属性) | false | False |
|
| KIE 服务器模式.有效值为 'DEVELOPMENT' 或 'PRODUCTION'。在生产模式中,您无法在 KIE 服务器上部署 SNAPSHOT 工件版本,且无法更改现有容器中的工件版本。(设置 org.kie.server.mode 系统属性)。 |
| False |
|
| KIE Server 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 服务器中设置 Access-Control-Allow-Credentials 响应标头值(对于 CORS 支持使用)。 | true | False |
|
| 在 KIE 服务器中设置 Access-Control-Max-Age 响应标头值(对于 CORS 支持使用)。 | 1 | False |
|
| Business Central 的 http 服务路由的自定义主机名。默认主机名留空,例如: insecure-<application-name>-rhpamcentr-<project>.<default-domain-suffix> | — | False |
|
| 如果设置为 true,请打开 KIE Server 全局发现功能(设置 org.kie.server.controller.openshift.global.discovery.enabled 系统属性) | false | False |
|
| 如果开启了 Business Central 的 OpenShift 集成,则将此参数设置为 true 可让通过 OpenShift 内部服务端点连接到 KIE Server。(设置 org.kie.server.controller.openshift.prefer.kieserver.service 系统属性) | true | False |
|
| KIE ServerTemplate Cache TTL (以毫秒为单位)。(设置 org.kie.server.controller.template.cache.ttl 系统属性) | 5000 | False |
| — | 安装 Red Hat Process Automation Manager 镜像的 ImageStreams 的命名空间。这些 ImageStreams 通常安装在 openshift 命名空间中。只有在不同的命名空间/项目中安装 ImageStream 时,才需要修改此参数。默认为 "openshift"。 | openshift | true |
| — | 用于 KIE 服务器的镜像流的名称。默认为 "rhpam-kieserver-rhel8"。 | rhpam-kieserver-rhel8 | true |
| — | 指向镜像流中镜像的命名指针。默认为 "7.12.0"。 | 7.12.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 Server 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 Principal Attribute,用作用户名。 | preferred_username | False |
|
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 | ldap://myldap.example.com:389 | False |
|
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 | optional | False |
|
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 | true | False |
|
| 用于身份验证的绑定 DN。 | uid=admin,ou=users,ou=example,ou=com | False |
|
| 用于身份验证的 LDAP 凭据。 | 密码 | False |
|
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 | ou=users,ou=example,ou=com | False |
|
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 | (uid={0}) | False |
|
| 指明用户查询是否递归。 | true | False |
|
| 用户或角色搜索的超时时间(毫秒)。 | 10000 | False |
|
| 包含用户角色的属性名称。 | memberOf | False |
|
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 | ou=groups,ou=example,ou=com | False |
|
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 | (memberOf={1}) | False |
|
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 | 1 | False |
|
| 包含所有经过身份验证的用户的角色。 | user | False |
|
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' | sn=BlankSurname;cn=BlankCommonName | False |
|
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' | — | False |
|
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 | role=role1,role3,role4;role7=role,admin | False |
|
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 | — | False |
|
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 | — | False |
15.1.2. 对象(object)
CLI 支持各种对象类型。Openshift 文档 可以找到这些对象类型及其缩写的列表。
15.1.2.1. 服务
服务是一个抽象,用于定义一组逻辑的 pod 以及用于访问它们的策略。如需更多信息,请参阅 container-engine 文档。
服务 | 端口 | 名称 | 描述 |
---|---|---|---|
| 8080 | http | 所有 Business Central Web 服务器的端口。 |
| 8080 | — | 所有 KIE 服务器 Web 服务器的端口。 |
15.1.2.2. Routes
路由是通过为服务提供一个外部可访问主机名(如 www.example.com
)来公开服务的方法。定义的路由和由服务标识的端点可由路由器使用,从而从外部客户端向应用程序提供命名连接。每个路由都由路由名称、服务选择器和(可选)安全配置组成。如需更多信息,请参阅 Openshift 文档。
服务 | 安全性 | Hostname |
---|---|---|
insecure-${APPLICATION_NAME}-rhpamcentr-http | none |
|
insecure-${APPLICATION_NAME}-kieserver-http | none |
|
15.1.2.3. 部署配置
OpenShift 中的部署是基于名为部署配置的用户定义的模板的复制控制器。部署是手动创建的,或响应触发的事件。如需更多信息,请参阅 Openshift 文档。
15.1.2.3.1. 触发器
触发器驱动创建新部署以响应 OpenShift 内部和外部的事件。如需更多信息,请参阅 Openshift 文档。
Deployment | 触发器 |
---|---|
| ImageChange |
| ImageChange |
15.1.2.3.2. Replicas
复制控制器确保任意一个时间运行指定数量的 pod "replicas"。如果数量太多,复制控制器会终止一些 pod。如果数量太少,它会启动更多。如需更多信息,请参阅 container-engine 文档。
Deployment | Replicas |
---|---|
| 1 |
| 1 |
15.1.2.3.3. Pod 模板
15.1.2.3.3.1. 服务帐户
服务帐户是各个项目中存在的 API 对象。它们可以像任何其他 API 对象一样创建或删除。如需更多信息,请参阅 Openshift 文档。
Deployment | 服务帐户 |
---|---|
|
|
|
|
15.1.2.3.3.2. 镜像
Deployment | 镜像 |
---|---|
| rhpam-businesscentral-rhel8 |
|
|
15.1.2.3.3.3. 就绪度(Readiness)探测
${APPLICATION_NAME}-rhpamcentr
Http Get on http://localhost:8080/rest/ready
${APPLICATION_NAME}-kieserver
Http Get on http://localhost:8080/services/rest/server/readycheck
15.1.2.3.3.4. 存活度(Liveness)探测
${APPLICATION_NAME}-rhpamcentr
Http Get on http://localhost:8080/rest/healthy
${APPLICATION_NAME}-kieserver
Http Get on http://localhost:8080/services/rest/server/healthcheck
15.1.2.3.3.5. 公开端口
Deployments | 名称 | 端口 | 协议 |
---|---|---|---|
| Jolokia | 8778 |
|
http | 8080 |
| |
| Jolokia | 8778 |
|
http | 8080 |
|
15.1.2.3.3.6. 镜像环境变量
Deployment | 变量名称 | 描述 | 示例值 |
---|---|---|---|
|
| — | insecure-${APPLICATION_NAME}-rhpamcentr |
| KIE 管理员用户名。 |
| |
| 此试用环境中的用户方便使用默认密码。 |
| |
| KIE Server mbeans 启用/禁用.(设置 kie.mbeans 和 kie.scanner.mbeans 系统属性) |
| |
| — | true | |
| 如果设置为 true,请打开 KIE Server 全局发现功能(设置 org.kie.server.controller.openshift.global.discovery.enabled 系统属性) |
| |
| 如果开启了 Business Central 的 OpenShift 集成,则将此参数设置为 true 可让通过 OpenShift 内部服务端点连接到 KIE Server。(设置 org.kie.server.controller.openshift.prefer.kieserver.service 系统属性) |
| |
| KIE ServerTemplate Cache TTL (以毫秒为单位)。(设置 org.kie.server.controller.template.cache.ttl 系统属性) |
| |
| 用于 maven 存储库的 id (如果已设置)。默认是随机生成的。 |
| |
| Maven 存储库或服务的完全限定 URL。 |
| |
| 用于访问 Maven 存储库的用户名(如果需要)。 |
| |
| 如果需要,用于访问 Maven 存储库的密码。 |
| |
| 用于 git hook 的目录(如果需要)。 |
| |
| — | — | |
| RH-SSO URL。 |
| |
| — | ROOT.war | |
| RH-SSO Realm 名称。 |
| |
| Business Central RH-SSO 客户端 Secret。 |
| |
| Business Central RH-SSO 客户端名称。 |
| |
| 用于创建客户端的 RH-SSO Realm admin 用户名(如果不存在)。 |
| |
| 用于创建客户端的 RH-SSO Realm 管理员密码。 |
| |
| RH-SSO 禁用 SSL 证书验证. |
| |
| RH-SSO Principal Attribute,用作用户名。 |
| |
| Business Central 的 http 服务路由的自定义主机名。默认主机名留空,例如: insecure-<application-name>-rhpamcentr-<project>.<default-domain-suffix> |
| |
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 |
| |
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 |
| |
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 |
| |
| 用于身份验证的绑定 DN。 |
| |
| 用于身份验证的 LDAP 凭据。 |
| |
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 |
| |
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 |
| |
| 指明用户查询是否递归。 |
| |
| 用户或角色搜索的超时时间(毫秒)。 |
| |
| 包含用户角色的属性名称。 |
| |
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 |
| |
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 |
| |
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 |
| |
| 包含所有经过身份验证的用户的角色。 |
| |
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' |
| |
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' |
| |
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 |
| |
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 |
| |
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 |
| |
|
| — |
|
| KIE 管理员用户名。 |
| |
| 此试用环境中的用户方便使用默认密码。 |
| |
| KIE 服务器模式.有效值为 'DEVELOPMENT' 或 'PRODUCTION'。在生产模式中,您无法在 KIE 服务器上部署 SNAPSHOT 工件版本,且无法更改现有容器中的工件版本。(设置 org.kie.server.mode 系统属性)。 |
| |
| KIE Server mbeans 启用/禁用.(设置 kie.mbeans 和 kie.scanner.mbeans 系统属性) |
| |
| KIE 服务器类过滤.(设置 org.drools.server.filter.classes 系统属性) |
| |
| 如果设置为 false,则启用 prometheus 服务器扩展。(设置 org.kie.prometheus.server.ext.disabled 系统属性) |
| |
| 允许 KIE 服务器绕过经过身份验证的用户进行与任务相关的操作,如查询。(设置 org.kie.server.bypass.auth.user 系统属性) |
| |
| — | — | |
| — | insecure-${APPLICATION_NAME}-kieserver | |
| — | OpenShiftStartupStrategy | |
| 带有可选别名的 KIE 服务器容器部署配置。Format: containerId=groupId:artifactId:version|c2(alias2)=g2:a2:v2 |
| |
| — | RHPAMCENTR,EXTERNAL | |
| — | repo-rhpamcentr | |
| — |
| |
| — |
| |
| KIE 管理员用户名。 |
| |
| 此试用环境中的用户方便使用默认密码。 |
| |
| 用于 maven 存储库的 id (如果已设置)。默认是随机生成的。 |
| |
| Maven 存储库或服务的完全限定 URL。 |
| |
| 用于访问 Maven 存储库的用户名(如果需要)。 |
| |
| 如果需要,用于访问 Maven 存储库的密码。 |
| |
| — | — | |
| RH-SSO URL。 |
| |
| — | ROOT.war | |
| RH-SSO Realm 名称。 |
| |
| KIE 服务器 RH-SSO 客户端机密. |
| |
| KIE Server RH-SSO 客户端名称。 |
| |
| 用于创建客户端的 RH-SSO Realm admin 用户名(如果不存在)。 |
| |
| 用于创建客户端的 RH-SSO Realm 管理员密码。 |
| |
| RH-SSO 禁用 SSL 证书验证. |
| |
| RH-SSO Principal Attribute,用作用户名。 |
| |
| http 服务路由的自定义主机名。默认主机名留空,例如: insecure-<application-name>-kieserver-<project>.<default-domain-suffix> |
| |
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 |
| |
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 |
| |
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 |
| |
| 用于身份验证的绑定 DN。 |
| |
| 用于身份验证的 LDAP 凭据。 |
| |
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 |
| |
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 |
| |
| 指明用户查询是否递归。 |
| |
| 用户或角色搜索的超时时间(毫秒)。 |
| |
| 包含用户角色的属性名称。 |
| |
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 |
| |
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 |
| |
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 |
| |
| 包含所有经过身份验证的用户的角色。 |
| |
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' |
| |
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 |
| |
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 |
| |
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 |
| |
| — | AC_ALLOW_ORIGIN,AC_ALLOW_METHODS,AC_ALLOW_HEADERS,AC_ALLOW_CREDENTIALS,AC_MAX_AGE | |
| — | Access-Control-Allow-Origin | |
| 在 KIE 服务器中设置 Access-Control-Allow-Origin 响应标头值(对于 CORS 支持)。 |
| |
| — | access-Control-Allow-Methods | |
| 在 KIE 服务器中设置 Access-Control-Allow-Methods 响应标头值(对于 CORS 支持使用)。 |
| |
| — | Access-Control-Allow-Headers | |
| 在 KIE 服务器中设置 Access-Control-Allow-Headers 响应标头值(对于 CORS 支持使用)。 |
| |
| — | Access-Control-Allow-Credentials | |
| 在 KIE 服务器中设置 Access-Control-Allow-Credentials 响应标头值(对于 CORS 支持使用)。 |
| |
| — | Access-Control-Max-Age | |
| 在 KIE 服务器中设置 Access-Control-Max-Age 响应标头值(对于 CORS 支持使用)。 |
|
15.1.2.4. 外部依赖项
15.1.2.4.1. Secrets
此模板需要安装下列机密,以便应用运行:
15.2. rhpam712-authoring.yaml template
用于 Red Hat Process Automation Manager 7.12 的非 HA 持久编写环境的应用程序模板 - 已弃用
15.2.1. 参数
模板允许您定义接受值的参数。然后,该值会在引用参数的位置替换。可在对象列表字段中的任意文本字段中定义引用。如需更多信息,请参阅 Openshift 文档。
变量名称 | 镜像环境变量 | 描述 | 示例值 | 必填 |
---|---|---|---|---|
| — | 应用程序的名称。 | myapp | true |
| — | 包含 KIE_ADMIN_USER 和 KIE_ADMIN_PWD 值的 secret。 | rhpam-credentials | true |
|
| KIE 服务器控制器令牌,用于 bearer 身份验证。(设置 org.kie.server.controller.token 系统属性) | — | False |
|
| 允许 KIE 服务器绕过经过身份验证的用户获取与任务相关的操作,例如查询。(设置 org.kie.server.bypass.auth.user 系统属性) | false | False |
|
| KIE 服务器持久性数据源.(设置 org.kie.server.persistence.ds 系统属性) | java:/jboss/datasources/rhpam | False |
KIE_SERVER_H2_USER |
| KIE 服务器 H2 数据库用户名. | sa | False |
KIE_SERVER_H2_PWD |
| KIE 服务器 H2 数据库密码. | — | False |
|
| KIE 服务器模式.有效值为 'DEVELOPMENT' 或 'PRODUCTION'。在生产模式中,您无法在 KIE 服务器上部署 SNAPSHOT 工件版本,且无法更改现有容器中的工件版本。(设置 org.kie.server.mode 系统属性) |
| False |
|
| KIE Server 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 |
|
| Business Central 的 http 服务路由的自定义主机名。默认主机名留空,例如: insecure-<application-name>-rhpamcentr-<project>.<default-domain-suffix> | — | False |
|
| Business Central 的 https 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-rhpamcentr-<project>.<default-domain-suffix> | — | False |
|
| KIE 服务器的 http 服务路由的自定义主机名。默认主机名留空,例如: insecure-<application-name>-kieserver-<project>.<default-domain-suffix> | — | False |
|
| KIE 服务器的 https 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-kieserver-<project>.<default-domain-suffix> | — | False |
| — | 包含 Business Central 的密钥存储文件的 secret 名称。 | businesscentral-app-secret | true |
|
| 机密中的密钥存储文件的名称。 | keystore.jks | False |
|
| 与服务器证书关联的名称。 | jboss | False |
|
| 密钥存储和证书的密码。 | mykeystorepass | False |
| — | 包含 KIE Server 的密钥存储文件的 secret 名称。 | kieserver-app-secret | true |
|
| 机密中的密钥存储文件的名称。 | keystore.jks | False |
|
| 与服务器证书关联的名称。 | jboss | False |
|
| 密钥存储和证书的密码。 | mykeystorepass | False |
| — | 数据库卷的持久性存储大小。 | 1Gi | true |
|
| 如果设置为 true,请打开 KIE Server 全局发现功能(设置 org.kie.server.controller.openshift.global.discovery.enabled 系统属性) | false | False |
|
| 如果开启了 Business Central 的 OpenShift 集成,则将此参数设置为 true 可让通过 OpenShift 内部服务端点连接到 KIE Server。(设置 org.kie.server.controller.openshift.prefer.kieserver.service 系统属性) | true | False |
|
| KIE ServerTemplate Cache TTL (以毫秒为单位)。(设置 org.kie.server.controller.template.cache.ttl 系统属性) | 5000 | False |
| — | 安装 Red Hat Process Automation Manager 镜像的 ImageStreams 的命名空间。这些 ImageStreams 通常安装在 openshift 命名空间中。只有在不同的命名空间/项目中安装 ImageStream 时,才需要修改此参数。默认为 "openshift"。 | openshift | true |
| — | 用于 KIE 服务器的镜像流的名称。默认为 "rhpam-kieserver-rhel8"。 | rhpam-kieserver-rhel8 | true |
| — | 指向镜像流中镜像的命名指针。默认为 "7.12.0"。 | 7.12.0 | true |
|
| Business Central 和 KIE 服务器必须使用的 Maven 镜像。如果配置镜像,此镜像必须包含构建和部署服务所需的所有工件。 | — | False |
|
| KIE 服务器的 Maven 镜像配置. | 外部:*,!repo-rhpamcentr | False |
|
| 用于 maven 存储库的 id。如果设置,可以通过将其添加到 MAVEN_MIRROR_OF 来从可选配置的镜像中排除。例如: external:*,!repo-rhpamcentr,!repo-custom。如果设置了 MAVEN_MIRROR_URL,但没有设置 MAVEN_MIRROR_ID,则 id 将随机生成,但无法在 MAVEN_MIRROR_OF 中使用。 | 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 运行时数据的持久性存储大小。 | 1Gi | true |
| — | Business Central 容器内存限值。 | 4Gi | true |
| — | Business Central 容器 CPU 限制。 | 2 | true |
| — | Business Central 容器 CPU 请求. | 1500m | true |
| — | Business Central 容器内存请求。 | 3Gi | true |
| — | KIE 服务器容器内存限值。 | 2Gi | true |
| — | KIE 服务器容器内存请求. | 1536Mi | true |
| — | KIE 服务器容器 CPU 限制。 | 1 | true |
| — | KIE 服务器容器 CPU 请求. | 750m | true |
|
| 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 Server 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 Principal Attribute,用作用户名。 | preferred_username | False |
|
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 | ldap://myldap.example.com:389 | False |
|
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 | optional | False |
|
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 | true | False |
|
| 用于身份验证的绑定 DN。 | uid=admin,ou=users,ou=example,ou=com | False |
|
| 用于身份验证的 LDAP 凭据。 | 密码 | False |
|
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 | ou=users,ou=example,ou=com | False |
|
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 | (uid={0}) | False |
|
| 指明用户查询是否递归。 | true | False |
|
| 用户或角色搜索的超时时间(毫秒)。 | 10000 | False |
|
| 包含用户角色的属性名称。 | memberOf | False |
|
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 | ou=groups,ou=example,ou=com | False |
|
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 | (memberOf={1}) | False |
|
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 | 1 | False |
|
| 包含所有经过身份验证的用户的角色 | user | False |
|
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' | sn=BlankSurname;cn=BlankCommonName | False |
|
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' | — | False |
|
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 | role=role1,role3,role4;role7=role,admin | False |
|
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 | — | False |
|
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 | — | False |
15.2.2. 对象(object)
CLI 支持各种对象类型。Openshift 文档 可以找到这些对象类型及其缩写的列表。
15.2.2.1. 服务
服务是一个抽象,用于定义一组逻辑的 pod 以及用于访问它们的策略。如需更多信息,请参阅 container-engine 文档。
服务 | 端口 | 名称 | 描述 |
---|---|---|---|
| 8080 | http | 所有 Business Central Web 服务器的端口。 |
8443 | https | ||
| 8080 | http | 所有 KIE 服务器 Web 服务器的端口。 |
8443 | https |
15.2.2.2. Routes
路由是通过为服务提供一个外部可访问主机名(如 www.example.com
)来公开服务的方法。定义的路由和由服务标识的端点可由路由器使用,从而从外部客户端向应用程序提供命名连接。每个路由都由路由名称、服务选择器和(可选)安全配置组成。如需更多信息,请参阅 Openshift 文档。
服务 | 安全性 | Hostname |
---|---|---|
insecure-${APPLICATION_NAME}-rhpamcentr-http | none |
|
| TLS 透传 |
|
insecure-${APPLICATION_NAME}-kieserver-http | none |
|
| TLS 透传 |
|
15.2.2.3. 部署配置
OpenShift 中的部署是基于名为部署配置的用户定义的模板的复制控制器。部署是手动创建的,或响应触发的事件。如需更多信息,请参阅 Openshift 文档。
15.2.2.3.1. 触发器
触发器驱动创建新部署以响应 OpenShift 内部和外部的事件。如需更多信息,请参阅 Openshift 文档。
Deployment | 触发器 |
---|---|
| ImageChange |
| ImageChange |
15.2.2.3.2. Replicas
复制控制器确保任意一个时间运行指定数量的 pod "replicas"。如果数量太多,复制控制器会终止一些 pod。如果数量太少,它会启动更多。如需更多信息,请参阅 container-engine 文档。
Deployment | Replicas |
---|---|
| 1 |
| 1 |
15.2.2.3.3. Pod 模板
15.2.2.3.3.1. 服务帐户
服务帐户是各个项目中存在的 API 对象。它们可以像任何其他 API 对象一样创建或删除。如需更多信息,请参阅 Openshift 文档。
Deployment | 服务帐户 |
---|---|
|
|
|
|
15.2.2.3.3.2. 镜像
Deployment | 镜像 |
---|---|
| rhpam-businesscentral-rhel8 |
|
|
15.2.2.3.3.3. 就绪度(Readiness)探测
${APPLICATION_NAME}-rhpamcentr
Http Get on http://localhost:8080/rest/ready
${APPLICATION_NAME}-kieserver
Http Get on http://localhost:8080/services/rest/server/readycheck
15.2.2.3.3.4. 存活度(Liveness)探测
${APPLICATION_NAME}-rhpamcentr
Http Get on http://localhost:8080/rest/healthy
${APPLICATION_NAME}-kieserver
Http Get on http://localhost:8080/services/rest/server/healthcheck
15.2.2.3.3.5. 公开端口
Deployments | 名称 | 端口 | 协议 |
---|---|---|---|
| Jolokia | 8778 |
|
http | 8080 |
| |
https | 8443 |
| |
| Jolokia | 8778 |
|
http | 8080 |
| |
https | 8443 |
|
15.2.2.3.3.6. 镜像环境变量
Deployment | 变量名称 | 描述 | 示例值 |
---|---|---|---|
|
| — |
|
| — |
| |
| admin 用户名 | 根据凭证 secret 设置 | |
| admin 用户密码 | 根据凭证 secret 设置 | |
| KIE Server mbeans 启用/禁用.(设置 kie.mbeans 和 kie.scanner.mbeans 系统属性) |
| |
| — | false | |
| 如果设置为 true,请打开 KIE Server 全局发现功能(设置 org.kie.server.controller.openshift.global.discovery.enabled 系统属性) |
| |
| 如果开启了 Business Central 的 OpenShift 集成,则将此参数设置为 true 可让通过 OpenShift 内部服务端点连接到 KIE Server。(设置 org.kie.server.controller.openshift.prefer.kieserver.service 系统属性) |
| |
| KIE ServerTemplate Cache TTL (以毫秒为单位)。(设置 org.kie.server.controller.template.cache.ttl 系统属性) |
| |
| KIE 服务器控制器令牌,用于 bearer 身份验证。(设置 org.kie.server.controller.token 系统属性) |
| |
| Business Central 和 KIE 服务器必须使用的 Maven 镜像。如果配置镜像,此镜像必须包含构建和部署服务所需的所有工件。 |
| |
| 用于 maven 存储库的 id。如果设置,可以通过将其添加到 MAVEN_MIRROR_OF 来从可选配置的镜像中排除。例如: external:*,!repo-rhpamcentr,!repo-custom。如果设置了 MAVEN_MIRROR_URL,但没有设置 MAVEN_MIRROR_ID,则 id 将随机生成,但无法在 MAVEN_MIRROR_OF 中使用。 |
| |
| Maven 存储库或服务的完全限定 URL。 |
| |
| 用于访问 Maven 存储库的用户名(如果需要)。 |
| |
| 如果需要,用于访问 Maven 存储库的密码。 |
| |
| 用于 git hook 的目录(如果需要)。 |
| |
| — |
| |
| 机密中的密钥存储文件的名称。 |
| |
| 与服务器证书关联的名称。 |
| |
| 密钥存储和证书的密码。 |
| |
| — |
| |
| — | — | |
| RH-SSO URL。 |
| |
| — | ROOT.war | |
| RH-SSO Realm 名称。 |
| |
| Business Central RH-SSO 客户端 Secret。 |
| |
| Business Central RH-SSO 客户端名称。 |
| |
| 用于创建客户端的 RH-SSO Realm admin 用户名(如果不存在)。 |
| |
| 用于创建客户端的 RH-SSO Realm 管理员密码。 |
| |
| RH-SSO 禁用 SSL 证书验证. |
| |
| RH-SSO Principal Attribute,用作用户名。 |
| |
| Business Central 的 http 服务路由的自定义主机名。默认主机名留空,例如: insecure-<application-name>-rhpamcentr-<project>.<default-domain-suffix> |
| |
| Business Central 的 https 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-rhpamcentr-<project>.<default-domain-suffix> |
| |
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 |
| |
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 |
| |
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 |
| |
| 用于身份验证的绑定 DN。 |
| |
| 用于身份验证的 LDAP 凭据。 |
| |
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 |
| |
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 |
| |
| 指明用户查询是否递归。 |
| |
| 用户或角色搜索的超时时间(毫秒)。 |
| |
| 包含用户角色的属性名称。 |
| |
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 |
| |
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 |
| |
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 |
| |
| 包含所有经过身份验证的用户的角色 |
| |
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' |
| |
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' |
| |
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 |
| |
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 |
| |
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 |
| |
|
| — |
|
| — |
| |
| — | rhpam7 | |
| KIE 服务器持久性数据源.(设置 org.kie.server.persistence.ds 系统属性) |
| |
| — | true | |
| — | h2 | |
| KIE 服务器 H2 数据库用户名. |
| |
| KIE 服务器 H2 数据库密码. |
| |
| — | false | |
| — | jdbc:h2:/opt/kie/data/h2/rhpam;AUTO_SERVER=TRUE | |
| — | org.hibernate.dialect.H2Dialect | |
| admin 用户名 | 根据凭证 secret 设置 | |
| admin 用户密码 | 根据凭证 secret 设置 | |
| KIE 服务器模式.有效值为 'DEVELOPMENT' 或 'PRODUCTION'。在生产模式中,您无法在 KIE 服务器上部署 SNAPSHOT 工件版本,且无法更改现有容器中的工件版本。(设置 org.kie.server.mode 系统属性) |
| |
| KIE Server mbeans 启用/禁用.(设置 kie.mbeans 和 kie.scanner.mbeans 系统属性) |
| |
| KIE 服务器类过滤.(设置 org.drools.server.filter.classes 系统属性) |
| |
| 如果设置为 false,则启用 prometheus 服务器扩展。(设置 org.kie.prometheus.server.ext.disabled 系统属性) |
| |
| 允许 KIE 服务器绕过经过身份验证的用户获取与任务相关的操作,例如查询。(设置 org.kie.server.bypass.auth.user 系统属性) |
| |
| — |
| |
| — | WS | |
| — | — | |
| — | insecure-${APPLICATION_NAME}-kieserver | |
| KIE 服务器持久性数据源.(设置 org.kie.server.persistence.ds 系统属性) |
| |
| — | ControllerBasedStartupStrategy | |
| Business Central 和 KIE 服务器必须使用的 Maven 镜像。如果配置镜像,此镜像必须包含构建和部署服务所需的所有工件。 |
| |
| KIE 服务器的 Maven 镜像配置. |
| |
| — | RHPAMCENTR,EXTERNAL | |
| — | repo-rhpamcentr | |
| — |
| |
| — |
| |
| — | 根据凭证 secret 设置 | |
| — | 根据凭证 secret 设置 | |
| 用于 maven 存储库的 id。如果设置,可以通过将其添加到 MAVEN_MIRROR_OF 来从可选配置的镜像中排除。例如: external:*,!repo-rhpamcentr,!repo-custom。如果设置了 MAVEN_MIRROR_URL,但没有设置 MAVEN_MIRROR_ID,则 id 将随机生成,但无法在 MAVEN_MIRROR_OF 中使用。 |
| |
| Maven 存储库或服务的完全限定 URL。 |
| |
| 用于访问 Maven 存储库的用户名(如果需要)。 |
| |
| 如果需要,用于访问 Maven 存储库的密码。 |
| |
| — |
| |
| 机密中的密钥存储文件的名称。 |
| |
| 与服务器证书关联的名称。 |
| |
| 密钥存储和证书的密码。 |
| |
| — | — | |
| RH-SSO URL。 |
| |
| — | ROOT.war | |
| RH-SSO Realm 名称。 |
| |
| KIE 服务器 RH-SSO 客户端机密. |
| |
| KIE Server RH-SSO 客户端名称。 |
| |
| 用于创建客户端的 RH-SSO Realm admin 用户名(如果不存在)。 |
| |
| 用于创建客户端的 RH-SSO Realm 管理员密码。 |
| |
| RH-SSO 禁用 SSL 证书验证. |
| |
| RH-SSO Principal Attribute,用作用户名。 |
| |
| KIE 服务器的 http 服务路由的自定义主机名。默认主机名留空,例如: insecure-<application-name>-kieserver-<project>.<default-domain-suffix> |
| |
| KIE 服务器的 https 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-kieserver-<project>.<default-domain-suffix> |
| |
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 |
| |
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 |
| |
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 |
| |
| 用于身份验证的绑定 DN。 |
| |
| 用于身份验证的 LDAP 凭据。 |
| |
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 |
| |
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 |
| |
| 指明用户查询是否递归。 |
| |
| 用户或角色搜索的超时时间(毫秒)。 |
| |
| 包含用户角色的属性名称。 |
| |
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 |
| |
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 |
| |
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 |
| |
| 包含所有经过身份验证的用户的角色 |
| |
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' |
| |
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' |
| |
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 |
| |
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 |
| |
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 |
|
15.2.2.3.3.7. 卷
Deployment | 名称 | mountPath | 用途 | readOnly |
---|---|---|---|---|
| businesscentral-keystore-volume |
| SSL 证书 | true |
| kieserver-keystore-volume |
| SSL 证书 | true |
15.2.2.4. 外部依赖项
15.2.2.4.1. 持久性卷声明
PersistentVolume
对象是 OpenShift 集群中的存储资源。通过从 GCE Persistent Disks、AWS Elastic Block Stores (EBS)和 NFS 挂载等源创建 PersistentVolume
对象来置备存储。如需更多信息,请参阅 Openshift 文档。
名称 | 访问模式 |
---|---|
| ReadWriteOnce |
| ReadWriteOnce |
15.2.2.4.2. Secrets
此模板需要安装下列机密,以便应用运行:
- businesscentral-app-secret
- kieserver-app-secret
15.3. rhpam712-authoring-ha.yaml template
Red Hat Process Automation Manager 7.12 的 HA 持久性编写环境的应用程序模板 - 已弃用
15.3.1. 参数
模板允许您定义接受值的参数。然后,该值会在引用参数的位置替换。可在对象列表字段中的任意文本字段中定义引用。如需更多信息,请参阅 Openshift 文档。
变量名称 | 镜像环境变量 | 描述 | 示例值 | 必填 |
---|---|---|---|---|
| — | 应用程序的名称。 | myapp | true |
| — | 包含 KIE_ADMIN_USER 和 KIE_ADMIN_PWD 值的 secret。 | rhpam-credentials | true |
|
| KIE 服务器控制器令牌,用于 bearer 身份验证。(设置 org.kie.server.controller.token 系统属性) | — | False |
|
| 允许 KIE 服务器绕过经过身份验证的用户获取与任务相关的操作,例如查询。(设置 org.kie.server.bypass.auth.user 系统属性) | false | False |
|
| KIE 服务器持久性数据源.(设置 org.kie.server.persistence.ds 系统属性) | java:/jboss/datasources/rhpam | False |
|
| MySQL 数据库用户名。 | rhpam | False |
|
| MySQL 数据库密码。 | — | False |
|
| MySQL 数据库名称。 | rhpam7 | False |
| — | KIE 服务器数据库卷的持久性存储大小。 | 1Gi | true |
| — | 安装 MySQL 镜像的 ImageStream 的命名空间。ImageStream 已安装在 openshift 命名空间中。只有在不同的命名空间/项目中安装 ImageStream 时,才需要修改此参数。默认为 "openshift"。 | openshift | False |
| — | MySQL 镜像版本,旨在与 MySQL 版本对应。默认为 "8.0"。 | 8.0 | False |
|
| KIE Server MySQL Hibernate 定位. | org.hibernate.dialect.MySQL8Dialect | true |
|
| KIE 服务器模式.有效值为 'DEVELOPMENT' 或 'PRODUCTION'。在生产模式中,您无法在 KIE 服务器上部署 SNAPSHOT 工件版本,且无法更改现有容器中的工件版本。(设置 org.kie.server.mode 系统属性)。 |
| False |
|
| KIE Server 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 |
|
| Business Central 的 http 服务路由的自定义主机名。默认主机名留空,例如: insecure-<application-name>-rhpamcentr-<project>.<default-domain-suffix> | — | False |
|
| Business Central 的 https 服务路由自定义主机名。默认主机名留空,例如: <application-name>-rhpamcentr-<project>.<default-domain-suffix> | — | False |
|
| KIE 服务器的 http 服务路由的自定义主机名。默认主机名留空,例如: insecure-<application-name>-kieserver-<project>.<default-domain-suffix> | — | False |
|
| KIE 服务器的 https 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-kieserver-<project>.<default-domain-suffix> | — | False |
| — | 包含 Business Central 的密钥存储文件的 secret 名称。 | businesscentral-app-secret | true |
|
| Business Central 的机密中的密钥存储文件的名称。 | keystore.jks | False |
|
| 与 Business Central 的服务器证书关联的名称。 | jboss | False |
|
| Business Central 的密钥存储和证书的密码。 | mykeystorepass | False |
| — | 包含 KIE Server 的密钥存储文件的 secret 名称。 | kieserver-app-secret | true |
|
| KIE 服务器的机密中的密钥存储文件的名称。 | keystore.jks | False |
|
| 与 KIE 服务器服务器证书关联的名称。 | jboss | False |
|
| KIE 服务器的密钥存储和证书的密码。 | mykeystorepass | False |
|
| 用于连接到 JMS 代理的用户名。 | jmsBrokerUser | true |
|
| 连接到 JMS 代理的密码。 | — | true |
| — | datagrid 镜像。 | registry.redhat.io/datagrid/datagrid-8-rhel8:1.2 | true |
| — | datagrid 容器 CPU 限制。 | 1000m | true |
| — | DataGrid Container 内存限制。 | 2Gi | true |
| — | DataGrid 的运行时数据的持久性存储大小。 | 1Gi | true |
| — | AMQ Broker 镜像. | registry.redhat.io/amq7/amq-broker:7.8 | true |
| — | 标准代理用户的用户角色. | admin | true |
| — | 代理的名称。 | broker | true |
| — | 指定消息数据可以使用的最大内存量。如果没有指定值,则会分配系统内存中的一半。 | 10 gb | False |
| — | AMQ 代理卷的持久性存储大小。 | 1Gi | true |
| — | 集群的代理副本数。 | 2 | true |
|
| 如果设置为 true,请打开 KIE Server 全局发现功能(设置 org.kie.server.controller.openshift.global.discovery.enabled 系统属性) | false | False |
|
| 启用通过 OpenShift 内部服务端点连接到 KIE 服务器。(设置 org.kie.server.controller.openshift.prefer.kieserver.service 系统属性) | true | False |
|
| KIE ServerTemplate Cache TTL (以毫秒为单位)。(设置 org.kie.server.controller.template.cache.ttl 系统属性) | 5000 | False |
| — | 安装 Red Hat Process Automation Manager 镜像的 ImageStreams 的命名空间。这些 ImageStreams 通常安装在 openshift 命名空间中。只有在不同的命名空间/项目上安装了 ImageStreams 时,才需要修改此参数。 | openshift | true |
| — | 用于 Business Central 的镜像流的名称。默认为 "rhpam- businesscentral-rhel8"。 | rhpam-businesscentral-rhel8 | true |
| — | 用于 KIE 服务器的镜像流的名称。默认为 "rhpam-kieserver-rhel8"。 | rhpam-kieserver-rhel8 | true |
| — | 指向镜像流中镜像的命名指针。默认为 "7.12.0"。 | 7.12.0 | true |
|
| Business Central 和 KIE 服务器必须使用的 Maven 镜像。如果配置镜像,此镜像必须包含构建和部署服务所需的所有工件。 | — | False |
|
| KIE 服务器的 Maven 镜像配置. | 外部:*,!repo-rhpamcentr | False |
|
| 用于 maven 存储库的 id。如果设置,可以通过将其添加到 MAVEN_MIRROR_OF 来从可选配置的镜像中排除。例如: external:*,!repo-rhpamcentr,!repo-custom。如果设置了 MAVEN_MIRROR_URL,但没有设置 MAVEN_MIRROR_ID,则 id 将随机生成,但无法在 MAVEN_MIRROR_OF 中使用。 | 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 |
|
| 为 EJB 计时器数据库 data-store 服务设置 refresh-interval。 | 60000 | true |
| — | Business Central 运行时数据的持久性存储大小。 | 1Gi | true |
|
|
Business Central Container JVM 最大内存比率。 | 80 | true |
| — | Business Central 容器内存限值。 | 4Gi | true |
| — | Business Central 容器 CPU 限制。 | 2 | true |
| — | Business Central 容器 CPU 请求. | 1500m | true |
| — | Business Central 容器内存请求。 | 3Gi | true |
| — | KIE 服务器容器内存限值。 | 2Gi | true |
| — | KIE 服务器容器内存请求. | 1536Mi | true |
| — | KIE 服务器容器 CPU 限制。 | 1 | true |
| — | KIE 服务器容器 CPU 请求. | 750m | true |
| — | Business Central 容器副本,定义将启动多少个 Business Central 容器。 | 2 | true |
| — | KIE 服务器容器副本,定义将启动多少个 KIE Server 容器。 | 2 | true |
|
| 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 Server 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 Principal Attribute,用作用户名。 | preferred_username | False |
|
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 | ldap://myldap.example.com:389 | False |
|
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 | optional | False |
|
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 | true | False |
|
| 用于身份验证的绑定 DN。 | uid=admin,ou=users,ou=example,ou=com | False |
|
| 用于身份验证的 LDAP 凭据。 | 密码 | False |
|
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 | ou=users,ou=example,ou=com | False |
|
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 | (uid={0}) | False |
|
| 指明用户查询是否递归。 | true | False |
|
| 用户或角色搜索的超时时间(毫秒)。 | 10000 | False |
|
| 包含用户角色的属性名称。 | memberOf | False |
|
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 | ou=groups,ou=example,ou=com | False |
|
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 | (memberOf={1}) | False |
|
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 | 1 | False |
|
| 包含所有经过身份验证的用户的角色 | user | False |
|
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' | sn=BlankSurname;cn=BlankCommonName | False |
|
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' | — | False |
|
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 | role=role1,role3,role4;role7=role,admin | False |
|
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 | — | False |
|
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 | — | False |
|
| 用于 Datagrid 的用户名。 | user | true |
|
| 用于 Datagrid 的密码。 | pass | true |
15.3.2. 对象(object)
CLI 支持各种对象类型。Openshift 文档 可以找到这些对象类型及其缩写的列表。
15.3.2.1. 服务
服务是一个抽象,用于定义一组逻辑的 pod 以及用于访问它们的策略。如需更多信息,请参阅 container-engine 文档。
服务 | 端口 | 名称 | 描述 |
---|---|---|---|
| 8080 | http | 所有 Business Central Web 服务器的端口。 |
8443 | https | ||
| 8888 | ping | JGroups ping 端口用于集群。 |
| 11222 | HotRod | 提供用于通过 Hot Rod 协议访问应用程序的服务。 |
| 8080 | http | 所有 KIE 服务器 Web 服务器的端口。 |
8443 | https | ||
| 61616 | — | 代理的 OpenWire 端口。 |
| 8888 | — | amq 集群的 JGroups ping 端口。 |
| 3306 | — | MySQL 服务器的端口。 |
15.3.2.2. Routes
路由是通过为服务提供一个外部可访问主机名(如 www.example.com
)来公开服务的方法。定义的路由和由服务标识的端点可由路由器使用,从而从外部客户端向应用程序提供命名连接。每个路由都由路由名称、服务选择器和(可选)安全配置组成。如需更多信息,请参阅 Openshift 文档。
服务 | 安全性 | Hostname |
---|---|---|
insecure-${APPLICATION_NAME}-rhpamcentr-http | none |
|
| TLS 透传 |
|
insecure-${APPLICATION_NAME}-kieserver-http | none |
|
| TLS 透传 |
|
15.3.2.3. 部署配置
OpenShift 中的部署是基于名为部署配置的用户定义的模板的复制控制器。部署是手动创建的,或响应触发的事件。如需更多信息,请参阅 Openshift 文档。
15.3.2.3.1. 触发器
触发器驱动创建新部署以响应 OpenShift 内部和外部的事件。如需更多信息,请参阅 Openshift 文档。
Deployment | 触发器 |
---|---|
| ImageChange |
| ImageChange |
| ImageChange |
15.3.2.3.2. Replicas
复制控制器确保任意一个时间运行指定数量的 pod "replicas"。如果数量太多,复制控制器会终止一些 pod。如果数量太少,它会启动更多。如需更多信息,请参阅 container-engine 文档。
Deployment | Replicas |
---|---|
| 2 |
| 2 |
| 1 |
15.3.2.3.3. Pod 模板
15.3.2.3.3.1. 服务帐户
服务帐户是各个项目中存在的 API 对象。它们可以像任何其他 API 对象一样创建或删除。如需更多信息,请参阅 Openshift 文档。
Deployment | 服务帐户 |
---|---|
|
|
|
|
15.3.2.3.3.2. 镜像
Deployment | 镜像 |
---|---|
|
|
|
|
| mysql |
15.3.2.3.3.3. 就绪度(Readiness)探测
${APPLICATION_NAME}-rhpamcentr
Http Get on http://localhost:8080/rest/ready
${APPLICATION_NAME}-kieserver
Http Get on http://localhost:8080/services/rest/server/readycheck
${APPLICATION_NAME}-mysql
/bin/sh -i -c MYSQL_PWD="$MYSQL_PASSWORD" mysql -h 127.0.0.1 -u $MYSQL_USER -D $MYSQL_DATABASE -e 'SELECT 1'
15.3.2.3.3.4. 存活度(Liveness)探测
${APPLICATION_NAME}-rhpamcentr
Http Get on http://localhost:8080/rest/healthy
${APPLICATION_NAME}-kieserver
Http Get on http://localhost:8080/services/rest/server/healthcheck
${APPLICATION_NAME}-mysql
tcpSocket on port 3306
15.3.2.3.3.5. 公开端口
Deployments | 名称 | 端口 | 协议 |
---|---|---|---|
| Jolokia | 8778 |
|
http | 8080 |
| |
https | 8443 |
| |
| Jolokia | 8778 |
|
http | 8080 |
| |
https | 8443 |
| |
| — | 3306 |
|
15.3.2.3.3.6. 镜像环境变量
Deployment | 变量名称 | 描述 | 示例值 |
---|---|---|---|
|
| — |
|
| — |
| |
| admin 用户名 | 根据凭证 secret 设置 | |
| admin 用户密码 | 根据凭证 secret 设置 | |
| KIE Server mbeans 启用/禁用.(设置 kie.mbeans 和 kie.scanner.mbeans 系统属性) |
| |
| — | true | |
| 如果设置为 true,请打开 KIE Server 全局发现功能(设置 org.kie.server.controller.openshift.global.discovery.enabled 系统属性) |
| |
| 启用通过 OpenShift 内部服务端点连接到 KIE 服务器。(设置 org.kie.server.controller.openshift.prefer.kieserver.service 系统属性) |
| |
| KIE ServerTemplate Cache TTL (以毫秒为单位)。(设置 org.kie.server.controller.template.cache.ttl 系统属性) |
| |
| KIE 服务器控制器令牌,用于 bearer 身份验证。(设置 org.kie.server.controller.token 系统属性) |
| |
| — |
| |
| Business Central 和 KIE 服务器必须使用的 Maven 镜像。如果配置镜像,此镜像必须包含构建和部署服务所需的所有工件。 |
| |
| 用于 maven 存储库的 id。如果设置,可以通过将其添加到 MAVEN_MIRROR_OF 来从可选配置的镜像中排除。例如: external:*,!repo-rhpamcentr,!repo-custom。如果设置了 MAVEN_MIRROR_URL,但没有设置 MAVEN_MIRROR_ID,则 id 将随机生成,但无法在 MAVEN_MIRROR_OF 中使用。 |
| |
| Maven 存储库或服务的完全限定 URL。 |
| |
| 用于访问 Maven 存储库的用户名(如果需要)。 |
| |
| 如果需要,用于访问 Maven 存储库的密码。 |
| |
| 用于 git hook 的目录(如果需要)。 |
| |
| — |
| |
| Business Central 的机密中的密钥存储文件的名称。 |
| |
| 与 Business Central 的服务器证书关联的名称。 |
| |
| Business Central 的密钥存储和证书的密码。 |
| |
| — | kubernetes.KUBE_PING | |
| — | — | |
| — | cluster=jgrp.k8s.${APPLICATION_NAME}.rhpamcentr | |
| — |
| |
| — | 11222 | |
| 用于 Datagrid 的用户名。 |
| |
| 用于 Datagrid 的密码。 |
| |
| — | auth | |
| — | Infinispan | |
| — | default | |
| — |
| |
| — | 61616 | |
| 用于连接到 JMS 代理的用户名。 |
| |
| 连接到 JMS 代理的密码。 |
| |
|
Business Central Container JVM 最大内存比率。 |
| |
| RH-SSO URL。 |
| |
| — | ROOT.war | |
| RH-SSO Realm 名称。 |
| |
| Business Central RH-SSO 客户端 Secret。 |
| |
| Business Central RH-SSO 客户端名称。 |
| |
| 用于创建客户端的 RH-SSO Realm admin 用户名(如果不存在)。 |
| |
| 用于创建客户端的 RH-SSO Realm 管理员密码。 |
| |
| RH-SSO 禁用 SSL 证书验证. |
| |
| RH-SSO Principal Attribute,用作用户名。 |
| |
| Business Central 的 http 服务路由的自定义主机名。默认主机名留空,例如: insecure-<application-name>-rhpamcentr-<project>.<default-domain-suffix> |
| |
| Business Central 的 https 服务路由自定义主机名。默认主机名留空,例如: <application-name>-rhpamcentr-<project>.<default-domain-suffix> |
| |
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 |
| |
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 |
| |
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 |
| |
| 用于身份验证的绑定 DN。 |
| |
| 用于身份验证的 LDAP 凭据。 |
| |
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 |
| |
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 |
| |
| 指明用户查询是否递归。 |
| |
| 用户或角色搜索的超时时间(毫秒)。 |
| |
| 包含用户角色的属性名称。 |
| |
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 |
| |
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 |
| |
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 |
| |
| 包含所有经过身份验证的用户的角色 |
| |
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' |
| |
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' |
| |
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 |
| |
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 |
| |
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 |
| |
|
| — |
|
| 为 EJB 计时器数据库 data-store 服务设置 refresh-interval。 |
| |
| — |
| |
| MySQL 数据库名称。 |
| |
| — | mariadb | |
| MySQL 数据库用户名。 |
| |
| MySQL 数据库密码。 |
| |
| — |
| |
| — | 3306 | |
| KIE Server MySQL Hibernate 定位. |
| |
| KIE 服务器持久性数据源.(设置 org.kie.server.persistence.ds 系统属性) |
| |
| KIE 服务器持久性数据源.(设置 org.kie.server.persistence.ds 系统属性) |
| |
| — | true | |
| admin 用户名 | 根据凭证 secret 设置 | |
| admin 用户密码 | 根据凭证 secret 设置 | |
| KIE Server mbeans 启用/禁用.(设置 kie.mbeans 和 kie.scanner.mbeans 系统属性) |
| |
| KIE 服务器模式.有效值为 'DEVELOPMENT' 或 'PRODUCTION'。在生产模式中,您无法在 KIE 服务器上部署 SNAPSHOT 工件版本,且无法更改现有容器中的工件版本。(设置 org.kie.server.mode 系统属性)。 |
| |
| KIE 服务器类过滤.(设置 org.drools.server.filter.classes 系统属性) |
| |
| 如果设置为 false,则启用 prometheus 服务器扩展。(设置 org.kie.prometheus.server.ext.disabled 系统属性) |
| |
| 允许 KIE 服务器绕过经过身份验证的用户获取与任务相关的操作,例如查询。(设置 org.kie.server.bypass.auth.user 系统属性) |
| |
| — |
| |
| — | WS | |
| — | — | |
| — | insecure-${APPLICATION_NAME}-kieserver | |
| — | OpenShiftStartupStrategy | |
| Business Central 和 KIE 服务器必须使用的 Maven 镜像。如果配置镜像,此镜像必须包含构建和部署服务所需的所有工件。 |
| |
| KIE 服务器的 Maven 镜像配置. |
| |
| — | RHPAMCENTR,EXTERNAL | |
| — | repo-rhpamcentr | |
| — |
| |
| — |
| |
| — | 根据凭证 secret 设置 | |
| — | 根据凭证 secret 设置 | |
| 用于 maven 存储库的 id。如果设置,可以通过将其添加到 MAVEN_MIRROR_OF 来从可选配置的镜像中排除。例如: external:*,!repo-rhpamcentr,!repo-custom。如果设置了 MAVEN_MIRROR_URL,但没有设置 MAVEN_MIRROR_ID,则 id 将随机生成,但无法在 MAVEN_MIRROR_OF 中使用。 |
| |
| Maven 存储库或服务的完全限定 URL。 |
| |
| 用于访问 Maven 存储库的用户名(如果需要)。 |
| |
| 如果需要,用于访问 Maven 存储库的密码。 |
| |
| — |
| |
| KIE 服务器的机密中的密钥存储文件的名称。 |
| |
| 与 KIE 服务器服务器证书关联的名称。 |
| |
| KIE 服务器的密钥存储和证书的密码。 |
| |
| — | — | |
| — | cluster=jgrp.k8s.${APPLICATION_NAME}.kieserver | |
| RH-SSO URL。 |
| |
| — | ROOT.war | |
| RH-SSO Realm 名称。 |
| |
| KIE 服务器 RH-SSO 客户端机密. |
| |
| KIE Server RH-SSO 客户端名称。 |
| |
| 用于创建客户端的 RH-SSO Realm admin 用户名(如果不存在)。 |
| |
| 用于创建客户端的 RH-SSO Realm 管理员密码。 |
| |
| RH-SSO 禁用 SSL 证书验证. |
| |
| RH-SSO Principal Attribute,用作用户名。 |
| |
| KIE 服务器的 http 服务路由的自定义主机名。默认主机名留空,例如: insecure-<application-name>-kieserver-<project>.<default-domain-suffix> |
| |
| KIE 服务器的 https 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-kieserver-<project>.<default-domain-suffix> |
| |
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 |
| |
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 |
| |
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 |
| |
| 用于身份验证的绑定 DN。 |
| |
| 用于身份验证的 LDAP 凭据。 |
| |
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 |
| |
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 |
| |
| 指明用户查询是否递归。 |
| |
| 用户或角色搜索的超时时间(毫秒)。 |
| |
| 包含用户角色的属性名称。 |
| |
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 |
| |
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 |
| |
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 |
| |
| 包含所有经过身份验证的用户的角色 |
| |
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' |
| |
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' |
| |
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 |
| |
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 |
| |
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 |
| |
|
| MySQL 数据库用户名。 |
|
| MySQL 数据库密码。 |
| |
| MySQL 数据库名称。 |
| |
| — | mysql_native_password |
15.3.2.3.3.7. 卷
Deployment | 名称 | mountPath | 用途 | readOnly |
---|---|---|---|---|
| businesscentral-keystore-volume |
| SSL 证书 | true |
| kieserver-keystore-volume |
| SSL 证书 | true |
|
|
| mysql | false |
15.3.2.4. 外部依赖项
15.3.2.4.1. 持久性卷声明
PersistentVolume
对象是 OpenShift 集群中的存储资源。通过从 GCE Persistent Disks、AWS Elastic Block Stores (EBS)和 NFS 挂载等源创建 PersistentVolume
对象来置备存储。如需更多信息,请参阅 Openshift 文档。
名称 | 访问模式 |
---|---|
| ReadWriteMany |
| ReadWriteOnce |
15.3.2.4.2. Secrets
此模板需要安装下列机密,以便应用运行:
- businesscentral-app-secret
- kieserver-app-secret
15.3.2.4.3. 集群
OpenShift EAP 中的集群通过 Kubernetes 发现机制来实现。这可以通过使用 < kubernetes.KUBE_PING/> 元素在 standalone-openshift.xml 中配置 JGroups 协议堆栈
来实现。模板配置为使用 kubernetes.KUBE_PING
。
使用的发现机制由 JGROUPS_PING_PROTOCOL
环境变量指定,可设置为 kubernetes.KUBE_PING
。如果没有为 JGROUPS_PING_PROTOCOL
指定值,则镜像默认使用 kubernetes.KUBE_PING
。
要使 kubernetes.KUBE_PING
正常工作,必须执行以下步骤:
-
KUBERNETES_NAMESPACE
环境变量必须使用分配给 pod 的 kubernetes metadata.namespace 设置。如果没有设置,服务器将充当单一节点集群(一个"集群")。 -
应该设置
KUBERNETES_LABELS
环境变量(请参阅上表)。如果没有设置,则应用程序外的 pod (在您的命名空间中)会尝试加入。 -
用作
KUBERNETES_LABELS
的值必须添加为相应部署配置中的标签。按照惯例,值为cluster=kubernetes.ping.<name>-cluster
,name 所用的为 console-cluster, consolemon-cluster, kieserver-cluster。 - 必须向运行容器集的服务帐户授予授权,以允许访问 Kubernetes 的 REST api。这是在命令行中完成的。
例 15.1. 策略命令
使用 myproject 命名空间中的 default 服务帐户:
oc policy add-role-to-user view system:serviceaccount:myproject:default -n myproject
在 myproject 命名空间中使用 eap-service-account :
oc policy add-role-to-user view system:serviceaccount:myproject:eap-service-account -n myproject
15.4. rhpam712-prod-immutable-monitor.yaml template
用于 Red Hat Process Automation Manager 7.12 的生产环境中的路由器和监控控制台的应用程序模板 - 已弃用
15.4.1. 参数
模板允许您定义接受值的参数。然后,该值会在引用参数的位置替换。可在对象列表字段中的任意文本字段中定义引用。如需更多信息,请参阅 Openshift 文档。
变量名称 | 镜像环境变量 | 描述 | 示例值 | 必填 |
---|---|---|---|---|
| — | 应用程序的名称。 | myapp | true |
|
| 用于 maven 存储库的 id (如果已设置)。默认是随机生成的。 | repo-custom | False |
|
| Maven 存储库或服务的完全限定 URL。 | http://nexus.nexus-project.svc.cluster.local:8081/nexus/content/groups/public/ | False |
|
| 用于访问 Maven 存储库的用户名(如果需要)。 | — | False |
|
| 如果需要,用于访问 Maven 存储库的密码。 | — | False |
|
| 可选的 Business Central 的服务名称(如果需要的话),以允许服务查找(如 maven repo usage)。 | myapp-rhpamcentr | False |
| — | 包含 KIE_ADMIN_USER 和 KIE_ADMIN_PWD 值的 secret | rhpam-credentials | true |
|
| 如果设置为 true,请打开 KIE Server 全局发现功能(设置 org.kie.server.controller.openshift.global.discovery.enabled 系统属性) | false | False |
|
| 如果开启了 Business Central 的 OpenShift 集成,则将此参数设置为 true 可让通过 OpenShift 内部服务端点连接到 KIE Server。(设置 org.kie.server.controller.openshift.prefer.kieserver.service 系统属性) | true | False |
|
| KIE ServerTemplate Cache TTL,以毫秒为单位(设置 org.kie.server.controller.template.cache.ttl 系统属性) | 5000 | False |
| — | 安装 Red Hat Process Automation Manager 镜像的 ImageStreams 的命名空间。这些 ImageStreams 通常安装在 openshift 命名空间中。只有在不同的命名空间/项目中安装 ImageStream 时,才需要修改此参数。默认为 "openshift"。 | openshift | true |
| — | 指向镜像流中镜像的命名指针。默认为 "7.12.0"。 | 7.12.0 | False |
| — | http 服务路由的自定义主机名。默认主机名留空,例如: insecure-<application-name>-smartrouter-<project>.<default-domain-suffix> | — | False |
| — | https 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-smartrouter-<project>.<default-domain-suffix> | — | False |
|
| API 通信中使用的路由器 ID。(路由器属性 org.kie.server.router.id) | kie-server-router | true |
|
| KIE 服务器路由器协议.(用于构建 org.kie.server.router.url.external 属性) | http | False |
|
| 可以找到路由器的公共 URL。格式 http://<host>:<port> (Router 属性 org.kie.server.router.url.external) | — | False |
|
| Business Central 用户界面中使用的路由器名称。(路由器属性 org.kie.server.router.name) | KIE Server Router | true |
| — | 包含密钥存储文件的 secret 名称。 | smartrouter-app-secret | true |
| — | 机密中的密钥存储文件的名称。 | keystore.jks | False |
|
| 与服务器证书关联的名称。 | jboss | False |
|
| 密钥存储和证书的密码。 | mykeystorepass | False |
|
| KIE 服务器监控 bearer 身份验证的令牌。(设置 org.kie.server.controller.token 系统属性) | — | False |
|
| http 服务路由的自定义主机名。默认主机名留空,例如: insecure-<application-name>-rhpamcentrmon-<project>.<default-domain-suffix> | — | False |
|
| https 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-rhpamcentrmon-<project>.<default-domain-suffix> | — | False |
| — | 包含密钥存储文件的 secret 名称。 | businesscentral-app-secret | true |
|
| 机密中的密钥存储文件的名称。 | keystore.jks | False |
|
| 与服务器证书关联的名称。 | jboss | False |
|
| 密钥存储和证书的密码。 | mykeystorepass | False |
| — | Business Central 容器内存限值。 | 2Gi | true |
| — | Business Central 容器内存请求。 | 1536Mi | true |
| — | Business Central 容器 CPU 限制。 | 1 | true |
| — | Business Central 容器 CPU 请求. | 750m | true |
| — | 智能路由器容器内存限值。 | 512Mi | 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 |
|
| 用于创建客户端的 RH-SSO Realm admin 用户名(如果不存在)。 | — | False |
|
| 用于创建客户端的 RH-SSO Realm 管理员密码。 | — | False |
|
| RH-SSO 禁用 SSL 证书验证. | false | False |
|
| RH-SSO Principal Attribute,用作用户名。 | preferred_username | False |
|
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 | ldap://myldap.example.com:389 | False |
|
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 | optional | False |
|
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 | true | False |
|
| 用于身份验证的绑定 DN。 | uid=admin,ou=users,ou=example,ou=com | False |
|
| 用于身份验证的 LDAP 凭据。 | 密码 | False |
|
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 | ou=users,ou=example,ou=com | False |
|
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 | (uid={0}) | False |
|
| 指明用户查询是否递归。 | true | False |
|
| 用户或角色搜索的超时时间(毫秒)。 | 10000 | False |
|
| 包含用户角色的属性名称。 | memberOf | False |
|
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 | ou=groups,ou=example,ou=com | False |
|
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 | (memberOf={1}) | False |
|
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 | 1 | False |
|
| 包含所有经过身份验证的用户的角色。 | user | False |
|
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' | sn=BlankSurname;cn=BlankCommonName | False |
|
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' | — | False |
|
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 | role=role1,role3,role4;role7=role,admin | False |
|
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 | — | False |
|
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 | — | False |
15.4.2. 对象(object)
CLI 支持各种对象类型。Openshift 文档 可以找到这些对象类型及其缩写的列表。
15.4.2.1. 服务
服务是一个抽象,用于定义一组逻辑的 pod 以及用于访问它们的策略。如需更多信息,请参阅 container-engine 文档。
服务 | 端口 | 名称 | 描述 |
---|---|---|---|
| 8080 | http | 所有 Business Central 监控 Web 服务器的端口。 |
8443 | https | ||
| 9000 | http | 智能路由器服务器 http 和 https 端口。 |
9443 | https |
15.4.2.2. Routes
路由是通过为服务提供一个外部可访问主机名(如 www.example.com
)来公开服务的方法。定义的路由和由服务标识的端点可由路由器使用,从而从外部客户端向应用程序提供命名连接。每个路由都由路由名称、服务选择器和(可选)安全配置组成。如需更多信息,请参阅 Openshift 文档。
服务 | 安全性 | Hostname |
---|---|---|
insecure-${APPLICATION_NAME}-rhpamcentrmon-http | none |
|
| TLS 透传 |
|
insecure-${APPLICATION_NAME}-smartrouter-http | none |
|
| TLS 透传 |
|
15.4.2.3. 部署配置
OpenShift 中的部署是基于名为部署配置的用户定义的模板的复制控制器。部署是手动创建的,或响应触发的事件。如需更多信息,请参阅 Openshift 文档。
15.4.2.3.1. 触发器
触发器驱动创建新部署以响应 OpenShift 内部和外部的事件。如需更多信息,请参阅 Openshift 文档。
Deployment | 触发器 |
---|---|
| ImageChange |
| ImageChange |
15.4.2.3.2. Replicas
复制控制器确保任意一个时间运行指定数量的 pod "replicas"。如果数量太多,复制控制器会终止一些 pod。如果数量太少,它会启动更多。如需更多信息,请参阅 container-engine 文档。
Deployment | Replicas |
---|---|
| 1 |
| 2 |
15.4.2.3.3. Pod 模板
15.4.2.3.3.1. 服务帐户
服务帐户是各个项目中存在的 API 对象。它们可以像任何其他 API 对象一样创建或删除。如需更多信息,请参阅 Openshift 文档。
Deployment | 服务帐户 |
---|---|
|
|
|
|
15.4.2.3.3.2. 镜像
Deployment | 镜像 |
---|---|
| rhpam-businesscentral-monitoring-rhel8 |
| rhpam-smartrouter-rhel8 |
15.4.2.3.3.3. 就绪度(Readiness)探测
${APPLICATION_NAME}-rhpamcentrmon
Http Get on http://localhost:8080/rest/ready
15.4.2.3.3.4. 存活度(Liveness)探测
${APPLICATION_NAME}-rhpamcentrmon
Http Get on http://localhost:8080/rest/healthy
15.4.2.3.3.5. 公开端口
Deployments | 名称 | 端口 | 协议 |
---|---|---|---|
| Jolokia | 8778 |
|
http | 8080 |
| |
https | 8443 |
| |
| http | 9000 |
|
15.4.2.3.3.6. 镜像环境变量
Deployment | 变量名称 | 描述 | 示例值 |
---|---|---|---|
|
| — |
|
| — |
| |
| admin 用户名 | 根据凭证 secret 设置 | |
| admin 用户密码 | 根据凭证 secret 设置 | |
| — | RHPAMCENTR,EXTERNAL | |
| — | repo-rhpamcentr | |
| 可选的 Business Central 的服务名称(如果需要的话),以允许服务查找(如 maven repo usage)。 |
| |
| — |
| |
| — | 根据凭证 secret 设置 | |
| — | 根据凭证 secret 设置 | |
| 用于 maven 存储库的 id (如果已设置)。默认是随机生成的。 |
| |
| Maven 存储库或服务的完全限定 URL。 |
| |
| 用于访问 Maven 存储库的用户名(如果需要)。 |
| |
| 如果需要,用于访问 Maven 存储库的密码。 |
| |
| — | true | |
| 如果设置为 true,请打开 KIE Server 全局发现功能(设置 org.kie.server.controller.openshift.global.discovery.enabled 系统属性) |
| |
| 如果开启了 Business Central 的 OpenShift 集成,则将此参数设置为 true 可让通过 OpenShift 内部服务端点连接到 KIE Server。(设置 org.kie.server.controller.openshift.prefer.kieserver.service 系统属性) |
| |
| KIE ServerTemplate Cache TTL,以毫秒为单位(设置 org.kie.server.controller.template.cache.ttl 系统属性) |
| |
| KIE 服务器监控 bearer 身份验证的令牌。(设置 org.kie.server.controller.token 系统属性) |
| |
| — |
| |
| 机密中的密钥存储文件的名称。 |
| |
| 与服务器证书关联的名称。 |
| |
| 密钥存储和证书的密码。 |
| |
| — | kubernetes.KUBE_PING | |
| — | — | |
| — | cluster=jgrp.k8s.${APPLICATION_NAME}.rhpamcentrmon | |
| RH-SSO URL。 |
| |
| — | ROOT.war | |
| RH-SSO Realm 名称。 |
| |
| Business Central 监控 RH-SSO 客户端 Secret。 |
| |
| Business Central 监控 RH-SSO 客户端名称. |
| |
| 用于创建客户端的 RH-SSO Realm admin 用户名(如果不存在)。 |
| |
| 用于创建客户端的 RH-SSO Realm 管理员密码。 |
| |
| RH-SSO 禁用 SSL 证书验证. |
| |
| RH-SSO Principal Attribute,用作用户名。 |
| |
| http 服务路由的自定义主机名。默认主机名留空,例如: insecure-<application-name>-rhpamcentrmon-<project>.<default-domain-suffix> |
| |
| https 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-rhpamcentrmon-<project>.<default-domain-suffix> |
| |
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 |
| |
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 |
| |
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 |
| |
| 用于身份验证的绑定 DN。 |
| |
| 用于身份验证的 LDAP 凭据。 |
| |
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 |
| |
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 |
| |
| 指明用户查询是否递归。 |
| |
| 用户或角色搜索的超时时间(毫秒)。 |
| |
| 包含用户角色的属性名称。 |
| |
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 |
| |
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 |
| |
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 |
| |
| 包含所有经过身份验证的用户的角色。 |
| |
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' |
| |
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' |
| |
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 |
| |
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 |
| |
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 |
| |
|
| — | — |
| — | 9000 | |
| — | 9443 | |
| 可以找到路由器的公共 URL。格式 http://<host>:<port> (Router 属性 org.kie.server.router.url.external) |
| |
| API 通信中使用的路由器 ID。(路由器属性 org.kie.server.router.id) |
| |
| Business Central 用户界面中使用的路由器名称。(路由器属性 org.kie.server.router.name) |
| |
| — |
| |
| — |
| |
| KIE 服务器路由器协议.(用于构建 org.kie.server.router.url.external 属性) |
| |
| 与服务器证书关联的名称。 |
| |
| 密钥存储和证书的密码。 |
| |
| — |
| |
| admin 用户名 | 根据凭证 secret 设置 | |
| admin 用户密码 | 根据凭证 secret 设置 | |
| KIE 服务器监控 bearer 身份验证的令牌。(设置 org.kie.server.controller.token 系统属性) |
| |
| — |
| |
| — | http | |
| — |
| |
| — | true |
15.4.2.3.3.7. 卷
Deployment | 名称 | mountPath | 用途 | readOnly |
---|---|---|---|---|
| businesscentral-keystore-volume |
| SSL 证书 | true |
|
|
| — | false |
15.4.2.4. 外部依赖项
15.4.2.4.1. 持久性卷声明
PersistentVolume
对象是 OpenShift 集群中的存储资源。通过从 GCE Persistent Disks、AWS Elastic Block Stores (EBS)和 NFS 挂载等源创建 PersistentVolume
对象来置备存储。如需更多信息,请参阅 Openshift 文档。
名称 | 访问模式 |
---|---|
| ReadWriteMany |
| ReadWriteMany |
15.4.2.4.2. Secrets
此模板需要安装下列机密,以便应用运行:
- smartrouter-app-secret
- businesscentral-app-secret
15.5. rhpam712-prod-immutable-kieserver.yaml template
在生产环境中不可变 KIE 服务器的应用程序模板,适用于 Red Hat Process Automation Manager 7.12 - 已弃用
15.5.1. 参数
模板允许您定义接受值的参数。然后,该值会在引用参数的位置替换。可在对象列表字段中的任意文本字段中定义引用。如需更多信息,请参阅 Openshift 文档。
变量名称 | 镜像环境变量 | 描述 | 示例值 | 必填 |
---|---|---|---|---|
| — | 应用程序的名称。 | myapp | true |
| — | 包含 KIE_ADMIN_USER 和 KIE_ADMIN_PWD 值的 secret | rhpam-credentials | true |
| — | 安装 Red Hat Process Automation Manager 镜像的 ImageStreams 的命名空间。这些 ImageStreams 通常安装在 openshift 命名空间中。只有在不同的命名空间/项目中安装 ImageStream 时,才需要修改此参数。默认为 "openshift"。 | openshift | true |
| — | 用于 KIE 服务器的镜像流的名称。默认为 "rhpam-kieserver-rhel8"。 | rhpam-kieserver-rhel8 | true |
| — | 指向镜像流中镜像的命名指针。默认为 "7.12.0"。 | 7.12.0 | true |
|
| KIE 服务器持久性数据源.(设置 org.kie.server.persistence.ds 系统属性) | java:/jboss/datasources/rhpam | False |
| — | 安装 PostgreSQL 镜像的 ImageStream 的命名空间。ImageStream 已安装在 openshift 命名空间中。只有在不同的命名空间/项目中安装 ImageStream 时,才需要修改此参数。默认为 "openshift"。 | openshift | False |
| — | PostgreSQL 镜像版本,用于与 PostgreSQL 版本对应。默认为 "10"。 | 10 | False |
|
| KIE Server PostgreSQL 数据库用户名。 | rhpam | False |
|
| KIE Server PostgreSQL 数据库密码。 | — | False |
|
| KIE Server PostgreSQL 数据库名称。 | rhpam7 | False |
|
| 允许 PostgreSQL 处理 XA 事务。 | 100 | true |
| — | 数据库卷的持久性存储大小。 | 1Gi | true |
|
| KIE Server PostgreSQL Hibernate 定位. | org.hibernate.dialect.PostgreSQLDialect | true |
|
| KIE Server 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 |
|
| https 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-kieserver-<project>.<default-domain-suffix> | — | False |
| — | 包含密钥存储文件的 secret 名称。 | kieserver-app-secret | true |
|
| 机密中的密钥存储文件的名称。 | keystore.jks | False |
|
| 与服务器证书关联的名称。 | jboss | False |
|
| 密钥存储和证书的密码。 | mykeystorepass | False |
|
| 允许 KIE 服务器绕过经过身份验证的用户获取与任务相关的操作,例如查询。(设置 org.kie.server.bypass.auth.user 系统属性) | false | False |
|
| 带有可选别名的 KIE 服务器容器部署配置。Format: containerId=groupId:artifactId:version|c2(alias2)=g2:a2:v2 | rhpam-kieserver-library=org.openshift.quickstarts:rhpam-kieserver-library:1.6.0-SNAPSHOT | true |
| — | 应用的 Git 源 URI。 | https://github.com/jboss-container-images/rhpam-7-openshift-image.git | true |
| — | Git 分支/标签引用。 | main | False |
| — | 要构建的 Git 项目中的路径;对于 root 项目目录为空。 | quickstarts/library-process/library | False |
| — | GitHub 触发器机密。 | — | true |
| — | 通用构建触发器机密。 | — | true |
|
| 用于 S2I 构建的 Maven 镜像。如果启用,镜像必须包含构建和运行所需服务所需的所有工件。 | — | False |
|
| KIE 服务器的 Maven 镜像配置. | 外部:* | False |
|
| 用于 maven 存储库的 id。如果设置,可以通过将其添加到 MAVEN_MIRROR_OF 来从可选配置的镜像中排除。例如: external:*,!repo-rhpamcentr,!repo-custom。如果设置了 MAVEN_MIRROR_URL,但没有设置 MAVEN_MIRROR_ID,则 id 将随机生成,但无法在 MAVEN_MIRROR_OF 中使用。 | repo-custom | False |
|
| Maven 存储库的完全限定 URL。 | — | False |
|
| 用于访问 Maven 存储库的用户名(如果需要)。 | — | False |
|
| 如果需要,用于访问 Maven 存储库的密码。 | — | False |
|
| 可选的 Business Central 的服务名称(如果需要的话),以允许服务查找(如 maven repo usage)。 | myapp-rhpamcentr | False |
| — | 将从中复制存档到部署文件夹中的目录列表。如果未指定,将复制 /target 中的所有存档。 | — | False |
|
| 为 EJB 计时器服务 database-data-store 设置 refresh-interval。 | 30000 | False |
| — | KIE 服务器容器内存限值。 | 2Gi | true |
| — | KIE 服务器容器内存请求. | 1536Mi | true |
| — | KIE 服务器容器 CPU 限制。 | 1 | true |
| — | KIE 服务器容器 CPU 请求. | 750m | true |
|
| 禁用管理 api,也不允许 KIE 容器部署/未部署或启动/停止。(将属性 org.kie.server.mgmt.api.disabled 设置为 true) | true | true |
|
| RH-SSO URL。 | https://rh-sso.example.com/auth | False |
|
| RH-SSO Realm 名称。 | — | False |
|
| KIE Server 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 Principal Attribute,用作用户名。 | preferred_username | False |
|
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 | ldap://myldap.example.com:389 | False |
|
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 | optional | False |
|
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 | true | False |
|
| 用于身份验证的绑定 DN。 | uid=admin,ou=users,ou=example,ou=com | False |
|
| 用于身份验证的 LDAP 凭据。 | 密码 | False |
|
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 | ou=users,ou=example,ou=com | False |
|
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 | (uid={0}) | False |
|
| 指明用户查询是否递归。 | true | False |
|
| 用户或角色搜索的超时时间(毫秒)。 | 10000 | False |
|
| 包含用户角色的属性名称。 | memberOf | False |
|
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 | ou=groups,ou=example,ou=com | False |
|
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 | (memberOf={1}) | False |
|
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 | 1 | False |
|
| 包含所有经过身份验证的用户的角色 | user | False |
|
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' | sn=BlankSurname;cn=BlankCommonName | False |
|
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' | — | False |
|
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 | role=role1,role3,role4;role7=role,admin | False |
|
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 | — | False |
|
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 | — | False |
15.5.2. 对象(object)
CLI 支持各种对象类型。Openshift 文档 可以找到这些对象类型及其缩写的列表。
15.5.2.1. 服务
服务是一个抽象,用于定义一组逻辑的 pod 以及用于访问它们的策略。如需更多信息,请参阅 container-engine 文档。
服务 | 端口 | 名称 | 描述 |
---|---|---|---|
| 8080 | http | 所有 KIE 服务器 Web 服务器的端口。 |
8443 | https | ||
| 5432 | — | 数据库服务器的端口。 |
15.5.2.2. Routes
路由是通过为服务提供一个外部可访问主机名(如 www.example.com
)来公开服务的方法。定义的路由和由服务标识的端点可由路由器使用,从而从外部客户端向应用程序提供命名连接。每个路由都由路由名称、服务选择器和(可选)安全配置组成。如需更多信息,请参阅 Openshift 文档。
服务 | 安全性 | Hostname |
---|---|---|
insecure-${APPLICATION_NAME}-kieserver-http | none |
|
| TLS 透传 |
|
15.5.2.3. 构建配置
buildConfig
描述了单个构建定义,以及应该创建新构建时的一组触发器。buildConfig
是一个 REST 对象,可在 POST 中用于 API 服务器来创建新实例。如需更多信息,请参阅 Openshift 文档。
S2I 镜像 | link | 构建输出 | BuildTriggers 和设置 |
---|---|---|---|
rhpam-kieserver-rhel8:7.12.0 |
|
| GitHub, Generic, ImageChange, ConfigChange |
15.5.2.4. 部署配置
OpenShift 中的部署是基于名为部署配置的用户定义的模板的复制控制器。部署是手动创建的,或响应触发的事件。如需更多信息,请参阅 Openshift 文档。
15.5.2.4.1. 触发器
触发器驱动创建新部署以响应 OpenShift 内部和外部的事件。如需更多信息,请参阅 Openshift 文档。
Deployment | 触发器 |
---|---|
| ImageChange |
| ImageChange |
15.5.2.4.2. Replicas
复制控制器确保任意一个时间运行指定数量的 pod "replicas"。如果数量太多,复制控制器会终止一些 pod。如果数量太少,它会启动更多。如需更多信息,请参阅 container-engine 文档。
Deployment | Replicas |
---|---|
| 2 |
| 1 |
15.5.2.4.3. Pod 模板
15.5.2.4.3.1. 服务帐户
服务帐户是各个项目中存在的 API 对象。它们可以像任何其他 API 对象一样创建或删除。如需更多信息,请参阅 Openshift 文档。
Deployment | 服务帐户 |
---|---|
|
|
15.5.2.4.3.2. 镜像
Deployment | 镜像 |
---|---|
|
|
| postgresql |
15.5.2.4.3.3. 就绪度(Readiness)探测
${APPLICATION_NAME}-kieserver
Http Get on http://localhost:8080/services/rest/server/readycheck
${APPLICATION_NAME}-postgresql
/usr/libexec/check-container
15.5.2.4.3.4. 存活度(Liveness)探测
${APPLICATION_NAME}-kieserver
Http Get on http://localhost:8080/services/rest/server/healthcheck
${APPLICATION_NAME}-postgresql
/usr/libexec/check-container --live
15.5.2.4.3.5. 公开端口
Deployments | 名称 | 端口 | 协议 |
---|---|---|---|
| Jolokia | 8778 |
|
http | 8080 |
| |
https | 8443 |
| |
| — | 5432 |
|
15.5.2.4.3.6. 镜像环境变量
Deployment | 变量名称 | 描述 | 示例值 |
---|---|---|---|
|
| 可选的 Business Central 的服务名称(如果需要的话),以允许服务查找(如 maven repo usage)。 |
|
| admin 用户名 | 根据凭证 secret 设置 | |
| admin 用户密码 | 根据凭证 secret 设置 | |
| — |
| |
| KIE Server mbeans 启用/禁用.(设置 kie.mbeans 和 kie.scanner.mbeans 系统属性) |
| |
| KIE 服务器类过滤.(设置 org.drools.server.filter.classes 系统属性) |
| |
| 如果设置为 false,则启用 prometheus 服务器扩展。(设置 org.kie.prometheus.server.ext.disabled 系统属性) |
| |
| 允许 KIE 服务器绕过经过身份验证的用户获取与任务相关的操作,例如查询。(设置 org.kie.server.bypass.auth.user 系统属性) |
| |
| — | — | |
| — | insecure-${APPLICATION_NAME}-kieserver | |
| — |
| |
| 带有可选别名的 KIE 服务器容器部署配置。Format: containerId=groupId:artifactId:version|c2(alias2)=g2:a2:v2 |
| |
| 用于 S2I 构建的 Maven 镜像。如果启用,镜像必须包含构建和运行所需服务所需的所有工件。 |
| |
| KIE 服务器的 Maven 镜像配置. |
| |
| — | RHPAMCENTR,EXTERNAL | |
| — | repo-rhpamcentr | |
| 可选的 Business Central 的服务名称(如果需要的话),以允许服务查找(如 maven repo usage)。 |
| |
| — |
| |
| — | 根据凭证 secret 设置 | |
| — | 根据凭证 secret 设置 | |
| 用于 maven 存储库的 id。如果设置,可以通过将其添加到 MAVEN_MIRROR_OF 来从可选配置的镜像中排除。例如: external:*,!repo-rhpamcentr,!repo-custom。如果设置了 MAVEN_MIRROR_URL,但没有设置 MAVEN_MIRROR_ID,则 id 将随机生成,但无法在 MAVEN_MIRROR_OF 中使用。 |
| |
| Maven 存储库的完全限定 URL。 |
| |
| 用于访问 Maven 存储库的用户名(如果需要)。 |
| |
| 如果需要,用于访问 Maven 存储库的密码。 |
| |
| KIE 服务器持久性数据源.(设置 org.kie.server.persistence.ds 系统属性) |
| |
| — |
| |
| KIE Server PostgreSQL 数据库名称。 |
| |
| KIE 服务器持久性数据源.(设置 org.kie.server.persistence.ds 系统属性) |
| |
| — | true | |
| — | postgresql | |
| KIE Server PostgreSQL Hibernate 定位. |
| |
| KIE Server PostgreSQL 数据库用户名。 |
| |
| KIE Server PostgreSQL 数据库密码。 |
| |
| — |
| |
| — | 5432 | |
| 为 EJB 计时器服务 database-data-store 设置 refresh-interval。 |
| |
| — |
| |
| 机密中的密钥存储文件的名称。 |
| |
| 与服务器证书关联的名称。 |
| |
| 密钥存储和证书的密码。 |
| |
| 禁用管理 api,也不允许 KIE 容器部署/未部署或启动/停止。(将属性 org.kie.server.mgmt.api.disabled 设置为 true) |
| |
| — | OpenShiftStartupStrategy | |
| — | kubernetes.KUBE_PING | |
| — | — | |
| — | cluster=jgrp.k8s.${APPLICATION_NAME}.kieserver | |
| RH-SSO URL。 |
| |
| — | ROOT.war | |
| RH-SSO Realm 名称。 |
| |
| KIE 服务器 RH-SSO 客户端机密. |
| |
| KIE Server RH-SSO 客户端名称。 |
| |
| 用于创建客户端的 RH-SSO Realm admin 用户名(如果不存在)。 |
| |
| 用于创建客户端的 RH-SSO Realm 管理员密码。 |
| |
| RH-SSO 禁用 SSL 证书验证. |
| |
| RH-SSO Principal Attribute,用作用户名。 |
| |
| http 服务路由的自定义主机名。默认主机名留空,例如: insecure-<application-name>-kieserver-<project>.<default-domain-suffix> |
| |
| https 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-kieserver-<project>.<default-domain-suffix> |
| |
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 |
| |
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 |
| |
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 |
| |
| 用于身份验证的绑定 DN。 |
| |
| 用于身份验证的 LDAP 凭据。 |
| |
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 |
| |
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 |
| |
| 指明用户查询是否递归。 |
| |
| 用户或角色搜索的超时时间(毫秒)。 |
| |
| 包含用户角色的属性名称。 |
| |
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 |
| |
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 |
| |
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 |
| |
| 包含所有经过身份验证的用户的角色 |
| |
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' |
| |
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' |
| |
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 |
| |
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 |
| |
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 |
| |
|
| KIE Server PostgreSQL 数据库用户名。 |
|
| KIE Server PostgreSQL 数据库密码。 |
| |
| KIE Server PostgreSQL 数据库名称。 |
| |
| 允许 PostgreSQL 处理 XA 事务。 |
|
15.5.2.4.3.7. 卷
Deployment | 名称 | mountPath | 用途 | readOnly |
---|---|---|---|---|
| kieserver-keystore-volume |
| SSL 证书 | true |
|
|
| postgresql | false |
15.5.2.5. 外部依赖项
15.5.2.5.1. 持久性卷声明
PersistentVolume
对象是 OpenShift 集群中的存储资源。通过从 GCE Persistent Disks、AWS Elastic Block Stores (EBS)和 NFS 挂载等源创建 PersistentVolume
对象来置备存储。如需更多信息,请参阅 Openshift 文档。
名称 | 访问模式 |
---|---|
| ReadWriteOnce |
15.5.2.5.2. Secrets
此模板需要安装下列机密,以便应用运行:
- kieserver-app-secret
15.6. rhpam712-prod-immutable-kieserver-amq.yaml template
与 ActiveMQ 集成的生产环境中的不可变 KIE 服务器的应用程序模板,适用于 Red Hat Process Automation Manager 7.12 - 已弃用
15.6.1. 参数
模板允许您定义接受值的参数。然后,该值会在引用参数的位置替换。可在对象列表字段中的任意文本字段中定义引用。如需更多信息,请参阅 Openshift 文档。
变量名称 | 镜像环境变量 | 描述 | 示例值 | 必填 |
---|---|---|---|---|
| — | 应用程序的名称。 | myapp | true |
| — | 包含 KIE_ADMIN_USER 和 KIE_ADMIN_PWD 值的 secret | rhpam-credentials | true |
| — | 安装 Red Hat Process Automation Manager 镜像的 ImageStreams 的命名空间。这些 ImageStreams 通常安装在 openshift 命名空间中。只有在不同的命名空间/项目中安装 ImageStream 时,才需要修改此参数。默认为 "openshift"。 | openshift | true |
| — | 用于 KIE 服务器的镜像流的名称。默认为 "rhpam-kieserver-rhel8"。 | rhpam-kieserver-rhel8 | true |
| — | 指向镜像流中镜像的命名指针。默认为 "7.12.0"。 | 7.12.0 | true |
|
| KIE 服务器持久性数据源(设置 org.kie.server.persistence.ds 系统属性) | java:/jboss/datasources/rhpam | False |
| — | 安装 PostgreSQL 镜像的 ImageStream 的命名空间。ImageStream 已安装在 openshift 命名空间中。只有在不同的命名空间/项目中安装 ImageStream 时,才需要修改此参数。默认为 "openshift"。 | openshift | False |
| — | PostgreSQL 镜像版本,用于与 PostgreSQL 版本对应。默认为 "10"。 | 10 | False |
|
| KIE Server PostgreSQL 数据库用户名 | rhpam | False |
|
| KIE Server PostgreSQL 数据库密码 | — | False |
|
| KIE Server PostgreSQL 数据库名称 | rhpam7 | False |
|
| 允许 PostgreSQL 处理 XA 事务。 | 100 | true |
| — | 数据库卷的持久性存储大小。 | 1Gi | true |
|
| KIE Server mbeans enabled/disabled (设置 kie.mbeans 和 kie.scanner.mbeans 系统属性) | enabled | False |
|
| KIE Server 类过滤(设置 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 |
|
| https 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-kieserver-<project>.<default-domain-suffix> | — | False |
| — | 包含密钥存储文件的 secret 名称 | kieserver-app-secret | true |
|
| secret 中的密钥存储文件的名称 | keystore.jks | False |
|
| 与服务器证书关联的名称 | jboss | False |
|
| 密钥存储和证书的密码 | mykeystorepass | False |
|
| 允许 KIE 服务器绕过经过身份验证的用户获取与任务相关的操作,例如查询。(设置 org.kie.server.bypass.auth.user 系统属性) | false | False |
|
| 带有可选别名的 KIE 服务器容器部署配置。Format: containerId=groupId:artifactId:version|c2(alias2)=g2:a2:v2 | rhpam-kieserver-library=org.openshift.quickstarts:rhpam-kieserver-library:1.6.0-SNAPSHOT | true |
| — | 应用的 Git 源 URI | https://github.com/jboss-container-images/rhpam-7-openshift-image.git | true |
| — | Git 分支/标签参考 | main | False |
| — | 要构建的 Git 项目中的路径;对于 root 项目目录为空。 | quickstarts/library-process/library | False |
| — | GitHub 触发器 secret | — | true |
| — | 通用构建触发器 secret | — | true |
| — | 用于 S2I 构建的 Maven 镜像 | — | False |
|
| 用于 maven 存储库的 id (如果已设置)。默认是随机生成的。 | my-repo-id | False |
|
| Maven 存储库的完全限定 URL。 | — | False |
|
| 用于访问 Maven 存储库的用户名(如果需要)。 | — | False |
|
| 如果需要,用于访问 Maven 存储库的密码。 | — | False |
|
| 可选的 Business Central 的服务名称(如果需要的话),以允许服务查找(如 maven repo usage)。 | myapp-rhpamcentr | False |
| — | 将从中复制存档到部署文件夹中的目录列表。如果未指定,将复制 /target 中的所有存档。 | — | False |
|
| 为 EJB 计时器服务 database-data-store 设置 refresh-interval。 | 30000 | False |
| — | KIE 服务器容器内存限值。 | 2Gi | true |
| — | KIE 服务器容器内存请求. | 1536Mi | true |
| — | KIE 服务器容器 CPU 限制。 | 1 | true |
| — | KIE 服务器容器 CPU 请求. | 750m | true |
|
| 禁用管理 api,也不允许 KIE 容器部署/未部署或启动/停止。(将属性 org.kie.server.mgmt.api.disabled 设置为 true) | true | true |
|
| 启用 JMS executor,将 false 设置为 disable it。 | true | False |
|
| 为 JMS executor 启用事务,默认禁用 | false | False |
|
| JMS 的请求队列的 JNDI 名称。默认值为 queue/KIE.SERVER.REQUEST | queue/KIE.SERVER.REQUEST | False |
|
| JMS 的响应队列的 JNDI 名称。默认值为 queue/KIE.SERVER.RESPONSE | queue/KIE.SERVER.RESPONSE | False |
|
| JMS 的响应队列的 JNDI 名称。默认值为 queue/KIE.SERVER.RESPONSE | queue/KIE.SERVER.EXECUTOR | False |
|
| 通过 JMS 启用 Signal 配置 | true | False |
|
| JMS 队列用于信号 | queue/KIE.SERVER.SIGNAL | False |
|
| 通过 JMS 启用审计日志记录 | true | False |
|
| 用于审计日志记录的 JMS 队列 | queue/KIE.SERVER.AUDIT | False |
|
| 确定 JMS 会话是否已转换或未转换 - 默认 true。 | false | False |
|
| 标准代理用户的用户名。连接到代理需要它。如果留空,它将生成。 | — | False |
|
| 标准代理用户的密码。连接到代理需要它。如果留空,它将生成。 | — | False |
|
| 标准代理用户的用户角色. | admin | true |
|
| 队列名称,用逗号分开。这些队列将在代理启动时自动创建。此外,它们也可作为 EAP 中的 JNDI 资源进行访问。这些是 KIE 服务器需要的默认队列。如果使用自定义队列,请使用此处的值和 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 参数。 | queue/KIE.SERVER.REQUEST,queue/KIE.SERVER.RESPONSE,queue/KIE.SERVER.EXECUTOR,queue/KIE.SERVER.SIGNAL,queue/KIE.SERVER.AUDIT | False |
|
| 指定消息数据可以使用的最大内存量。如果没有指定值,则会分配系统内存中的一半。 | 10 gb | False |
| — | 包含 AMQ SSL 相关文件的 secret 名称。 | broker-app-secret | true |
|
| AMQ SSL Trust Store 文件的名称。 | broker.ts | False |
|
| AMQ Trust Store 的密码。 | changeit | False |
|
| AMQ 密钥存储文件的名称。 | broker.ks | False |
|
| AMQ 密钥存储和证书的密码。 | changeit | False |
|
|
用于配置的代理协议,用逗号分开。允许的值有: | OpenWire | False |
| — | AMQ Broker 镜像 | amq-broker:7.8 | true |
| — | 安装 Red Hat AMQ 镜像的 ImageStreams 的命名空间。这些 ImageStreams 通常安装在 openshift 命名空间中。只有在不同的命名空间/项目中安装 ImageStream 时,才需要修改此参数。默认为 "openshift"。 | openshift | true |
|
| RH-SSO URL | https://rh-sso.example.com/auth | False |
|
| RH-SSO Realm 名称 | — | False |
|
| KIE Server RH-SSO Client name | — | False |
|
| KIE Server RH-SSO Client Secret | 252793ed-7118-4ca8-8dab-5622fa97d892 | False |
|
| 用于创建客户端的 RH-SSO Realm admin 用户名(如果不存在) | — | False |
|
| 用于创建客户端的 RH-SSO Realm 管理员密码 | — | False |
|
| RH-SSO 禁用 SSL 证书验证 | false | False |
|
| RH-SSO Principal Attribute,用作用户名。 | preferred_username | False |
|
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 | ldap://myldap.example.com:389 | False |
|
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 | optional | False |
|
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 | true | False |
|
| 用于身份验证的绑定 DN | uid=admin,ou=users,ou=example,ou=com | False |
|
| 用于身份验证的 LDAP 凭证 | 密码 | False |
|
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 | ou=users,ou=example,ou=com | False |
|
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 | (uid={0}) | False |
|
| 指明用户查询是否递归。 | true | False |
|
| 用户或角色搜索的超时时间(毫秒)。 | 10000 | False |
|
| 包含用户角色的属性名称。 | memberOf | False |
|
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 | ou=groups,ou=example,ou=com | False |
|
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 | (memberOf={1}) | False |
|
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 | 1 | False |
|
| 包含所有经过身份验证的用户的角色 | user | False |
|
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' | sn=BlankSurname;cn=BlankCommonName | False |
|
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' | — | False |
|
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 | role=role1,role3,role4;role7=role,admin | False |
|
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 | — | False |
|
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 | — | False |
15.6.2. 对象(object)
CLI 支持各种对象类型。Openshift 文档 可以找到这些对象类型及其缩写的列表。
15.6.2.1. 服务
服务是一个抽象,用于定义一组逻辑的 pod 以及用于访问它们的策略。如需更多信息,请参阅 container-engine 文档。
服务 | 端口 | 名称 | 描述 |
---|---|---|---|
| 8080 | http | 所有 KIE 服务器 Web 服务器的端口。 |
8443 | https | ||
| 8161 | amq-jolokia | 代理的控制台和 Jolokia 端口。 |
| 5672 | amq-amqp | 代理的 AMQP 端口。 |
| 5671 | amq-amqp-ssl | 代理的 AMQP SSL 端口。 |
| 1883 | amq-mqtt | 代理的 MQTT 端口。 |
| 8883 | amq-mqtt-ssl | 代理的 MQTT SSL 端口。 |
| 61613 | amq-stomp | 代理的 STOMP 端口。 |
| 61612 | amq-stomp-ssl | 代理的 STOMP SSL 端口。 |
| 61616 | amq-tcp | 代理的 OpenWire 端口。 |
| 61617 | amq-tcp-ssl | 代理的 OpenWire (SSL)端口。 |
| 5432 | — | 数据库服务器的端口。 |
15.6.2.2. Routes
路由是通过为服务提供一个外部可访问主机名(如 www.example.com
)来公开服务的方法。定义的路由和由服务标识的端点可由路由器使用,从而从外部客户端向应用程序提供命名连接。每个路由都由路由名称、服务选择器和(可选)安全配置组成。如需更多信息,请参阅 Openshift 文档。
服务 | 安全性 | Hostname |
---|---|---|
| none |
|
| TLS 透传 |
|
| TLS 透传 | <default> |
| TLS 透传 | <default> |
15.6.2.3. 构建配置
buildConfig
描述了单个构建定义,以及应该创建新构建时的一组触发器。buildConfig
是一个 REST 对象,可在 POST 中用于 API 服务器来创建新实例。如需更多信息,请参阅 Openshift 文档。
S2I 镜像 | link | 构建输出 | BuildTriggers 和设置 |
---|---|---|---|
rhpam-kieserver-rhel8:7.12.0 |
|
| GitHub, Generic, ImageChange, ConfigChange |
15.6.2.4. 部署配置
OpenShift 中的部署是基于名为部署配置的用户定义的模板的复制控制器。部署是手动创建的,或响应触发的事件。如需更多信息,请参阅 Openshift 文档。
15.6.2.4.1. 触发器
触发器驱动创建新部署以响应 OpenShift 内部和外部的事件。如需更多信息,请参阅 Openshift 文档。
Deployment | 触发器 |
---|---|
| ImageChange |
| ImageChange |
| ImageChange |
15.6.2.4.2. Replicas
复制控制器确保任意一个时间运行指定数量的 pod "replicas"。如果数量太多,复制控制器会终止一些 pod。如果数量太少,它会启动更多。如需更多信息,请参阅 container-engine 文档。
Deployment | Replicas |
---|---|
| 2 |
| 1 |
| 1 |
15.6.2.4.3. Pod 模板
15.6.2.4.3.1. 服务帐户
服务帐户是各个项目中存在的 API 对象。它们可以像任何其他 API 对象一样创建或删除。如需更多信息,请参阅 Openshift 文档。
Deployment | 服务帐户 |
---|---|
|
|
15.6.2.4.3.2. 镜像
Deployment | 镜像 |
---|---|
|
|
| postgresql |
|
|
15.6.2.4.3.3. 就绪度(Readiness)探测
${APPLICATION_NAME}-kieserver
Http Get on http://localhost:8080/services/rest/server/readycheck
${APPLICATION_NAME}-postgresql
/usr/libexec/check-container
${APPLICATION_NAME}-amq
/bin/bash -c /opt/amq/bin/readinessProbe.sh
15.6.2.4.3.4. 存活度(Liveness)探测
${APPLICATION_NAME}-kieserver
Http Get on http://localhost:8080/services/rest/server/healthcheck
${APPLICATION_NAME}-postgresql
/usr/libexec/check-container --live
15.6.2.4.3.5. 公开端口
Deployments | 名称 | 端口 | 协议 |
---|---|---|---|
| Jolokia | 8778 |
|
http | 8080 |
| |
https | 8443 |
| |
| — | 5432 |
|
| console-jolokia | 8161 |
|
amqp | 5672 |
| |
amqp-ssl | 5671 |
| |
mqtt | 1883 |
| |
mqtt-ssl | 8883 |
| |
stomp | 61613 |
| |
stomp-ssl | 61612 |
| |
Artemis | 61616 |
| |
amq-tcp-ssl | 61617 |
|
15.6.2.4.3.6. 镜像环境变量
Deployment | 变量名称 | 描述 | 示例值 |
---|---|---|---|
|
| 可选的 Business Central 的服务名称(如果需要的话),以允许服务查找(如 maven repo usage)。 |
|
| admin 用户名 | 根据凭证 secret 设置 | |
| admin 用户密码 | 根据凭证 secret 设置 | |
| — |
| |
| KIE Server mbeans enabled/disabled (设置 kie.mbeans 和 kie.scanner.mbeans 系统属性) |
| |
| KIE Server 类过滤(设置 org.drools.server.filter.classes 系统属性) |
| |
| 如果设置为 false,则启用 prometheus 服务器扩展。(设置 org.kie.prometheus.server.ext.disabled 系统属性) |
| |
| 允许 KIE 服务器绕过经过身份验证的用户获取与任务相关的操作,例如查询。(设置 org.kie.server.bypass.auth.user 系统属性) |
| |
| — | — | |
| — | insecure-${APPLICATION_NAME}-kieserver | |
| — |
| |
| 带有可选别名的 KIE 服务器容器部署配置。Format: containerId=groupId:artifactId:version|c2(alias2)=g2:a2:v2 |
| |
| — | RHPAMCENTR,EXTERNAL | |
| 可选的 Business Central 的服务名称(如果需要的话),以允许服务查找(如 maven repo usage)。 |
| |
| — |
| |
| — | 根据凭证 secret 设置 | |
| — | 根据凭证 secret 设置 | |
| 用于 maven 存储库的 id (如果已设置)。默认是随机生成的。 |
| |
| Maven 存储库的完全限定 URL。 |
| |
| 用于访问 Maven 存储库的用户名(如果需要)。 |
| |
| 如果需要,用于访问 Maven 存储库的密码。 |
| |
| KIE 服务器持久性数据源(设置 org.kie.server.persistence.ds 系统属性) |
| |
| — |
| |
| KIE Server PostgreSQL 数据库名称 |
| |
| KIE 服务器持久性数据源(设置 org.kie.server.persistence.ds 系统属性) |
| |
| — | true | |
| — | postgresql | |
| — | org.hibernate.dialect.PostgreSQLDialect | |
| KIE Server PostgreSQL 数据库用户名 |
| |
| KIE Server PostgreSQL 数据库密码 |
| |
| — |
| |
| — | 5432 | |
| — |
| |
| 为 EJB 计时器服务 database-data-store 设置 refresh-interval。 |
| |
| 启用 JMS executor,将 false 设置为 disable it。 |
| |
| 为 JMS executor 启用事务,默认禁用 |
| |
| JMS 的请求队列的 JNDI 名称。默认值为 queue/KIE.SERVER.REQUEST |
| |
| JMS 的响应队列的 JNDI 名称。默认值为 queue/KIE.SERVER.RESPONSE |
| |
| JMS 的响应队列的 JNDI 名称。默认值为 queue/KIE.SERVER.RESPONSE |
| |
| 通过 JMS 启用 Signal 配置 |
| |
| JMS 队列用于信号 |
| |
| 通过 JMS 启用审计日志记录 |
| |
| 用于审计日志记录的 JMS 队列 |
| |
| 确定 JMS 会话是否已转换或未转换 - 默认 true。 |
| |
| — |
| |
| 标准代理用户的用户名。连接到代理需要它。如果留空,它将生成。 |
| |
| 标准代理用户的密码。连接到代理需要它。如果留空,它将生成。 |
| |
|
用于配置的代理协议,用逗号分开。允许的值有: | tcp | |
| 队列名称,用逗号分开。这些队列将在代理启动时自动创建。此外,它们也可作为 EAP 中的 JNDI 资源进行访问。这些是 KIE 服务器需要的默认队列。如果使用自定义队列,请使用此处的值和 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 参数。 |
| |
| — |
| |
| secret 中的密钥存储文件的名称 |
| |
| 与服务器证书关联的名称 |
| |
| 密钥存储和证书的密码 |
| |
| 禁用管理 api,也不允许 KIE 容器部署/未部署或启动/停止。(将属性 org.kie.server.mgmt.api.disabled 设置为 true) |
| |
| — | OpenShiftStartupStrategy | |
| — | kubernetes.KUBE_PING | |
| — | — | |
| — | cluster=jgrp.k8s.${APPLICATION_NAME}.kieserver | |
| RH-SSO URL |
| |
| — | ROOT.war | |
| RH-SSO Realm 名称 |
| |
| KIE Server RH-SSO Client Secret |
| |
| KIE Server RH-SSO Client name |
| |
| 用于创建客户端的 RH-SSO Realm admin 用户名(如果不存在) |
| |
| 用于创建客户端的 RH-SSO Realm 管理员密码 |
| |
| RH-SSO 禁用 SSL 证书验证 |
| |
| RH-SSO Principal Attribute,用作用户名。 |
| |
| http 服务路由的自定义主机名。默认主机名留空,例如: insecure-<application-name>-kieserver-<project>.<default-domain-suffix> |
| |
| https 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-kieserver-<project>.<default-domain-suffix> |
| |
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 |
| |
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 |
| |
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 |
| |
| 用于身份验证的绑定 DN |
| |
| 用于身份验证的 LDAP 凭证 |
| |
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 |
| |
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 |
| |
| 指明用户查询是否递归。 |
| |
| 用户或角色搜索的超时时间(毫秒)。 |
| |
| 包含用户角色的属性名称。 |
| |
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 |
| |
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 |
| |
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 |
| |
| 包含所有经过身份验证的用户的角色 |
| |
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' |
| |
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' |
| |
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 |
| |
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 |
| |
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 |
| |
|
| KIE Server PostgreSQL 数据库用户名 |
|
| KIE Server PostgreSQL 数据库密码 |
| |
| KIE Server PostgreSQL 数据库名称 |
| |
| 允许 PostgreSQL 处理 XA 事务。 |
| |
|
| 标准代理用户的用户名。连接到代理需要它。如果留空,它将生成。 |
|
| 标准代理用户的密码。连接到代理需要它。如果留空,它将生成。 |
| |
| 标准代理用户的用户角色. |
| |
| — |
| |
|
用于配置的代理协议,用逗号分开。允许的值有: |
| |
| 队列名称,用逗号分开。这些队列将在代理启动时自动创建。此外,它们也可作为 EAP 中的 JNDI 资源进行访问。这些是 KIE 服务器需要的默认队列。如果使用自定义队列,请使用此处的值和 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 参数。 |
| |
| 指定消息数据可以使用的最大内存量。如果没有指定值,则会分配系统内存中的一半。 |
| |
| — | true | |
| — | — | |
| — | — | |
| — |
| |
| AMQ SSL Trust Store 文件的名称。 |
| |
| AMQ Trust Store 的密码。 |
| |
| AMQ 密钥存储文件的名称。 |
| |
| AMQ 密钥存储和证书的密码。 |
|
15.6.2.4.3.7. 卷
Deployment | 名称 | mountPath | 用途 | readOnly |
---|---|---|---|---|
| kieserver-keystore-volume |
| SSL 证书 | true |
|
|
| postgresql | false |
| broker-secret-volume |
| SSL 证书 | true |
15.6.2.5. 外部依赖项
15.6.2.5.1. 持久性卷声明
PersistentVolume
对象是 OpenShift 集群中的存储资源。通过从 GCE Persistent Disks、AWS Elastic Block Stores (EBS)和 NFS 挂载等源创建 PersistentVolume
对象来置备存储。如需更多信息,请参阅 Openshift 文档。
名称 | 访问模式 |
---|---|
| ReadWriteOnce |
15.6.2.5.2. Secrets
此模板需要安装下列机密,以便应用运行:
- kieserver-app-secret
- broker-app-secret
15.7. rhpam712-kieserver-externaldb.yaml template
Red Hat Process Automation Manager 7.12 - 已弃用的受管 KIE 服务器的应用程序模板,它带有外部数据库
15.7.1. 参数
模板允许您定义接受值的参数。然后,该值会在引用参数的位置替换。可在对象列表字段中的任意文本字段中定义引用。如需更多信息,请参阅 Openshift 文档。
变量名称 | 镜像环境变量 | 描述 | 示例值 | 必填 |
---|---|---|---|---|
| — | 应用程序的名称。 | myapp | true |
|
| KIE 服务器必须使用的 Maven 镜像。如果配置镜像,此镜像必须包含部署服务所需的所有工件。 | — | False |
|
| KIE 服务器的 Maven 镜像配置. | 外部:* | False |
|
| 用于 maven 存储库的 id。如果设置,可以通过将其添加到 MAVEN_MIRROR_OF 来从可选配置的镜像中排除。例如: external:*,!repo-rhpamcentr,!repo-custom。如果设置了 MAVEN_MIRROR_URL,但没有设置 MAVEN_MIRROR_ID,则 id 将随机生成,但无法在 MAVEN_MIRROR_OF 中使用。 | repo-custom | False |
|
| Maven 存储库或服务的完全限定 URL。 | http://nexus.nexus-project.svc.cluster.local:8081/nexus/content/groups/public/ | False |
|
| 用于访问 Maven 存储库的用户名(如果需要)。 | — | False |
|
| 如果需要,用于访问 Maven 存储库的密码。 | — | False |
|
| 可选的 Business Central 的服务名称(如果需要的话),以允许服务查找(如 maven repo usage)。 | myapp-rhpamcentr | False |
| — | 包含 KIE_ADMIN_USER 和 KIE_ADMIN_PWD 值的 secret | rhpam-credentials | true |
| — | 安装 Red Hat Process Automation Manager 镜像的 ImageStreams 的命名空间。这些 ImageStreams 通常安装在 openshift 命名空间中。只有在不同的命名空间/项目中安装 ImageStream 时,才需要修改此参数。默认为 "openshift"。 | openshift | true |
| — | 用于 KIE 服务器的镜像流的名称。默认为 "rhpam-kieserver-rhel8"。 | rhpam-kieserver-rhel8 | true |
| — | 指向镜像流中镜像的命名指针。默认为 "7.12.0"。 | 7.12.0 | true |
|
| Hibernate 持久性架构. | bd.schema | False |
|
| KIE 服务器外部数据库 Hibernate 定位. | org.hibernate.dialect.MySQL57Dialect | true |
|
| 设置数据源服务主机。如果要使用预定义的 mysql 或 postgresql 数据源属性,请使用此选项。如果设置了 KIE_SERVER_EXTERNALDB_URL 参数,请留空。 | 10.10.10.1 | False |
|
| 设置数据源服务端口。如果要使用预定义的 mysql 或 postgresql 数据源属性,请使用此选项。如果设置了 KIE_SERVER_EXTERNALDB_URL 参数,请留空。 | 4321 | False |
|
| 设置数据源类型。它可以是 XA 或 NONXA。对于非 XA,则将其设置为 true。默认值为 true。 | true | False |
|
| 设置数据源 jdbc 连接 url。请注意,如果您使用 PostgreSQL 没有使用此字段,请使用 SERVICE_HOST 和 PORT。如果使用 SERVICE_PORT 和 HOST,则不需要填写此参数。 | jdbc:mysql://127.0.0.1:3306/rhpam | False |
|
| 预定义的驱动程序名称,可用值为 mysql、postgresql 或外部驱动程序的首选名称。 | mariadb | true |
|
| 应用用来解析数据源的数据库 JNDI 名称,如 java:/jboss/datasources/ExampleDS。 | java:jboss/datasources/jbpmDS | true |
|
| KIE 服务器外部数据库名称.如果设置了 KIE_SERVER_EXTERNALDB_URL,则留空。 | rhpam | False |
|
| KIE 服务器外部数据库用户名。 | rhpam | true |
|
| KIE 服务器外部数据库密码。 | — | true |
|
| 为配置的数据源设置 xa-pool/min-pool-size。 | — | False |
|
| 为配置的数据源设置 xa-pool/max-pool-size。 | — | False |
|
| org.jboss.jca.adapters.jdbc.ValidConnectionChecker,提供 SQLException isValidConnection (Connection e)方法来验证连接是否有效。 | org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker | False |
|
| 一个 org.jboss.jca.adapters.jdbc.ExceptionSorter,它提供布尔值 isExceptionFatal (SQLException e)方法来验证是否应将异常广播到所有 javax.resource.spi.ConnectionEventListener 作为 connectionErrorOccurred。 | org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter | False |
|
| 如果设为 false,则将 sql 验证方法设置为 background-validation,则会使用 validate-on-match 方法。 | true | False |
|
| 定义 jdbc 连接的 background-validation 检查间隔。 | 10000 | False |
|
| KIE 服务器外部数据库驱动程序类型,仅适用于 DB2,可能的值是 4 (默认)或 2。 | 4 | False |
| — | 包含驱动程序和配置的镜像的 ImageStreamTag 定义。例如: custom-driver-image:7.12.0。 | custom-driver-extension:7.12.0 | true |
| — | 包含驱动程序和配置的镜像的 ImageStream 定义的命名空间位于其中。 | openshift | true |
| — | 扩展镜像所在的扩展镜像中目录的完整路径(如 install.sh、modules/ 等)。 |
| true |
|
| KIE 服务器模式.有效值为 'DEVELOPMENT' 或 'PRODUCTION'。在生产模式中,您无法在 KIE 服务器上部署 SNAPSHOT 工件版本,且无法更改现有容器中的工件版本。(设置 org.kie.server.mode 系统属性)。 |
| False |
|
| KIE Server mbeans enabled/disabled (设置 kie.mbeans 和 kie.scanner.mbeans 系统属性)。 | enabled | False |
|
| KIE Server 类过滤(设置 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 |
|
| https 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-kieserver-<project>.<default-domain-suffix> | — | False |
| — | 包含密钥存储文件的 secret 名称。 | kieserver-app-secret | true |
|
| 机密中的密钥存储文件的名称。 | keystore.jks | False |
|
| 与服务器证书关联的名称。 | jboss | False |
|
| 密钥存储和证书的密码。 | mykeystorepass | False |
|
| 允许 KIE 服务器绕过经过身份验证的用户获取与任务相关的操作,例如查询。(设置 org.kie.server.bypass.auth.user 系统属性) | false | False |
|
| 为 EJB 计时器数据库 data-store 服务设置 refresh-interval。 | 30000 | False |
| — | KIE 服务器容器内存限值。 | 2Gi | true |
| — | KIE 服务器容器内存请求. | 1536Mi | true |
| — | KIE 服务器容器 CPU 限制。 | 1 | true |
| — | KIE 服务器容器 CPU 请求. | 750m | true |
|
| 带有可选别名的 KIE 服务器容器部署配置。Format: containerId=groupId:artifactId:version|c2(alias2)=g2:a2:v2 | rhpam-kieserver-library=org.openshift.quickstarts:rhpam-kieserver-library:1.6.0-SNAPSHOT | False |
|
| 禁用管理 api,也不允许 KIE 容器部署/未部署或启动/停止。将属性 org.kie.server.mgmt.api.disabled 设为 true,将 org.kie.server.startup.strategy 设置为 LocalContainersStartupStrategy。 | true | False |
|
| RH-SSO URL。 | https://rh-sso.example.com/auth | False |
|
| RH-SSO Realm 名称。 | — | False |
|
| KIE Server 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 Principal Attribute,用作用户名。 | preferred_username | False |
|
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 | ldap://myldap.example.com:389 | False |
|
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 | optional | False |
|
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 | true | False |
|
| 用于身份验证的绑定 DN。 | uid=admin,ou=users,ou=example,ou=com | False |
|
| 用于身份验证的 LDAP 凭据。 | 密码 | False |
|
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 | ou=users,ou=example,ou=com | False |
|
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 | (uid={0}) | False |
|
| 指明用户查询是否递归。 | true | False |
|
| 用户或角色搜索的超时时间(毫秒)。 | 10000 | False |
|
| 包含用户角色的属性名称。 | memberOf | False |
|
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 | ou=groups,ou=example,ou=com | False |
|
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 | (memberOf={1}) | False |
|
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 | 1 | False |
|
| 包含所有经过身份验证的用户的角色。 | user | False |
|
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' | sn=BlankSurname;cn=BlankCommonName | False |
|
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' | — | False |
|
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 | role=role1,role3,role4;role7=role,admin | False |
|
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 | — | False |
|
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 | — | False |
15.7.2. 对象(object)
CLI 支持各种对象类型。Openshift 文档 可以找到这些对象类型及其缩写的列表。
15.7.2.1. 服务
服务是一个抽象,用于定义一组逻辑的 pod 以及用于访问它们的策略。如需更多信息,请参阅 container-engine 文档。
服务 | 端口 | 名称 | 描述 |
---|---|---|---|
| 8080 | http | 所有 KIE 服务器 Web 服务器的端口。 |
8443 | https |
15.7.2.2. Routes
路由是通过为服务提供一个外部可访问主机名(如 www.example.com
)来公开服务的方法。定义的路由和由服务标识的端点可由路由器使用,从而从外部客户端向应用程序提供命名连接。每个路由都由路由名称、服务选择器和(可选)安全配置组成。如需更多信息,请参阅 Openshift 文档。
服务 | 安全性 | Hostname |
---|---|---|
insecure-${APPLICATION_NAME}-kieserver-http | none |
|
| TLS 透传 |
|
15.7.2.3. 构建配置
buildConfig
描述了单个构建定义,以及应该创建新构建时的一组触发器。buildConfig
是一个 REST 对象,可在 POST 中用于 API 服务器来创建新实例。如需更多信息,请参阅 Openshift 文档。
S2I 镜像 | link | 构建输出 | BuildTriggers 和设置 |
---|---|---|---|
rhpam-kieserver-rhel8:7.12.0 |
|
| ImageChange, ImageChange, ConfigChange |
15.7.2.4. 部署配置
OpenShift 中的部署是基于名为部署配置的用户定义的模板的复制控制器。部署是手动创建的,或响应触发的事件。如需更多信息,请参阅 Openshift 文档。
15.7.2.4.1. 触发器
触发器驱动创建新部署以响应 OpenShift 内部和外部的事件。如需更多信息,请参阅 Openshift 文档。
Deployment | 触发器 |
---|---|
| ImageChange |
15.7.2.4.2. Replicas
复制控制器确保任意一个时间运行指定数量的 pod "replicas"。如果数量太多,复制控制器会终止一些 pod。如果数量太少,它会启动更多。如需更多信息,请参阅 container-engine 文档。
Deployment | Replicas |
---|---|
| 1 |
15.7.2.4.3. Pod 模板
15.7.2.4.3.1. 服务帐户
服务帐户是各个项目中存在的 API 对象。它们可以像任何其他 API 对象一样创建或删除。如需更多信息,请参阅 Openshift 文档。
Deployment | 服务帐户 |
---|---|
|
|
15.7.2.4.3.2. 镜像
Deployment | 镜像 |
---|---|
|
|
15.7.2.4.3.3. 就绪度(Readiness)探测
${APPLICATION_NAME}-kieserver
Http Get on http://localhost:8080/services/rest/server/readycheck
15.7.2.4.3.4. 存活度(Liveness)探测
${APPLICATION_NAME}-kieserver
Http Get on http://localhost:8080/services/rest/server/healthcheck
15.7.2.4.3.5. 公开端口
Deployments | 名称 | 端口 | 协议 |
---|---|---|---|
| Jolokia | 8778 |
|
http | 8080 |
| |
https | 8443 |
|
15.7.2.4.3.6. 镜像环境变量
Deployment | 变量名称 | 描述 | 示例值 |
---|---|---|---|
|
| 可选的 Business Central 的服务名称(如果需要的话),以允许服务查找(如 maven repo usage)。 |
|
| admin 用户名 | 根据凭证 secret 设置 | |
| admin 用户密码 | 根据凭证 secret 设置 | |
| KIE 服务器模式.有效值为 'DEVELOPMENT' 或 'PRODUCTION'。在生产模式中,您无法在 KIE 服务器上部署 SNAPSHOT 工件版本,且无法更改现有容器中的工件版本。(设置 org.kie.server.mode 系统属性)。 |
| |
| KIE Server mbeans enabled/disabled (设置 kie.mbeans 和 kie.scanner.mbeans 系统属性)。 |
| |
| KIE Server 类过滤(设置 org.drools.server.filter.classes 系统属性)。 |
| |
| 如果设置为 false,则启用 prometheus 服务器扩展。(设置 org.kie.prometheus.server.ext.disabled 系统属性) |
| |
| 允许 KIE 服务器绕过经过身份验证的用户获取与任务相关的操作,例如查询。(设置 org.kie.server.bypass.auth.user 系统属性) |
| |
| — | — | |
| — |
| |
| 带有可选别名的 KIE 服务器容器部署配置。Format: containerId=groupId:artifactId:version|c2(alias2)=g2:a2:v2 |
| |
| KIE 服务器必须使用的 Maven 镜像。如果配置镜像,此镜像必须包含部署服务所需的所有工件。 |
| |
| KIE 服务器的 Maven 镜像配置. |
| |
| — | RHPAMCENTR,EXTERNAL | |
| — | repo-rhpamcentr | |
| 可选的 Business Central 的服务名称(如果需要的话),以允许服务查找(如 maven repo usage)。 |
| |
| — |
| |
| — | 根据凭证 secret 设置 | |
| — | 根据凭证 secret 设置 | |
| 用于 maven 存储库的 id。如果设置,可以通过将其添加到 MAVEN_MIRROR_OF 来从可选配置的镜像中排除。例如: external:*,!repo-rhpamcentr,!repo-custom。如果设置了 MAVEN_MIRROR_URL,但没有设置 MAVEN_MIRROR_ID,则 id 将随机生成,但无法在 MAVEN_MIRROR_OF 中使用。 |
| |
| Maven 存储库或服务的完全限定 URL。 |
| |
| 用于访问 Maven 存储库的用户名(如果需要)。 |
| |
| 如果需要,用于访问 Maven 存储库的密码。 |
| |
| 禁用管理 api,也不允许 KIE 容器部署/未部署或启动/停止。将属性 org.kie.server.mgmt.api.disabled 设为 true,将 org.kie.server.startup.strategy 设置为 LocalContainersStartupStrategy。 |
| |
| — | OpenShiftStartupStrategy | |
| 应用用来解析数据源的数据库 JNDI 名称,如 java:/jboss/datasources/ExampleDS。 |
| |
| Hibernate 持久性架构. |
| |
| KIE 服务器外部数据库 Hibernate 定位. |
| |
| — |
| |
| KIE 服务器外部数据库名称.如果设置了 KIE_SERVER_EXTERNALDB_URL,则留空。 |
| |
| 设置数据源服务主机。如果要使用预定义的 mysql 或 postgresql 数据源属性,请使用此选项。如果设置了 KIE_SERVER_EXTERNALDB_URL 参数,请留空。 |
| |
| 设置数据源服务端口。如果要使用预定义的 mysql 或 postgresql 数据源属性,请使用此选项。如果设置了 KIE_SERVER_EXTERNALDB_URL 参数,请留空。 |
| |
| 应用用来解析数据源的数据库 JNDI 名称,如 java:/jboss/datasources/ExampleDS。 |
| |
| 预定义的驱动程序名称,可用值为 mysql、postgresql 或外部驱动程序的首选名称。 |
| |
| KIE 服务器外部数据库用户名。 |
| |
| KIE 服务器外部数据库密码。 |
| |
| 设置数据源类型。它可以是 XA 或 NONXA。对于非 XA,则将其设置为 true。默认值为 true。 |
| |
| 设置数据源 jdbc 连接 url。请注意,如果您使用 PostgreSQL 没有使用此字段,请使用 SERVICE_HOST 和 PORT。如果使用 SERVICE_PORT 和 HOST,则不需要填写此参数。 |
| |
| 设置数据源 jdbc 连接 url。请注意,如果您使用 PostgreSQL 没有使用此字段,请使用 SERVICE_HOST 和 PORT。如果使用 SERVICE_PORT 和 HOST,则不需要填写此参数。 |
| |
| 为配置的数据源设置 xa-pool/min-pool-size。 |
| |
| 为配置的数据源设置 xa-pool/max-pool-size。 |
| |
| org.jboss.jca.adapters.jdbc.ValidConnectionChecker,提供 SQLException isValidConnection (Connection e)方法来验证连接是否有效。 |
| |
| 一个 org.jboss.jca.adapters.jdbc.ExceptionSorter,它提供布尔值 isExceptionFatal (SQLException e)方法来验证是否应将异常广播到所有 javax.resource.spi.ConnectionEventListener 作为 connectionErrorOccurred。 |
| |
| 如果设为 false,则将 sql 验证方法设置为 background-validation,则会使用 validate-on-match 方法。 |
| |
| 定义 jdbc 连接的 background-validation 检查间隔。 |
| |
| KIE 服务器外部数据库驱动程序类型,仅适用于 DB2,可能的值是 4 (默认)或 2。 |
| |
| — | true | |
| 为 EJB 计时器数据库 data-store 服务设置 refresh-interval。 |
| |
| — |
| |
| 机密中的密钥存储文件的名称。 |
| |
| 与服务器证书关联的名称。 |
| |
| 密钥存储和证书的密码。 |
| |
| — | kubernetes.KUBE_PING | |
| — | — | |
| — | cluster=jgrp.k8s.${APPLICATION_NAME}.kieserver | |
| RH-SSO URL。 |
| |
| — | ROOT.war | |
| RH-SSO Realm 名称。 |
| |
| KIE 服务器 RH-SSO 客户端机密. |
| |
| KIE Server RH-SSO 客户端名称。 |
| |
| 用于创建客户端的 RH-SSO Realm admin 用户名(如果不存在)。 |
| |
| 用于创建客户端的 RH-SSO Realm 管理员密码。 |
| |
| RH-SSO 禁用 SSL 证书验证. |
| |
| RH-SSO Principal Attribute,用作用户名。 |
| |
| http 服务路由的自定义主机名。默认主机名留空,例如: insecure-<application-name>-kieserver-<project>.<default-domain-suffix> |
| |
| https 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-kieserver-<project>.<default-domain-suffix> |
| |
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 |
| |
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 |
| |
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 |
| |
| 用于身份验证的绑定 DN。 |
| |
| 用于身份验证的 LDAP 凭据。 |
| |
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 |
| |
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 |
| |
| 指明用户查询是否递归。 |
| |
| 用户或角色搜索的超时时间(毫秒)。 |
| |
| 包含用户角色的属性名称。 |
| |
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 |
| |
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 |
| |
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 |
| |
| 包含所有经过身份验证的用户的角色。 |
| |
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' |
| |
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' |
| |
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 |
| |
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 |
| |
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 |
|
15.7.2.4.3.7. 卷
Deployment | 名称 | mountPath | 用途 | readOnly |
---|---|---|---|---|
| kieserver-keystore-volume |
| SSL 证书 | true |
15.7.2.5. 外部依赖项
15.7.2.5.1. Secrets
此模板需要安装下列机密,以便应用运行:
- kieserver-app-secret
15.8. rhpam712-kieserver-mysql.yaml template
带有 MySQL 数据库的受管 KIE 服务器的应用程序模板,适用于 Red Hat Process Automation Manager 7.12 - 已弃用
15.8.1. 参数
模板允许您定义接受值的参数。然后,该值会在引用参数的位置替换。可在对象列表字段中的任意文本字段中定义引用。如需更多信息,请参阅 Openshift 文档。
变量名称 | 镜像环境变量 | 描述 | 示例值 | 必填 |
---|---|---|---|---|
| — | 应用程序的名称。 | myapp | true |
|
| KIE 服务器必须使用的 Maven 镜像。如果配置镜像,此镜像必须包含部署服务所需的所有工件。 | — | False |
|
| KIE 服务器的 Maven 镜像配置. | 外部:* | False |
|
| 用于 maven 存储库的 id。如果设置,可以通过将其添加到 MAVEN_MIRROR_OF 来从可选配置的镜像中排除。例如: external:*,!repo-rhpamcentr,!repo-custom。如果设置了 MAVEN_MIRROR_URL,但没有设置 MAVEN_MIRROR_ID,则 id 将随机生成,但无法在 MAVEN_MIRROR_OF 中使用。 | repo-custom | False |
|
| Maven 存储库或服务的完全限定 URL。 | http://nexus.nexus-project.svc.cluster.local:8081/nexus/content/groups/public/ | False |
|
| 用于访问 Maven 存储库的用户名(如果需要)。 | — | False |
|
| 如果需要,用于访问 Maven 存储库的密码。 | — | False |
|
| 可选的 Business Central 的服务名称(如果需要的话),以允许服务查找(如 maven repo usage)。 | myapp-rhpamcentr | False |
| — | 包含 KIE_ADMIN_USER 和 KIE_ADMIN_PWD 值的 secret | rhpam-credentials | true |
| — | 安装 Red Hat Process Automation Manager 镜像的 ImageStreams 的命名空间。这些 ImageStreams 通常安装在 openshift 命名空间中。只有在不同的命名空间/项目中安装 ImageStream 时,才需要修改此参数。默认为 "openshift"。 | openshift | true |
| — | 用于 KIE 服务器的镜像流的名称。默认为 "rhpam-kieserver-rhel8"。 | rhpam-kieserver-rhel8 | true |
| — | 指向镜像流中镜像的命名指针。默认为 "7.12.0"。 | 7.12.0 | true |
|
| KIE 服务器持久性数据源.(设置 org.kie.server.persistence.ds 系统属性) | java:/jboss/datasources/rhpam | False |
| — | 安装 MySQL 镜像的 ImageStream 的命名空间。ImageStream 已安装在 openshift 命名空间中。只有在不同的命名空间/项目中安装 ImageStream 时,才需要修改此参数。默认为 "openshift"。 | openshift | False |
| — | MySQL 镜像版本,旨在与 MySQL 版本对应。默认为 "8.0"。 | 8.0 | False |
|
| KIE Server MySQL 数据库用户名. | rhpam | False |
|
| KIE Server MySQL 数据库密码. | — | False |
|
| KIE 服务器 MySQL 数据库名称. | rhpam7 | False |
| — | 数据库卷的持久性存储大小。 | 1Gi | true |
|
| KIE Server MySQL Hibernate 定位. | org.hibernate.dialect.MySQL8Dialect | true |
|
| KIE 服务器模式.有效值为 'DEVELOPMENT' 或 'PRODUCTION'。在生产模式中,您无法在 KIE 服务器上部署 SNAPSHOT 工件版本,且无法更改现有容器中的工件版本。(设置 org.kie.server.mode 系统属性)。 |
| False |
|
| KIE Server 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 |
|
| https 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-kieserver-<project>.<default-domain-suffix> | — | False |
| — | 包含密钥存储文件的 secret 名称。 | kieserver-app-secret | true |
|
| 机密中的密钥存储文件的名称。 | keystore.jks | False |
|
| 与服务器证书关联的名称。 | jboss | False |
|
| 密钥存储和证书的密码。 | mykeystorepass | False |
|
| 允许 KIE 服务器绕过经过身份验证的用户获取与任务相关的操作,例如查询。(设置 org.kie.server.bypass.auth.user 系统属性) | false | False |
|
| 为 EJB 计时器数据库 data-store 服务设置 refresh-interval。 | 30000 | False |
| — | KIE 服务器容器内存限值。 | 2Gi | true |
| — | KIE 服务器容器内存请求. | 1536Mi | true |
| — | KIE 服务器容器 CPU 限制。 | 1 | true |
| — | KIE 服务器容器 CPU 请求. | 750m | true |
|
| 带有可选别名的 KIE 服务器容器部署配置。Format: containerId=groupId:artifactId:version|c2(alias2)=g2:a2:v2 | rhpam-kieserver-library=org.openshift.quickstarts:rhpam-kieserver-library:1.6.0-SNAPSHOT | False |
|
| 禁用管理 api,也不允许 KIE 容器部署/未部署或启动/停止,将属性 org.kie.server.mgmt.api.disabled 设置为 true,org.kie.server.startup.strategy 到 LocalContainersStartupStrategy。 | true | False |
|
| RH-SSO URL。 | https://rh-sso.example.com/auth | False |
|
| RH-SSO Realm 名称。 | — | False |
|
| KIE Server 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 Principal Attribute,用作用户名。 | preferred_username | False |
|
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 | ldap://myldap.example.com:389 | False |
|
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 | optional | False |
|
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 | true | False |
|
| 用于身份验证的绑定 DN。 | uid=admin,ou=users,ou=example,ou=com | False |
|
| 用于身份验证的 LDAP 凭据。 | 密码 | False |
|
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 | ou=users,ou=example,ou=com | False |
|
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 | (uid={0}) | False |
|
| 指明用户查询是否递归。 | true | False |
|
| 用户或角色搜索的超时时间(毫秒)。 | 10000 | False |
|
| 包含用户角色的属性名称。 | memberOf | False |
|
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 | ou=groups,ou=example,ou=com | False |
|
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 | (memberOf={1}) | False |
|
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 | 1 | False |
|
| 包含所有经过身份验证的用户的角色。 | user | False |
|
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' | sn=BlankSurname;cn=BlankCommonName | False |
|
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' | — | False |
|
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 | role=role1,role3,role4;role7=role,admin | False |
|
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 | — | False |
|
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 | — | False |
15.8.2. 对象(object)
CLI 支持各种对象类型。Openshift 文档 可以找到这些对象类型及其缩写的列表。
15.8.2.1. 服务
服务是一个抽象,用于定义一组逻辑的 pod 以及用于访问它们的策略。如需更多信息,请参阅 container-engine 文档。
服务 | 端口 | 名称 | 描述 |
---|---|---|---|
| 8080 | http | 所有 KIE 服务器 Web 服务器的端口。 |
8443 | https | ||
| 3306 | — | 数据库服务器的端口。 |
15.8.2.2. Routes
路由是通过为服务提供一个外部可访问主机名(如 www.example.com
)来公开服务的方法。定义的路由和由服务标识的端点可由路由器使用,从而从外部客户端向应用程序提供命名连接。每个路由都由路由名称、服务选择器和(可选)安全配置组成。如需更多信息,请参阅 Openshift 文档。
服务 | 安全性 | Hostname |
---|---|---|
insecure-${APPLICATION_NAME}-kieserver-http | none |
|
| TLS 透传 |
|
15.8.2.3. 部署配置
OpenShift 中的部署是基于名为部署配置的用户定义的模板的复制控制器。部署是手动创建的,或响应触发的事件。如需更多信息,请参阅 Openshift 文档。
15.8.2.3.1. 触发器
触发器驱动创建新部署以响应 OpenShift 内部和外部的事件。如需更多信息,请参阅 Openshift 文档。
Deployment | 触发器 |
---|---|
| ImageChange |
| ImageChange |
15.8.2.3.2. Replicas
复制控制器确保任意一个时间运行指定数量的 pod "replicas"。如果数量太多,复制控制器会终止一些 pod。如果数量太少,它会启动更多。如需更多信息,请参阅 container-engine 文档。
Deployment | Replicas |
---|---|
| 1 |
| 1 |
15.8.2.3.3. Pod 模板
15.8.2.3.3.1. 服务帐户
服务帐户是各个项目中存在的 API 对象。它们可以像任何其他 API 对象一样创建或删除。如需更多信息,请参阅 Openshift 文档。
Deployment | 服务帐户 |
---|---|
|
|
15.8.2.3.3.2. 镜像
Deployment | 镜像 |
---|---|
|
|
| mysql |
15.8.2.3.3.3. 就绪度(Readiness)探测
${APPLICATION_NAME}-kieserver
Http Get on http://localhost:8080/services/rest/server/readycheck
${APPLICATION_NAME}-mysql
/bin/sh -i -c MYSQL_PWD="$MYSQL_PASSWORD" mysql -h 127.0.0.1 -u $MYSQL_USER -D $MYSQL_DATABASE -e 'SELECT 1'
15.8.2.3.3.4. 存活度(Liveness)探测
${APPLICATION_NAME}-kieserver
Http Get on http://localhost:8080/services/rest/server/healthcheck
${APPLICATION_NAME}-mysql
tcpSocket on port 3306
15.8.2.3.3.5. 公开端口
Deployments | 名称 | 端口 | 协议 |
---|---|---|---|
| Jolokia | 8778 |
|
http | 8080 |
| |
https | 8443 |
| |
| — | 3306 |
|
15.8.2.3.3.6. 镜像环境变量
Deployment | 变量名称 | 描述 | 示例值 |
---|---|---|---|
|
| 可选的 Business Central 的服务名称(如果需要的话),以允许服务查找(如 maven repo usage)。 |
|
| admin 用户名 | 根据凭证 secret 设置 | |
| admin 用户密码 | 根据凭证 secret 设置 | |
| KIE 服务器模式.有效值为 'DEVELOPMENT' 或 'PRODUCTION'。在生产模式中,您无法在 KIE 服务器上部署 SNAPSHOT 工件版本,且无法更改现有容器中的工件版本。(设置 org.kie.server.mode 系统属性)。 |
| |
| KIE Server mbeans 启用/禁用.(设置 kie.mbeans 和 kie.scanner.mbeans 系统属性) |
| |
| KIE 服务器类过滤.(设置 org.drools.server.filter.classes 系统属性) |
| |
| 如果设置为 false,则启用 prometheus 服务器扩展。(设置 org.kie.prometheus.server.ext.disabled 系统属性) |
| |
| 允许 KIE 服务器绕过经过身份验证的用户获取与任务相关的操作,例如查询。(设置 org.kie.server.bypass.auth.user 系统属性) |
| |
| — | — | |
| — |
| |
| 带有可选别名的 KIE 服务器容器部署配置。Format: containerId=groupId:artifactId:version|c2(alias2)=g2:a2:v2 |
| |
| KIE 服务器必须使用的 Maven 镜像。如果配置镜像,此镜像必须包含部署服务所需的所有工件。 |
| |
| KIE 服务器的 Maven 镜像配置. |
| |
| — | RHPAMCENTR,EXTERNAL | |
| — | repo-rhpamcentr | |
| 可选的 Business Central 的服务名称(如果需要的话),以允许服务查找(如 maven repo usage)。 |
| |
| — |
| |
| — | 根据凭证 secret 设置 | |
| — | 根据凭证 secret 设置 | |
| 用于 maven 存储库的 id。如果设置,可以通过将其添加到 MAVEN_MIRROR_OF 来从可选配置的镜像中排除。例如: external:*,!repo-rhpamcentr,!repo-custom。如果设置了 MAVEN_MIRROR_URL,但没有设置 MAVEN_MIRROR_ID,则 id 将随机生成,但无法在 MAVEN_MIRROR_OF 中使用。 |
| |
| Maven 存储库或服务的完全限定 URL。 |
| |
| 用于访问 Maven 存储库的用户名(如果需要)。 |
| |
| 如果需要,用于访问 Maven 存储库的密码。 |
| |
| 禁用管理 api,也不允许 KIE 容器部署/未部署或启动/停止,将属性 org.kie.server.mgmt.api.disabled 设置为 true,org.kie.server.startup.strategy 到 LocalContainersStartupStrategy。 |
| |
| — | OpenShiftStartupStrategy | |
| KIE 服务器持久性数据源.(设置 org.kie.server.persistence.ds 系统属性) |
| |
| — |
| |
| KIE 服务器持久性数据源.(设置 org.kie.server.persistence.ds 系统属性) |
| |
| — | org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker | |
| — | org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter | |
| KIE 服务器 MySQL 数据库名称. |
| |
| — | mariadb | |
| KIE Server MySQL Hibernate 定位. |
| |
| KIE Server MySQL 数据库用户名. |
| |
| KIE Server MySQL 数据库密码. |
| |
| — |
| |
| — | 3306 | |
| — | true | |
| 为 EJB 计时器数据库 data-store 服务设置 refresh-interval。 |
| |
| — |
| |
| 机密中的密钥存储文件的名称。 |
| |
| 与服务器证书关联的名称。 |
| |
| 密钥存储和证书的密码。 |
| |
| — | kubernetes.KUBE_PING | |
| — | — | |
| — | cluster=jgrp.k8s.${APPLICATION_NAME}.kieserver | |
| RH-SSO URL。 |
| |
| — | ROOT.war | |
| RH-SSO Realm 名称。 |
| |
| KIE 服务器 RH-SSO 客户端机密. |
| |
| KIE Server RH-SSO 客户端名称。 |
| |
| 用于创建客户端的 RH-SSO Realm admin 用户名(如果不存在)。 |
| |
| 用于创建客户端的 RH-SSO Realm 管理员密码。 |
| |
| RH-SSO 禁用 SSL 证书验证. |
| |
| RH-SSO Principal Attribute,用作用户名。 |
| |
| http 服务路由的自定义主机名。默认主机名留空,例如: insecure-<application-name>-kieserver-<project>.<default-domain-suffix> |
| |
| https 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-kieserver-<project>.<default-domain-suffix> |
| |
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 |
| |
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 |
| |
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 |
| |
| 用于身份验证的绑定 DN。 |
| |
| 用于身份验证的 LDAP 凭据。 |
| |
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 |
| |
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 |
| |
| 指明用户查询是否递归。 |
| |
| 用户或角色搜索的超时时间(毫秒)。 |
| |
| 包含用户角色的属性名称。 |
| |
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 |
| |
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 |
| |
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 |
| |
| 包含所有经过身份验证的用户的角色。 |
| |
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' |
| |
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' |
| |
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 |
| |
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 |
| |
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 |
| |
|
| KIE Server MySQL 数据库用户名. |
|
| KIE Server MySQL 数据库密码. |
| |
| KIE 服务器 MySQL 数据库名称. |
| |
| — | mysql_native_password |
15.8.2.3.3.7. 卷
Deployment | 名称 | mountPath | 用途 | readOnly |
---|---|---|---|---|
| kieserver-keystore-volume |
| SSL 证书 | true |
|
|
| mysql | false |
15.8.2.4. 外部依赖项
15.8.2.4.1. 持久性卷声明
PersistentVolume
对象是 OpenShift 集群中的存储资源。通过从 GCE Persistent Disks、AWS Elastic Block Stores (EBS)和 NFS 挂载等源创建 PersistentVolume
对象来置备存储。如需更多信息,请参阅 Openshift 文档。
名称 | 访问模式 |
---|---|
| ReadWriteOnce |
15.8.2.4.2. Secrets
此模板需要安装下列机密,以便应用运行:
- kieserver-app-secret
15.9. rhpam712-kieserver-postgresql.yaml template
Red Hat Process Automation Manager 7.12 - 已弃用用于 Red Hat Process Automation Manager 7.12 的受管 KIE Server 的应用程序模板
15.9.1. 参数
模板允许您定义接受值的参数。然后,该值会在引用参数的位置替换。可在对象列表字段中的任意文本字段中定义引用。如需更多信息,请参阅 Openshift 文档。
变量名称 | 镜像环境变量 | 描述 | 示例值 | 必填 |
---|---|---|---|---|
| — | 应用程序的名称。 | myapp | true |
|
| KIE 服务器必须使用的 Maven 镜像。如果配置镜像,此镜像必须包含部署服务所需的所有工件。 | — | False |
|
| KIE 服务器的 Maven 镜像配置. | 外部:* | False |
|
| 用于 maven 存储库的 id。如果设置,可以通过将其添加到 MAVEN_MIRROR_OF 来从可选配置的镜像中排除。例如: external:*,!repo-rhpamcentr,!repo-custom。如果设置了 MAVEN_MIRROR_URL,但没有设置 MAVEN_MIRROR_ID,则 id 将随机生成,但无法在 MAVEN_MIRROR_OF 中使用。 | repo-custom | False |
|
| Maven 存储库或服务的完全限定 URL。 | http://nexus.nexus-project.svc.cluster.local:8081/nexus/content/groups/public/ | False |
|
| 用于访问 Maven 存储库的用户名(如果需要)。 | — | False |
|
| 如果需要,用于访问 Maven 存储库的密码。 | — | False |
|
| 可选的 Business Central 的服务名称(如果需要的话),以允许服务查找(如 maven repo usage)。 | myapp-rhpamcentr | False |
| — | 包含 KIE_ADMIN_USER 和 KIE_ADMIN_PWD 值的 secret | rhpam-credentials | true |
| — | 安装 Red Hat Process Automation Manager 镜像的 ImageStreams 的命名空间。这些 ImageStreams 通常安装在 openshift 命名空间中。只有在不同的命名空间/项目中安装 ImageStream 时,才需要修改此参数。默认为 "openshift"。 | openshift | true |
| — | 用于 KIE 服务器的镜像流的名称。默认为 "rhpam-kieserver-rhel8"。 | rhpam-kieserver-rhel8 | true |
| — | 指向镜像流中镜像的命名指针。默认为 "7.12.0"。 | 7.12.0 | true |
|
| KIE 服务器持久性数据源.(设置 org.kie.server.persistence.ds 系统属性) | java:/jboss/datasources/rhpam | False |
|
| KIE Server PostgreSQL 数据库用户名。 | rhpam | False |
|
| KIE Server PostgreSQL 数据库密码。 | — | False |
|
| KIE Server PostgreSQL 数据库名称。 | rhpam7 | False |
| — | 安装 PostgreSQL 镜像的 ImageStream 的命名空间。ImageStream 已安装在 openshift 命名空间中。只有在不同的命名空间/项目中安装 ImageStream 时,才需要修改此参数。默认为 "openshift"。 | openshift | False |
| — | PostgreSQL 镜像版本,用于与 PostgreSQL 版本对应。默认为 "10"。 | 10 | False |
|
| 允许 PostgreSQL 处理 XA 事务。 | 100 | true |
| — | 数据库卷的持久性存储大小。 | 1Gi | true |
|
| KIE Server PostgreSQL Hibernate 定位. | org.hibernate.dialect.PostgreSQLDialect | true |
|
| KIE 服务器模式.有效值为 'DEVELOPMENT' 或 'PRODUCTION'。在生产模式中,您无法在 KIE 服务器上部署 SNAPSHOT 工件版本,且无法更改现有容器中的工件版本。(设置 org.kie.server.mode 系统属性)。 |
| False |
|
| KIE Server 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 |
|
| https 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-kieserver-<project>.<default-domain-suffix> | — | False |
| — | 包含密钥存储文件的 secret 名称。 | kieserver-app-secret | true |
|
| 机密中的密钥存储文件的名称。 | keystore.jks | False |
|
| 与服务器证书关联的名称。 | jboss | False |
|
| 密钥存储和证书的密码。 | mykeystorepass | False |
|
| 允许 KIE 服务器绕过经过身份验证的用户获取与任务相关的操作,例如查询。(设置 org.kie.server.bypass.auth.user 系统属性) | false | False |
|
| 为 EJB 计时器数据库 data-store 服务设置 refresh-interval。 | 30000 | False |
| — | KIE 服务器容器内存限值。 | 2Gi | true |
| — | KIE 服务器容器内存请求. | 1536Mi | true |
| — | KIE 服务器容器 CPU 限制。 | 1 | true |
| — | KIE 服务器容器 CPU 请求. | 750m | true |
|
| 带有可选别名的 KIE 服务器容器部署配置。Format: containerId=groupId:artifactId:version|c2(alias2)=g2:a2:v2 | rhpam-kieserver-library=org.openshift.quickstarts:rhpam-kieserver-library:1.6.0-SNAPSHOT | False |
|
| 禁用管理 api,也不允许 KIE 容器部署/未部署或启动/停止,将属性 org.kie.server.mgmt.api.disabled 设置为 true,org.kie.server.startup.strategy 到 LocalContainersStartupStrategy。 | true | False |
|
| RH-SSO URL。 | https://rh-sso.example.com/auth | False |
|
| RH-SSO Realm 名称。 | — | False |
|
| KIE Server 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 Principal Attribute,用作用户名。 | preferred_username | False |
|
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 | ldap://myldap.example.com:389 | False |
|
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 | optional | False |
|
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 | true | False |
|
| 用于身份验证的绑定 DN。 | uid=admin,ou=users,ou=example,ou=com | False |
|
| 用于身份验证的 LDAP 凭据。 | 密码 | False |
|
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 | ou=users,ou=example,ou=com | False |
|
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 | (uid={0}) | False |
|
| 指明用户查询是否递归。 | true | False |
|
| 用户或角色搜索的超时时间(毫秒)。 | 10000 | False |
|
| 包含用户角色的属性名称。 | memberOf | False |
|
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 | ou=groups,ou=example,ou=com | False |
|
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 | (memberOf={1}) | False |
|
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 | 1 | False |
|
| 包含所有经过身份验证的用户的角色 | user | False |
|
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' | sn=BlankSurname;cn=BlankCommonName | False |
|
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' | — | False |
|
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 | role=role1,role3,role4;role7=role,admin | False |
|
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 | — | False |
|
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 | — | False |
15.9.2. 对象(object)
CLI 支持各种对象类型。Openshift 文档 可以找到这些对象类型及其缩写的列表。
15.9.2.1. 服务
服务是一个抽象,用于定义一组逻辑的 pod 以及用于访问它们的策略。如需更多信息,请参阅 container-engine 文档。
服务 | 端口 | 名称 | 描述 |
---|---|---|---|
| 8080 | http | 所有 KIE 服务器 Web 服务器的端口。 |
8443 | https | ||
| 5432 | — | 数据库服务器的端口。 |
15.9.2.2. Routes
路由是通过为服务提供一个外部可访问主机名(如 www.example.com
)来公开服务的方法。定义的路由和由服务标识的端点可由路由器使用,从而从外部客户端向应用程序提供命名连接。每个路由都由路由名称、服务选择器和(可选)安全配置组成。如需更多信息,请参阅 Openshift 文档。
服务 | 安全性 | Hostname |
---|---|---|
insecure-${APPLICATION_NAME}-kieserver-http | none |
|
| TLS 透传 |
|
15.9.2.3. 部署配置
OpenShift 中的部署是基于名为部署配置的用户定义的模板的复制控制器。部署是手动创建的,或响应触发的事件。如需更多信息,请参阅 Openshift 文档。
15.9.2.3.1. 触发器
触发器驱动创建新部署以响应 OpenShift 内部和外部的事件。如需更多信息,请参阅 Openshift 文档。
Deployment | 触发器 |
---|---|
| ImageChange |
| ImageChange |
15.9.2.3.2. Replicas
复制控制器确保任意一个时间运行指定数量的 pod "replicas"。如果数量太多,复制控制器会终止一些 pod。如果数量太少,它会启动更多。如需更多信息,请参阅 container-engine 文档。
Deployment | Replicas |
---|---|
| 1 |
| 1 |
15.9.2.3.3. Pod 模板
15.9.2.3.3.1. 服务帐户
服务帐户是各个项目中存在的 API 对象。它们可以像任何其他 API 对象一样创建或删除。如需更多信息,请参阅 Openshift 文档。
Deployment | 服务帐户 |
---|---|
|
|
15.9.2.3.3.2. 镜像
Deployment | 镜像 |
---|---|
|
|
| postgresql |
15.9.2.3.3.3. 就绪度(Readiness)探测
${APPLICATION_NAME}-kieserver
Http Get on http://localhost:8080/services/rest/server/readycheck
${APPLICATION_NAME}-postgresql
/usr/libexec/check-container
15.9.2.3.3.4. 存活度(Liveness)探测
${APPLICATION_NAME}-kieserver
Http Get on http://localhost:8080/services/rest/server/healthcheck
${APPLICATION_NAME}-postgresql
/usr/libexec/check-container --live
15.9.2.3.3.5. 公开端口
Deployments | 名称 | 端口 | 协议 |
---|---|---|---|
| Jolokia | 8778 |
|
http | 8080 |
| |
https | 8443 |
| |
| — | 5432 |
|
15.9.2.3.3.6. 镜像环境变量
Deployment | 变量名称 | 描述 | 示例值 |
---|---|---|---|
|
| 可选的 Business Central 的服务名称(如果需要的话),以允许服务查找(如 maven repo usage)。 |
|
| admin 用户名 | 根据凭证 secret 设置 | |
| admin 用户密码 | 根据凭证 secret 设置 | |
| KIE 服务器模式.有效值为 'DEVELOPMENT' 或 'PRODUCTION'。在生产模式中,您无法在 KIE 服务器上部署 SNAPSHOT 工件版本,且无法更改现有容器中的工件版本。(设置 org.kie.server.mode 系统属性)。 |
| |
| KIE Server mbeans 启用/禁用.(设置 kie.mbeans 和 kie.scanner.mbeans 系统属性) |
| |
| KIE 服务器类过滤.(设置 org.drools.server.filter.classes 系统属性) |
| |
| 如果设置为 false,则启用 prometheus 服务器扩展。(设置 org.kie.prometheus.server.ext.disabled 系统属性) |
| |
| 允许 KIE 服务器绕过经过身份验证的用户获取与任务相关的操作,例如查询。(设置 org.kie.server.bypass.auth.user 系统属性) |
| |
| — | — | |
| — |
| |
| 带有可选别名的 KIE 服务器容器部署配置。Format: containerId=groupId:artifactId:version|c2(alias2)=g2:a2:v2 |
| |
| KIE 服务器必须使用的 Maven 镜像。如果配置镜像,此镜像必须包含部署服务所需的所有工件。 |
| |
| KIE 服务器的 Maven 镜像配置. |
| |
| — | RHPAMCENTR,EXTERNAL | |
| — | repo-rhpamcentr | |
| 可选的 Business Central 的服务名称(如果需要的话),以允许服务查找(如 maven repo usage)。 |
| |
| — |
| |
| — | 根据凭证 secret 设置 | |
| — | 根据凭证 secret 设置 | |
| 用于 maven 存储库的 id。如果设置,可以通过将其添加到 MAVEN_MIRROR_OF 来从可选配置的镜像中排除。例如: external:*,!repo-rhpamcentr,!repo-custom。如果设置了 MAVEN_MIRROR_URL,但没有设置 MAVEN_MIRROR_ID,则 id 将随机生成,但无法在 MAVEN_MIRROR_OF 中使用。 |
| |
| Maven 存储库或服务的完全限定 URL。 |
| |
| 用于访问 Maven 存储库的用户名(如果需要)。 |
| |
| 如果需要,用于访问 Maven 存储库的密码。 |
| |
| 禁用管理 api,也不允许 KIE 容器部署/未部署或启动/停止,将属性 org.kie.server.mgmt.api.disabled 设置为 true,org.kie.server.startup.strategy 到 LocalContainersStartupStrategy。 |
| |
| — | OpenShiftStartupStrategy | |
| KIE 服务器持久性数据源.(设置 org.kie.server.persistence.ds 系统属性) |
| |
| — |
| |
| KIE Server PostgreSQL 数据库名称。 |
| |
| — | postgresql | |
| KIE Server PostgreSQL 数据库用户名。 |
| |
| KIE Server PostgreSQL 数据库密码。 |
| |
| — |
| |
| — | 5432 | |
| KIE Server PostgreSQL Hibernate 定位. |
| |
| — | true | |
| KIE 服务器持久性数据源.(设置 org.kie.server.persistence.ds 系统属性) |
| |
| — | org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidConnectionChecker | |
| — | org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLExceptionSorter | |
| 为 EJB 计时器数据库 data-store 服务设置 refresh-interval。 |
| |
| — |
| |
| 机密中的密钥存储文件的名称。 |
| |
| 与服务器证书关联的名称。 |
| |
| 密钥存储和证书的密码。 |
| |
| — | kubernetes.KUBE_PING | |
| — | — | |
| — | cluster=jgrp.k8s.${APPLICATION_NAME}.kieserver | |
| RH-SSO URL。 |
| |
| — | ROOT.war | |
| RH-SSO Realm 名称。 |
| |
| KIE 服务器 RH-SSO 客户端机密. |
| |
| KIE Server RH-SSO 客户端名称。 |
| |
| 用于创建客户端的 RH-SSO Realm admin 用户名(如果不存在)。 |
| |
| 用于创建客户端的 RH-SSO Realm 管理员密码。 |
| |
| RH-SSO 禁用 SSL 证书验证. |
| |
| RH-SSO Principal Attribute,用作用户名。 |
| |
| http 服务路由的自定义主机名。默认主机名留空,例如: insecure-<application-name>-kieserver-<project>.<default-domain-suffix> |
| |
| https 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-kieserver-<project>.<default-domain-suffix> |
| |
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 |
| |
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 |
| |
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 |
| |
| 用于身份验证的绑定 DN。 |
| |
| 用于身份验证的 LDAP 凭据。 |
| |
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 |
| |
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 |
| |
| 指明用户查询是否递归。 |
| |
| 用户或角色搜索的超时时间(毫秒)。 |
| |
| 包含用户角色的属性名称。 |
| |
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 |
| |
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 |
| |
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 |
| |
| 包含所有经过身份验证的用户的角色 |
| |
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' |
| |
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' |
| |
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 |
| |
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 |
| |
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 |
| |
|
| KIE Server PostgreSQL 数据库用户名。 |
|
| KIE Server PostgreSQL 数据库密码。 |
| |
| KIE Server PostgreSQL 数据库名称。 |
| |
| 允许 PostgreSQL 处理 XA 事务。 |
|
15.9.2.3.3.7. 卷
Deployment | 名称 | mountPath | 用途 | readOnly |
---|---|---|---|---|
| kieserver-keystore-volume |
| SSL 证书 | true |
|
|
| postgresql | false |
15.9.2.4. 外部依赖项
15.9.2.4.1. 持久性卷声明
PersistentVolume
对象是 OpenShift 集群中的存储资源。通过从 GCE Persistent Disks、AWS Elastic Block Stores (EBS)和 NFS 挂载等源创建 PersistentVolume
对象来置备存储。如需更多信息,请参阅 Openshift 文档。
名称 | 访问模式 |
---|---|
| ReadWriteOnce |
15.9.2.4.2. Secrets
此模板需要安装下列机密,以便应用运行:
- kieserver-app-secret
15.10. rhpam712-managed.yaml template
Red Hat Process Automation Manager 7.12 的受管 HA 生产环境的应用程序模板 - 已弃用
15.10.1. 参数
模板允许您定义接受值的参数。然后,该值会在引用参数的位置替换。可在对象列表字段中的任意文本字段中定义引用。如需更多信息,请参阅 Openshift 文档。
变量名称 | 镜像环境变量 | 描述 | 示例值 | 必填 |
---|---|---|---|---|
| — | 应用程序的名称。 | myapp | true |
|
| KIE 服务器必须使用的 Maven 镜像。如果配置镜像,此镜像必须包含部署服务所需的所有工件。 | — | False |
|
| KIE 服务器的 Maven 镜像配置. | 外部:* | False |
|
| 用于 maven 存储库的 id。如果设置,可以通过将其添加到 MAVEN_MIRROR_OF 来从可选配置的镜像中排除。例如: external:*,!repo-rhpamcentr,!repo-custom。如果设置了 MAVEN_MIRROR_URL,但没有设置 MAVEN_MIRROR_ID,则 id 将随机生成,但无法在 MAVEN_MIRROR_OF 中使用。 | repo-custom | False |
|
| Maven 存储库或服务的完全限定 URL。 | http://nexus.nexus-project.svc.cluster.local:8081/nexus/content/groups/public/ | true |
|
| 用于访问 Maven 存储库的用户名(如果需要)。 | — | False |
|
| 如果需要,用于访问 Maven 存储库的密码。 | — | False |
|
| 可选的 Business Central 的服务名称(如果需要的话),以允许服务查找(如 maven repo usage)。 | myapp-rhpamcentrmon | False |
| — | 包含 KIE_ADMIN_USER 和 KIE_ADMIN_PWD 值的 secret | rhpam-credentials | true |
|
| 如果设置为 true,请打开 KIE Server 全局发现功能(设置 org.kie.server.controller.openshift.global.discovery.enabled 系统属性) | false | False |
|
| 如果开启了 Business Central 的 OpenShift 集成,则将此参数设置为 true 可让通过 OpenShift 内部服务端点连接到 KIE Server。(设置 org.kie.server.controller.openshift.prefer.kieserver.service 系统属性) | true | False |
|
| KIE ServerTemplate Cache TTL (以毫秒为单位)。(设置 org.kie.server.controller.template.cache.ttl 系统属性) | 5000 | False |
| — | 安装 Red Hat Process Automation Manager 镜像的 ImageStreams 的命名空间。这些 ImageStreams 通常安装在 openshift 命名空间中。只有在不同的命名空间/项目中安装 ImageStream 时,才需要修改此参数。默认为 "openshift"。 | openshift | true |
| — | 用于 KIE 服务器的镜像流的名称。默认为 "rhpam-kieserver-rhel8"。 | rhpam-kieserver-rhel8 | true |
| — | 指向镜像流中镜像的命名指针。默认为 "7.12.0"。 | 7.12.0 | true |
|
| KIE 服务器控制器令牌,用于 bearer 身份验证。(设置 org.kie.server.controller.token 系统属性) | — | False |
|
| KIE 服务器持久性数据源.(设置 org.kie.server.persistence.ds 系统属性) | java:/jboss/datasources/rhpam | False |
| — | 安装 PostgreSQL 镜像的 ImageStream 的命名空间。ImageStream 已安装在 openshift 命名空间中。只有在不同的命名空间/项目中安装 ImageStream 时,才需要修改此参数。默认为 "openshift"。 | openshift | False |
| — | PostgreSQL 镜像版本,用于与 PostgreSQL 版本对应。默认为 "10"。 | 10 | False |
|
| KIE Server PostgreSQL 数据库用户名。 | rhpam | False |
|
| KIE Server PostgreSQL 数据库密码。 | — | False |
|
| KIE Server PostgreSQL 数据库名称。 | rhpam7 | False |
|
| 允许 PostgreSQL 处理 XA 事务。 | 100 | true |
| — | 数据库卷的持久性存储大小。 | 1Gi | true |
|
| KIE Server PostgreSQL Hibernate 定位. | org.hibernate.dialect.PostgreSQLDialect | true |
|
| KIE 服务器模式.有效值为 'DEVELOPMENT' 或 'PRODUCTION'。在生产模式中,您无法在 KIE 服务器上部署 SNAPSHOT 工件版本,且无法更改现有容器中的工件版本。(设置 org.kie.server.mode 系统属性)。 |
| False |
|
| KIE Server mbeans enabled/disabled (设置 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>-rhpamcentrmon-<project>.<default-domain-suffix> | — | False |
|
| https 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-rhpamcentrmon-<project>.<default-domain-suffix> | — | False |
|
| http 服务路由的自定义主机名。默认主机名留空,例如: insecure-<application-name>-kieserver-<project>.<default-domain-suffix> | — | False |
|
| https 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-kieserver-<project>.<default-domain-suffix> | — | False |
| — | 包含 Business Central 的密钥存储文件的 secret 名称。 | businesscentral-app-secret | true |
|
| 机密中的密钥存储文件的名称。 | keystore.jks | False |
|
| 与服务器证书关联的名称。 | jboss | False |
|
| 密钥存储和证书的密码。 | mykeystorepass | False |
| — | 包含 KIE Server 的密钥存储文件的 secret 名称。 | kieserver-app-secret | true |
|
| 机密中的密钥存储文件的名称。 | keystore.jks | False |
|
| 与服务器证书关联的名称。 | jboss | False |
|
| 密钥存储和证书的密码。 | mykeystorepass | False |
|
| 允许 KIE 服务器绕过经过身份验证的用户获取与任务相关的操作,例如查询。(设置 org.kie.server.bypass.auth.user 系统属性) | false | False |
|
| 为 EJB 计时器服务 database-data-store 设置 refresh-interval。 | 30000 | False |
| — | Business Central 监控容器内存限值。 | 2Gi | true |
| — | Business Central 监控容器内存请求. | 1536Mi | true |
| — | Business Central 监控容器 CPU 限制。 | 1 | true |
| — | Business Central 监控容器 CPU 请求. | 750m | true |
| — | KIE 服务器容器内存限值。 | 2Gi | true |
| — | KIE 服务器容器内存请求. | 1536Mi | true |
| — | KIE 服务器容器 CPU 限制。 | 1 | true |
| — | KIE 服务器容器 CPU 请求. | 750m | true |
| — | Business Central 监控容器副本将定义将启动 Business Central Monitoring 容器的数量。 | 3 | true |
| — | KIE 服务器容器副本,将定义将启动多少个 KIE Server 容器。 | 3 | true |
|
| 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 Server 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 Principal Attribute,用作用户名。 | preferred_username | False |
|
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 | ldap://myldap.example.com:389 | False |
|
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 | optional | False |
|
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 | true | False |
|
| 用于身份验证的绑定 DN。 | uid=admin,ou=users,ou=example,ou=com | False |
|
| 用于身份验证的 LDAP 凭据。 | 密码 | False |
|
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 | ou=users,ou=example,ou=com | False |
|
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 | (uid={0}) | False |
|
| 指明用户查询是否递归。 | true | False |
|
| 用户或角色搜索的超时时间(毫秒)。 | 10000 | False |
|
| 包含用户角色的属性名称。 | memberOf | False |
|
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 | ou=groups,ou=example,ou=com | False |
|
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 | (memberOf={1}) | False |
|
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 | 1 | False |
|
| 包含所有经过身份验证的用户的角色 | user | False |
|
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' | sn=BlankSurname;cn=BlankCommonName | False |
|
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' | — | False |
|
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 | role=role1,role3,role4;role7=role,admin | False |
|
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 | — | False |
|
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 | — | False |
15.10.2. 对象(object)
CLI 支持各种对象类型。Openshift 文档 可以找到这些对象类型及其缩写的列表。
15.10.2.1. 服务
服务是一个抽象,用于定义一组逻辑的 pod 以及用于访问它们的策略。如需更多信息,请参阅 container-engine 文档。
服务 | 端口 | 名称 | 描述 |
---|---|---|---|
| 8080 | http | 所有 Business Central 监控 Web 服务器的端口。 |
8443 | https | ||
| 8080 | http | 所有 KIE 服务器 Web 服务器的端口。(第一个 KIE 服务器) |
8443 | https | ||
| 5432 | — | 第一个数据库服务器的端口。 |
15.10.2.2. Routes
路由是通过为服务提供一个外部可访问主机名(如 www.example.com
)来公开服务的方法。定义的路由和由服务标识的端点可由路由器使用,从而从外部客户端向应用程序提供命名连接。每个路由都由路由名称、服务选择器和(可选)安全配置组成。如需更多信息,请参阅 Openshift 文档。
服务 | 安全性 | Hostname |
---|---|---|
insecure-${APPLICATION_NAME}-rhpamcentrmon-http | none |
|
| TLS 透传 |
|
insecure-${APPLICATION_NAME}-kieserver-http | none |
|
| TLS 透传 |
|
15.10.2.3. 部署配置
OpenShift 中的部署是基于名为部署配置的用户定义的模板的复制控制器。部署是手动创建的,或响应触发的事件。如需更多信息,请参阅 Openshift 文档。
15.10.2.3.1. 触发器
触发器驱动创建新部署以响应 OpenShift 内部和外部的事件。如需更多信息,请参阅 Openshift 文档。
Deployment | 触发器 |
---|---|
| ImageChange |
| ImageChange |
| ImageChange |
15.10.2.3.2. Replicas
复制控制器确保任意一个时间运行指定数量的 pod "replicas"。如果数量太多,复制控制器会终止一些 pod。如果数量太少,它会启动更多。如需更多信息,请参阅 container-engine 文档。
Deployment | Replicas |
---|---|
| 3 |
| 3 |
| 1 |
15.10.2.3.3. Pod 模板
15.10.2.3.3.1. 服务帐户
服务帐户是各个项目中存在的 API 对象。它们可以像任何其他 API 对象一样创建或删除。如需更多信息,请参阅 Openshift 文档。
Deployment | 服务帐户 |
---|---|
|
|
|
|
15.10.2.3.3.2. 镜像
Deployment | 镜像 |
---|---|
| rhpam-businesscentral-monitoring-rhel8 |
|
|
| postgresql |
15.10.2.3.3.3. 就绪度(Readiness)探测
${APPLICATION_NAME}-rhpamcentrmon
Http Get on http://localhost:8080/rest/ready
${APPLICATION_NAME}-kieserver
Http Get on http://localhost:8080/services/rest/server/readycheck
${APPLICATION_NAME}-postgresql
/usr/libexec/check-container
15.10.2.3.3.4. 存活度(Liveness)探测
${APPLICATION_NAME}-rhpamcentrmon
Http Get on http://localhost:8080/rest/healthy
${APPLICATION_NAME}-kieserver
Http Get on http://localhost:8080/services/rest/server/healthcheck
${APPLICATION_NAME}-postgresql
/usr/libexec/check-container --live
15.10.2.3.3.5. 公开端口
Deployments | 名称 | 端口 | 协议 |
---|---|---|---|
| Jolokia | 8778 |
|
http | 8080 |
| |
https | 8443 |
| |
| Jolokia | 8778 |
|
http | 8080 |
| |
https | 8443 |
| |
| — | 5432 |
|
15.10.2.3.3.6. 镜像环境变量
Deployment | 变量名称 | 描述 | 示例值 |
---|---|---|---|
|
| — |
|
| — |
| |
| admin 用户名 | 根据凭证 secret 设置 | |
| admin 用户密码 | 根据凭证 secret 设置 | |
| KIE 服务器必须使用的 Maven 镜像。如果配置镜像,此镜像必须包含部署服务所需的所有工件。 |
| |
| 用于 maven 存储库的 id。如果设置,可以通过将其添加到 MAVEN_MIRROR_OF 来从可选配置的镜像中排除。例如: external:*,!repo-rhpamcentr,!repo-custom。如果设置了 MAVEN_MIRROR_URL,但没有设置 MAVEN_MIRROR_ID,则 id 将随机生成,但无法在 MAVEN_MIRROR_OF 中使用。 |
| |
| Maven 存储库或服务的完全限定 URL。 |
| |
| 用于访问 Maven 存储库的用户名(如果需要)。 |
| |
| 如果需要,用于访问 Maven 存储库的密码。 |
| |
| — | true | |
| 如果设置为 true,请打开 KIE Server 全局发现功能(设置 org.kie.server.controller.openshift.global.discovery.enabled 系统属性) |
| |
| 如果开启了 Business Central 的 OpenShift 集成,则将此参数设置为 true 可让通过 OpenShift 内部服务端点连接到 KIE Server。(设置 org.kie.server.controller.openshift.prefer.kieserver.service 系统属性) |
| |
| KIE ServerTemplate Cache TTL (以毫秒为单位)。(设置 org.kie.server.controller.template.cache.ttl 系统属性) |
| |
| KIE 服务器控制器令牌,用于 bearer 身份验证。(设置 org.kie.server.controller.token 系统属性) |
| |
| — |
| |
| 机密中的密钥存储文件的名称。 |
| |
| 与服务器证书关联的名称。 |
| |
| 密钥存储和证书的密码。 |
| |
| — | kubernetes.KUBE_PING | |
| — | — | |
| — | cluster=jgrp.k8s.${APPLICATION_NAME}.rhpamcentrmon | |
| RH-SSO URL。 |
| |
| — | ROOT.war | |
| RH-SSO Realm 名称。 |
| |
| Business Central 监控 RH-SSO 客户端 Secret。 |
| |
| Business Central 监控 RH-SSO 客户端名称. |
| |
| 用于创建客户端的 RH-SSO Realm admin 用户名(如果不存在)。 |
| |
| 用于创建客户端的 RH-SSO Realm 管理员密码。 |
| |
| RH-SSO 禁用 SSL 证书验证. |
| |
| RH-SSO Principal Attribute,用作用户名。 |
| |
| http 服务路由的自定义主机名。默认主机名留空,例如: insecure-<application-name>-rhpamcentrmon-<project>.<default-domain-suffix> |
| |
| https 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-rhpamcentrmon-<project>.<default-domain-suffix> |
| |
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 |
| |
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 |
| |
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 |
| |
| 用于身份验证的绑定 DN。 |
| |
| 用于身份验证的 LDAP 凭据。 |
| |
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 |
| |
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 |
| |
| 指明用户查询是否递归。 |
| |
| 用户或角色搜索的超时时间(毫秒)。 |
| |
| 包含用户角色的属性名称。 |
| |
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 |
| |
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 |
| |
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 |
| |
| 包含所有经过身份验证的用户的角色 |
| |
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' |
| |
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' |
| |
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 |
| |
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 |
| |
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 |
| |
|
| — |
|
| admin 用户名 | 根据凭证 secret 设置 | |
| admin 用户密码 | 根据凭证 secret 设置 | |
| KIE 服务器模式.有效值为 'DEVELOPMENT' 或 'PRODUCTION'。在生产模式中,您无法在 KIE 服务器上部署 SNAPSHOT 工件版本,且无法更改现有容器中的工件版本。(设置 org.kie.server.mode 系统属性)。 |
| |
| KIE Server mbeans enabled/disabled (设置 kie.mbeans 和 kie.scanner.mbeans 系统属性) |
| |
| KIE 服务器类过滤.(设置 org.drools.server.filter.classes 系统属性) |
| |
| 如果设置为 false,则启用 prometheus 服务器扩展。(设置 org.kie.prometheus.server.ext.disabled 系统属性) |
| |
| 允许 KIE 服务器绕过经过身份验证的用户获取与任务相关的操作,例如查询。(设置 org.kie.server.bypass.auth.user 系统属性) |
| |
| — | — | |
| — |
| |
| — | OpenShiftStartupStrategy | |
| KIE 服务器必须使用的 Maven 镜像。如果配置镜像,此镜像必须包含部署服务所需的所有工件。 |
| |
| KIE 服务器的 Maven 镜像配置. |
| |
| — | RHPAMCENTR,EXTERNAL | |
| — | repo-rhpamcentr | |
| 可选的 Business Central 的服务名称(如果需要的话),以允许服务查找(如 maven repo usage)。 |
| |
| — |
| |
| — | 根据凭证 secret 设置 | |
| — | 根据凭证 secret 设置 | |
| 用于 maven 存储库的 id。如果设置,可以通过将其添加到 MAVEN_MIRROR_OF 来从可选配置的镜像中排除。例如: external:*,!repo-rhpamcentr,!repo-custom。如果设置了 MAVEN_MIRROR_URL,但没有设置 MAVEN_MIRROR_ID,则 id 将随机生成,但无法在 MAVEN_MIRROR_OF 中使用。 |
| |
| Maven 存储库或服务的完全限定 URL。 |
| |
| 用于访问 Maven 存储库的用户名(如果需要)。 |
| |
| 如果需要,用于访问 Maven 存储库的密码。 |
| |
| KIE 服务器持久性数据源.(设置 org.kie.server.persistence.ds 系统属性) |
| |
| — |
| |
| KIE 服务器持久性数据源.(设置 org.kie.server.persistence.ds 系统属性) |
| |
| — | true | |
| KIE Server PostgreSQL 数据库名称。 |
| |
| — | postgresql | |
| KIE Server PostgreSQL Hibernate 定位. |
| |
| KIE Server PostgreSQL 数据库用户名。 |
| |
| KIE Server PostgreSQL 数据库密码。 |
| |
| — |
| |
| — | 5432 | |
| 为 EJB 计时器服务 database-data-store 设置 refresh-interval。 |
| |
| — |
| |
| 机密中的密钥存储文件的名称。 |
| |
| 与服务器证书关联的名称。 |
| |
| 密钥存储和证书的密码。 |
| |
| — | kubernetes.KUBE_PING | |
| — | — | |
| — | cluster=jgrp.k8s.${APPLICATION_NAME}.kieserver | |
| RH-SSO URL。 |
| |
| — | ROOT.war | |
| RH-SSO Realm 名称。 |
| |
| KIE 服务器 RH-SSO 客户端机密. |
| |
| KIE Server RH-SSO 客户端名称。 |
| |
| 用于创建客户端的 RH-SSO Realm admin 用户名(如果不存在)。 |
| |
| 用于创建客户端的 RH-SSO Realm 管理员密码。 |
| |
| RH-SSO 禁用 SSL 证书验证. |
| |
| RH-SSO Principal Attribute,用作用户名。 |
| |
| http 服务路由的自定义主机名。默认主机名留空,例如: insecure-<application-name>-kieserver-<project>.<default-domain-suffix> |
| |
| https 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-kieserver-<project>.<default-domain-suffix> |
| |
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 |
| |
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 |
| |
| 用于身份验证的绑定 DN。 |
| |
| 用于身份验证的 LDAP 凭据。 |
| |
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 |
| |
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 |
| |
| 指明用户查询是否递归。 |
| |
| 用户或角色搜索的超时时间(毫秒)。 |
| |
| 包含用户角色的属性名称。 |
| |
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 |
| |
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 |
| |
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 |
| |
| 包含所有经过身份验证的用户的角色 |
| |
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' |
| |
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' |
| |
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 |
| |
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 |
| |
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 |
| |
|
| KIE Server PostgreSQL 数据库用户名。 |
|
| KIE Server PostgreSQL 数据库密码。 |
| |
| KIE Server PostgreSQL 数据库名称。 |
| |
| 允许 PostgreSQL 处理 XA 事务。 |
|
15.10.2.3.3.7. 卷
Deployment | 名称 | mountPath | 用途 | readOnly |
---|---|---|---|---|
| businesscentral-keystore-volume |
| SSL 证书 | true |
| kieserver-keystore-volume |
| SSL 证书 | true |
|
|
| postgresql | false |
15.10.2.4. 外部依赖项
15.10.2.4.1. 持久性卷声明
PersistentVolume
对象是 OpenShift 集群中的存储资源。通过从 GCE Persistent Disks、AWS Elastic Block Stores (EBS)和 NFS 挂载等源创建 PersistentVolume
对象来置备存储。如需更多信息,请参阅 Openshift 文档。
名称 | 访问模式 |
---|---|
| ReadWriteOnce |
| ReadWriteMany |
15.10.2.4.2. Secrets
此模板需要安装下列机密,以便应用运行:
- businesscentral-app-secret
- kieserver-app-secret
15.11. rhpam712-prod.yaml template
Red Hat Process Automation Manager 7.12 的受管 HA 生产环境的应用程序模板 - 已弃用
15.11.1. 参数
模板允许您定义接受值的参数。然后,该值会在引用参数的位置替换。可在对象列表字段中的任意文本字段中定义引用。如需更多信息,请参阅 Openshift 文档。
变量名称 | 镜像环境变量 | 描述 | 示例值 | 必填 |
---|---|---|---|---|
| — | 应用程序的名称。 | myapp | true |
|
| KIE 服务器必须使用的 Maven 镜像。如果配置镜像,此镜像必须包含部署服务所需的所有工件。 | — | False |
|
| KIE 服务器的 Maven 镜像配置. | 外部:* | False |
|
| 用于 maven 存储库的 id。如果设置,可以通过将其添加到 MAVEN_MIRROR_OF 来从可选配置的镜像中排除。例如: external:*,!repo-rhpamcentr,!repo-custom。如果设置了 MAVEN_MIRROR_URL,但没有设置 MAVEN_MIRROR_ID,则 id 将随机生成,但无法在 MAVEN_MIRROR_OF 中使用。 | repo-custom | False |
|
| Maven 存储库或服务的完全限定 URL。 | http://nexus.nexus-project.svc.cluster.local:8081/nexus/content/groups/public/ | true |
|
| 用于访问 Maven 存储库的用户名(如果需要)。 | — | False |
|
| 如果需要,用于访问 Maven 存储库的密码。 | — | False |
|
| 可选的 Business Central 的服务名称(如果需要的话),以允许服务查找(用于 maven repo usage)。 | myapp-rhpamcentr | False |
| — | 包含 KIE_ADMIN_USER 和 KIE_ADMIN_PWD 值的 secret | rhpam-credentials | true |
| — | 安装 Red Hat Process Automation Manager 镜像的 ImageStreams 的命名空间。这些 ImageStreams 通常安装在 openshift 命名空间中。只有在不同的命名空间/项目中安装 ImageStream 时,才需要修改此参数。默认为 "openshift"。 | openshift | true |
| — | 用于 KIE 服务器的镜像流的名称。默认为 "rhpam-kieserver-rhel8"。 | rhpam-kieserver-rhel8 | true |
| — | 指向镜像流中镜像的命名指针。默认为 "7.12.0"。 | 7.12.0 | true |
| — | http 服务路由的自定义主机名。默认主机名留空,如 <application-name>-smartrouter-<project>.<default-domain-suffix>' | — | False |
| — | https 服务路由的自定义主机名。默认主机名留空,如 secure-<application-name>-smartrouter-<project>.<default-domain-suffix>' | — | False |
|
| 连接到 controller. (路由器属性 org.kie.server.router.id)时使用的路由器 ID | kie-server-router | true |
|
| KIE 服务器路由器协议.(用于构建 org.kie.server.router.url.external 属性) | http | False |
|
| 可以找到路由器的公共 URL。格式 http://<host>:<port> (路由器属性 org.kie.server.router.url.external) | — | False |
|
| 连接到 controller. (路由器属性 org.kie.server.router.name)时使用的路由器名称 | KIE Server Router | true |
|
| KIE 服务器控制器令牌,用于 bearer 身份验证。(设置 org.kie.server.controller.token 系统属性) | — | False |
|
| KIE 服务器持久性数据源.(设置 org.kie.server.persistence.ds 系统属性) | java:/jboss/datasources/rhpam | False |
| — | 安装 PostgreSQL 镜像的 ImageStream 的命名空间。ImageStream 已安装在 openshift 命名空间中。只有在不同的命名空间/项目中安装 ImageStream 时,才需要修改此参数。默认为 "openshift"。 | openshift | False |
| — | PostgreSQL 镜像版本,用于与 PostgreSQL 版本对应。默认为 "10"。 | 10 | False |
|
| KIE Server PostgreSQL 数据库用户名。 | rhpam | False |
|
| KIE Server PostgreSQL 数据库密码。 | — | False |
|
| KIE Server PostgreSQL 数据库名称。 | rhpam7 | False |
|
| 允许 PostgreSQL 处理 XA 事务。 | 100 | true |
| — | 数据库卷的持久性存储大小。 | 1Gi | true |
|
| KIE Server PostgreSQL Hibernate 定位. | org.hibernate.dialect.PostgreSQLDialect | true |
|
| KIE 服务器模式.有效值为 'DEVELOPMENT' 或 'PRODUCTION'。在生产模式中,您无法在 KIE 服务器上部署 SNAPSHOT 工件版本,且无法更改现有容器中的工件版本。(设置 org.kie.server.mode 系统属性)。 |
| False |
|
| KIE Server 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 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-rhpamcentrmon-<project>.<default-domain-suffix> | — | False |
|
| https 服务路由的自定义主机名。默认主机名留空,如 secure-<application-name>-rhpamcentrmon-<project>.<default-domain-suffix> | — | False |
KIE_SERVER1_HOSTNAME_HTTP |
| http 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-kieserver-<project>.<default-domain-suffix> | — | False |
KIE_SERVER1_HOSTNAME_HTTPS |
| https 服务路由的自定义主机名。默认主机名留空,例如: secure-<application-name>-kieserver-<project>.<default-domain-suffix> | — | False |
KIE_SERVER1_USE_SECURE_ROUTE_NAME |
| 如果为 true,KIE 服务器将使用 secure-<application-name>-kieserver 与 <application-name>-kieserver 作为 Business Central 的 KIE Server 路由端点。因此,Business Central 显示到用户的安全链接。 | false | False |
KIE_SERVER2_HOSTNAME_HTTP |
| http 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-kieserver-<project>.<default-domain-suffix> | — | False |
KIE_SERVER2_HOSTNAME_HTTPS |
| https 服务路由的自定义主机名。默认主机名留空,例如: secure-<application-name>-kieserver-<project>.<default-domain-suffix> | — | False |
KIE_SERVER2_USE_SECURE_ROUTE_NAME |
| 如果为 true,将使用 secure-APPLICATION_NAME-kieserver-2 vs.APPLICATION_NAME-kieserver-2 作为路由名称。 | false | False |
| — | 包含 Business Central 的密钥存储文件的 secret 名称。 | businesscentral-app-secret | true |
|
| 机密中的密钥存储文件的名称。 | keystore.jks | False |
|
| 与服务器证书关联的名称。 | jboss | False |
|
| 密钥存储和证书的密码。 | mykeystorepass | False |
| — | 包含智能路由器密钥存储文件的 secret 名称。 | smartrouter-app-secret | true |
| — | 机密中的密钥存储文件的名称。 | keystore.jks | False |
|
| 与服务器证书关联的名称。 | jboss | False |
|
| 密钥存储和证书的密码。 | mykeystorepass | False |
| — | 包含 KIE Server 的密钥存储文件的 secret 名称。 | kieserver-app-secret | true |
|
| 机密中的密钥存储文件的名称。 | keystore.jks | False |
|
| 与服务器证书关联的名称。 | jboss | False |
|
| 密钥存储和证书的密码。 | mykeystorepass | False |
|
| 允许 KIE 服务器绕过经过身份验证的用户获取与任务相关的操作,例如查询。(设置 org.kie.server.bypass.auth.user 系统属性) | false | False |
|
| 为 EJB 计时器服务 database-data-store 设置 refresh-interval。 | 30000 | False |
| — | Business Central 监控容器内存限值。 | 2Gi | true |
| — | Business Central 监控容器内存请求. | 1536Mi | true |
| — | Business Central 监控容器 CPU 限制。 | 1 | true |
| — | Business Central 监控容器 CPU 请求. | 750m | true |
| — | KIE 服务器容器内存限值。 | 2Gi | true |
| — | KIE 服务器容器内存请求. | 1536Mi | true |
| — | KIE 服务器容器 CPU 限制。 | 1 | true |
| — | KIE 服务器容器 CPU 请求. | 750m | true |
| — | 智能路由器容器内存限值 | 512Mi | False |
| — | Business Central 监控容器副本定义将启动多少个 Business Central 监控容器。 | 3 | true |
| — | 智能路由器容器副本,定义将启动多少个智能路由器容器。 | 2 | true |
| — | KIE 服务器容器副本,定义将启动多少个 KIE Server 容器。 | 3 | true |
|
| 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_SERVER1_SSO_CLIENT |
| KIE Server 1 RH-SSO 客户端名称. | — | False |
KIE_SERVER1_SSO_SECRET |
| KIE Server 1 RH-SSO Client Secret. | 252793ed-7118-4ca8-8dab-5622fa97d892 | False |
KIE_SERVER2_SSO_CLIENT |
| KIE Server 2 RH-SSO Client name. | — | False |
KIE_SERVER2_SSO_SECRET |
| KIE Server 2 RH-SSO Client Secret. | 252793ed-7118-4ca8-8dab-5622fa97d892 | False |
|
| 用于创建客户端的 RH-SSO Realm admin 用户名(如果不存在)。 | — | False |
|
| 用于创建客户端的 RH-SSO Realm 管理员密码。 | — | False |
|
| RH-SSO 禁用 SSL 证书验证. | false | False |
|
| RH-SSO Principal Attribute,用作用户名。 | preferred_username | False |
|
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 | ldap://myldap.example.com:389 | False |
|
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 | optional | False |
|
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 | true | False |
|
| 用于身份验证的绑定 DN。 | uid=admin,ou=users,ou=example,ou=com | False |
|
| 用于身份验证的 LDAP 凭据。 | 密码 | False |
|
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 | ou=users,ou=example,ou=com | False |
|
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 | (uid={0}) | False |
|
| 指明用户查询是否递归。 | true | False |
|
| 用户或角色搜索的超时时间(毫秒)。 | 10000 | False |
|
| 包含用户角色的属性名称。 | memberOf | False |
|
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 | ou=groups,ou=example,ou=com | False |
|
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 | (memberOf={1}) | False |
|
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 | 1 | False |
|
| 包含所有经过身份验证的用户的角色。 | user | False |
|
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' | sn=BlankSurname;cn=BlankCommonName | False |
|
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' | — | False |
|
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 | role=role1,role3,role4;role7=role,admin | False |
|
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 | — | False |
|
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 | — | False |
15.11.2. 对象(object)
CLI 支持各种对象类型。Openshift 文档 可以找到这些对象类型及其缩写的列表。
15.11.2.1. 服务
服务是一个抽象,用于定义一组逻辑的 pod 以及用于访问它们的策略。如需更多信息,请参阅 container-engine 文档。
服务 | 端口 | 名称 | 描述 |
---|---|---|---|
| 8080 | http | 所有 Business Central 监控 Web 服务器的端口。 |
8443 | https | ||
| 9000 | http | 智能路由器服务器 http 和 https 端口。 |
9443 | https | ||
| 8080 | http | 所有 KIE 服务器 Web 服务器的端口。(第一个 KIE 服务器) |
8443 | https | ||
| 8080 | http | 所有 KIE 服务器 Web 服务器的端口。(秒 KIE 服务器) |
8443 | https | ||
| 5432 | — | 第一个数据库服务器的端口。 |
| 5432 | — | 第二个数据库服务器的端口。 |
15.11.2.2. Routes
路由是通过为服务提供一个外部可访问主机名(如 www.example.com
)来公开服务的方法。定义的路由和由服务标识的端点可由路由器使用,从而从外部客户端向应用程序提供命名连接。每个路由都由路由名称、服务选择器和(可选)安全配置组成。如需更多信息,请参阅 Openshift 文档。
服务 | 安全性 | Hostname |
---|---|---|
| none |
|
| TLS 透传 |
|
| none |
|
| TLS 透传 |
|
| none |
|
| TLS 透传 |
|
| none |
|
| TLS 透传 |
|
15.11.2.3. 部署配置
OpenShift 中的部署是基于名为部署配置的用户定义的模板的复制控制器。部署是手动创建的,或响应触发的事件。如需更多信息,请参阅 Openshift 文档。
15.11.2.3.1. 触发器
触发器驱动创建新部署以响应 OpenShift 内部和外部的事件。如需更多信息,请参阅 Openshift 文档。
Deployment | 触发器 |
---|---|
| ImageChange |
| ImageChange |
| ImageChange |
| ImageChange |
| ImageChange |
| ImageChange |
15.11.2.3.2. Replicas
复制控制器确保任意一个时间运行指定数量的 pod "replicas"。如果数量太多,复制控制器会终止一些 pod。如果数量太少,它会启动更多。如需更多信息,请参阅 container-engine 文档。
Deployment | Replicas |
---|---|
| 3 |
| 2 |
| 3 |
| 1 |
| 3 |
| 1 |
15.11.2.3.3. Pod 模板
15.11.2.3.3.1. 服务帐户
服务帐户是各个项目中存在的 API 对象。它们可以像任何其他 API 对象一样创建或删除。如需更多信息,请参阅 Openshift 文档。
Deployment | 服务帐户 |
---|---|
|
|
|
|
|
|
15.11.2.3.3.2. 镜像
Deployment | 镜像 |
---|---|
| rhpam-businesscentral-monitoring-rhel8 |
| rhpam-smartrouter-rhel8 |
|
|
| postgresql |
|
|
| postgresql |
15.11.2.3.3.3. 就绪度(Readiness)探测
${APPLICATION_NAME}-rhpamcentrmon
Http Get on http://localhost:8080/rest/ready
${APPLICATION_NAME}-kieserver-1
Http Get on http://localhost:8080/services/rest/server/readycheck
${APPLICATION_NAME}-postgresql-1
/usr/libexec/check-container
${APPLICATION_NAME}-kieserver-2
Http Get on http://localhost:8080/services/rest/server/readycheck
${APPLICATION_NAME}-postgresql-2
/usr/libexec/check-container
15.11.2.3.3.4. 存活度(Liveness)探测
${APPLICATION_NAME}-rhpamcentrmon
Http Get on http://localhost:8080/rest/healthy
${APPLICATION_NAME}-kieserver-1
Http Get on http://localhost:8080/services/rest/server/healthcheck
${APPLICATION_NAME}-postgresql-1
/usr/libexec/check-container --live
${APPLICATION_NAME}-kieserver-2
Http Get on http://localhost:8080/services/rest/server/healthcheck
${APPLICATION_NAME}-postgresql-2
/usr/libexec/check-container --live
15.11.2.3.3.5. 公开端口
Deployments | 名称 | 端口 | 协议 |
---|---|---|---|
| Jolokia | 8778 |
|
http | 8080 |
| |
https | 8443 |
| |
| http | 9000 |
|
| Jolokia | 8778 |
|
http | 8080 |
| |
https | 8443 |
| |
| — | 5432 |
|
| Jolokia | 8778 |
|
http | 8080 |
| |
https | 8443 |
| |
| — | 5432 |
|
15.11.2.3.3.6. 镜像环境变量
Deployment | 变量名称 | 描述 | 示例值 |
---|---|---|---|
|
| — |
|
| — |
| |
| admin 用户名 | 根据凭证 secret 设置 | |
| admin 用户密码 | 根据凭证 secret 设置 | |
| KIE 服务器必须使用的 Maven 镜像。如果配置镜像,此镜像必须包含部署服务所需的所有工件。 |
| |
| 用于 maven 存储库的 id。如果设置,可以通过将其添加到 MAVEN_MIRROR_OF 来从可选配置的镜像中排除。例如: external:*,!repo-rhpamcentr,!repo-custom。如果设置了 MAVEN_MIRROR_URL,但没有设置 MAVEN_MIRROR_ID,则 id 将随机生成,但无法在 MAVEN_MIRROR_OF 中使用。 |
| |
| Maven 存储库或服务的完全限定 URL。 |
| |
| 用于访问 Maven 存储库的用户名(如果需要)。 |
| |
| 如果需要,用于访问 Maven 存储库的密码。 |
| |
| KIE 服务器控制器令牌,用于 bearer 身份验证。(设置 org.kie.server.controller.token 系统属性) |
| |
| — |
| |
| 机密中的密钥存储文件的名称。 |
| |
| 与服务器证书关联的名称。 |
| |
| 密钥存储和证书的密码。 |
| |
| — | kubernetes.KUBE_PING | |
| — | — | |
| — | cluster=jgrp.k8s.${APPLICATION_NAME}.rhpamcentrmon | |
| RH-SSO URL。 |
| |
| — | ROOT.war | |
| RH-SSO Realm 名称。 |
| |
| Business Central 监控 RH-SSO 客户端 Secret。 |
| |
| Business Central 监控 RH-SSO 客户端名称. |
| |
| 用于创建客户端的 RH-SSO Realm admin 用户名(如果不存在)。 |
| |
| 用于创建客户端的 RH-SSO Realm 管理员密码。 |
| |
| RH-SSO 禁用 SSL 证书验证. |
| |
| RH-SSO Principal Attribute,用作用户名。 |
| |
| http 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-rhpamcentrmon-<project>.<default-domain-suffix> |
| |
| https 服务路由的自定义主机名。默认主机名留空,如 secure-<application-name>-rhpamcentrmon-<project>.<default-domain-suffix> |
| |
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 |
| |
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 |
| |
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 |
| |
| 用于身份验证的绑定 DN。 |
| |
| 用于身份验证的 LDAP 凭据。 |
| |
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 |
| |
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 |
| |
| 指明用户查询是否递归。 |
| |
| 用户或角色搜索的超时时间(毫秒)。 |
| |
| 包含用户角色的属性名称。 |
| |
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 |
| |
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 |
| |
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 |
| |
| 包含所有经过身份验证的用户的角色。 |
| |
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' |
| |
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' |
| |
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 |
| |
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 |
| |
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 |
| |
|
| admin 用户名 | 根据凭证 secret 设置 |
| admin 用户密码 | 根据凭证 secret 设置 | |
| — | — | |
| — | 9000 | |
| — | 9443 | |
| 可以找到路由器的公共 URL。格式 http://<host>:<port> (路由器属性 org.kie.server.router.url.external) |
| |
| 连接到 controller. (路由器属性 org.kie.server.router.id)时使用的路由器 ID |
| |
| 连接到 controller. (路由器属性 org.kie.server.router.name)时使用的路由器名称 |
| |
| — |
| |
| — |
| |
| KIE 服务器路由器协议.(用于构建 org.kie.server.router.url.external 属性) |
| |
| 与服务器证书关联的名称。 |
| |
| 密钥存储和证书的密码。 |
| |
| — |
| |
| KIE 服务器控制器令牌,用于 bearer 身份验证。(设置 org.kie.server.controller.token 系统属性) |
| |
| — |
| |
| — | http | |
| — |
| |
| — | true | |
|
| admin 用户名 | 根据凭证 secret 设置 |
| admin 用户密码 | 根据凭证 secret 设置 | |
| KIE 服务器模式.有效值为 'DEVELOPMENT' 或 'PRODUCTION'。在生产模式中,您无法在 KIE 服务器上部署 SNAPSHOT 工件版本,且无法更改现有容器中的工件版本。(设置 org.kie.server.mode 系统属性)。 |
| |
| KIE Server mbeans 启用/禁用.(设置 kie.mbeans 和 kie.scanner.mbeans 系统属性) |
| |
| KIE 服务器类过滤.(设置 org.drools.server.filter.classes 系统属性) |
| |
| 如果设置为 false,则启用 prometheus 服务器扩展。(设置 org.kie.prometheus.server.ext.disabled 系统属性) |
| |
| 允许 KIE 服务器绕过经过身份验证的用户获取与任务相关的操作,例如查询。(设置 org.kie.server.bypass.auth.user 系统属性) |
| |
| KIE 服务器控制器令牌,用于 bearer 身份验证。(设置 org.kie.server.controller.token 系统属性) |
| |
| — |
| |
| — | WS | |
| — |
| |
| — |
| |
| 如果为 true,KIE 服务器将使用 secure-<application-name>-kieserver 与 <application-name>-kieserver 作为 Business Central 的 KIE Server 路由端点。因此,Business Central 显示到用户的安全链接。 |
| |
| — | ||
| KIE 服务器必须使用的 Maven 镜像。如果配置镜像,此镜像必须包含部署服务所需的所有工件。 |
| |
| KIE 服务器的 Maven 镜像配置. |
| |
| — | RHPAMCENTR,EXTERNAL | |
| — | repo-rhpamcentr | |
| 可选的 Business Central 的服务名称(如果需要的话),以允许服务查找(用于 maven repo usage)。 |
| |
| — |
| |
| 用于 maven 存储库的 id。如果设置,可以通过将其添加到 MAVEN_MIRROR_OF 来从可选配置的镜像中排除。例如: external:*,!repo-rhpamcentr,!repo-custom。如果设置了 MAVEN_MIRROR_URL,但没有设置 MAVEN_MIRROR_ID,则 id 将随机生成,但无法在 MAVEN_MIRROR_OF 中使用。 |
| |
| Maven 存储库或服务的完全限定 URL。 |
| |
| 用于访问 Maven 存储库的用户名(如果需要)。 |
| |
| 如果需要,用于访问 Maven 存储库的密码。 |
| |
| — |
| |
| — | 9000 | |
| KIE 服务器路由器协议.(用于构建 org.kie.server.router.url.external 属性) |
| |
| KIE 服务器持久性数据源.(设置 org.kie.server.persistence.ds 系统属性) |
| |
| — |
| |
| KIE 服务器持久性数据源.(设置 org.kie.server.persistence.ds 系统属性) |
| |
| — | true | |
| KIE Server PostgreSQL 数据库名称。 |
| |
| — | postgresql | |
| KIE Server PostgreSQL Hibernate 定位. |
| |
| KIE Server PostgreSQL 数据库用户名。 |
| |
| KIE Server PostgreSQL 数据库密码。 |
| |
| — |
| |
| — | 5432 | |
| — |
| |
| 为 EJB 计时器服务 database-data-store 设置 refresh-interval。 |
| |
| — |
| |
| 机密中的密钥存储文件的名称。 |
| |
| 与服务器证书关联的名称。 |
| |
| 密钥存储和证书的密码。 |
| |
| — | kubernetes.KUBE_PING | |
| — | — | |
| — | cluster=jgrp.k8s.${APPLICATION_NAME}.kieserver | |
| RH-SSO URL。 |
| |
| — | ROOT.war | |
| RH-SSO Realm 名称。 |
| |
| KIE Server 1 RH-SSO Client Secret. |
| |
| KIE Server 1 RH-SSO 客户端名称. |
| |
| 用于创建客户端的 RH-SSO Realm admin 用户名(如果不存在)。 |
| |
| 用于创建客户端的 RH-SSO Realm 管理员密码。 |
| |
| RH-SSO 禁用 SSL 证书验证. |
| |
| RH-SSO Principal Attribute,用作用户名。 |
| |
| http 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-kieserver-<project>.<default-domain-suffix> |
| |
| https 服务路由的自定义主机名。默认主机名留空,例如: secure-<application-name>-kieserver-<project>.<default-domain-suffix> |
| |
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 |
| |
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 |
| |
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 |
| |
| 用于身份验证的绑定 DN。 |
| |
| 用于身份验证的 LDAP 凭据。 |
| |
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 |
| |
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 |
| |
| 指明用户查询是否递归。 |
| |
| 用户或角色搜索的超时时间(毫秒)。 |
| |
| 包含用户角色的属性名称。 |
| |
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 |
| |
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 |
| |
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 |
| |
| 包含所有经过身份验证的用户的角色。 |
| |
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' |
| |
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' |
| |
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 |
| |
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 |
| |
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 |
| |
|
| KIE Server PostgreSQL 数据库用户名。 |
|
| KIE Server PostgreSQL 数据库密码。 |
| |
| KIE Server PostgreSQL 数据库名称。 |
| |
| 允许 PostgreSQL 处理 XA 事务。 |
| |
|
| admin 用户名 | 根据凭证 secret 设置 |
| admin 用户密码 | 根据凭证 secret 设置 | |
| KIE 服务器模式.有效值为 'DEVELOPMENT' 或 'PRODUCTION'。在生产模式中,您无法在 KIE 服务器上部署 SNAPSHOT 工件版本,且无法更改现有容器中的工件版本。(设置 org.kie.server.mode 系统属性)。 |
| |
| KIE Server mbeans 启用/禁用.(设置 kie.mbeans 和 kie.scanner.mbeans 系统属性) |
| |
| KIE 服务器类过滤.(设置 org.drools.server.filter.classes 系统属性) |
| |
| 如果设置为 false,则启用 prometheus 服务器扩展。(设置 org.kie.prometheus.server.ext.disabled 系统属性) |
| |
| 允许 KIE 服务器绕过经过身份验证的用户获取与任务相关的操作,例如查询。(设置 org.kie.server.bypass.auth.user 系统属性) |
| |
| KIE 服务器控制器令牌,用于 bearer 身份验证。(设置 org.kie.server.controller.token 系统属性) |
| |
| — |
| |
| — | WS | |
| — |
| |
| — |
| |
| 如果为 true,将使用 secure-APPLICATION_NAME-kieserver-2 vs.APPLICATION_NAME-kieserver-2 作为路由名称。 |
| |
| — | ||
| KIE 服务器必须使用的 Maven 镜像。如果配置镜像,此镜像必须包含部署服务所需的所有工件。 |
| |
| KIE 服务器的 Maven 镜像配置. |
| |
| — | RHPAMCENTR,EXTERNAL | |
| — | repo-rhpamcentr | |
| 可选的 Business Central 的服务名称(如果需要的话),以允许服务查找(用于 maven repo usage)。 |
| |
| — |
| |
| 用于 maven 存储库的 id。如果设置,可以通过将其添加到 MAVEN_MIRROR_OF 来从可选配置的镜像中排除。例如: external:*,!repo-rhpamcentr,!repo-custom。如果设置了 MAVEN_MIRROR_URL,但没有设置 MAVEN_MIRROR_ID,则 id 将随机生成,但无法在 MAVEN_MIRROR_OF 中使用。 |
| |
| Maven 存储库或服务的完全限定 URL。 |
| |
| 用于访问 Maven 存储库的用户名(如果需要)。 |
| |
| 如果需要,用于访问 Maven 存储库的密码。 |
| |
| — |
| |
| — | 9000 | |
| KIE 服务器路由器协议.(用于构建 org.kie.server.router.url.external 属性) |
| |
| KIE 服务器持久性数据源.(设置 org.kie.server.persistence.ds 系统属性) |
| |
| — |
| |
| KIE 服务器持久性数据源.(设置 org.kie.server.persistence.ds 系统属性) |
| |
| — | true | |
| KIE Server PostgreSQL 数据库名称。 |
| |
| — | postgresql | |
| KIE Server PostgreSQL Hibernate 定位. |
| |
| KIE Server PostgreSQL 数据库用户名。 |
| |
| KIE Server PostgreSQL 数据库密码。 |
| |
| — |
| |
| — | 5432 | |
| — |
| |
| 为 EJB 计时器服务 database-data-store 设置 refresh-interval。 |
| |
| — |
| |
| 机密中的密钥存储文件的名称。 |
| |
| 与服务器证书关联的名称。 |
| |
| 密钥存储和证书的密码。 |
| |
| — | kubernetes.KUBE_PING | |
| — | — | |
| — | cluster=jgrp.k8s.${APPLICATION_NAME}.kieserver | |
| RH-SSO URL。 |
| |
| — | ROOT.war | |
| RH-SSO Realm 名称。 |
| |
| KIE Server 2 RH-SSO Client Secret. |
| |
| KIE Server 2 RH-SSO Client name. |
| |
| 用于创建客户端的 RH-SSO Realm admin 用户名(如果不存在)。 |
| |
| 用于创建客户端的 RH-SSO Realm 管理员密码。 |
| |
| RH-SSO 禁用 SSL 证书验证. |
| |
| RH-SSO Principal Attribute,用作用户名。 |
| |
| http 服务路由的自定义主机名。默认主机名留空,例如: <application-name>-kieserver-<project>.<default-domain-suffix> |
| |
| https 服务路由的自定义主机名。默认主机名留空,例如: secure-<application-name>-kieserver-<project>.<default-domain-suffix> |
| |
| 要连接的 LDAP 端点以进行身份验证。对于故障转移,请设置两个或更多 LDAP 端点,用空格分开。 |
| |
| LDAP 登录模块标志,增加了与 Elytron 上传统安全子系统的向后兼容性。"可选"是唯一支持的值(如果设置),它将在使用 KIE_ADMIN_USER 添加用户的 Elytron 配置中创建分布式域。 |
| |
| 启用故障转移,如果 LDAP Url 不可访问,它将切换到 KieFsRealm。 |
| |
| 用于身份验证的绑定 DN。 |
| |
| 用于身份验证的 LDAP 凭据。 |
| |
| 顶级上下文的 LDAP 基础 DN 开始用户搜索。 |
| |
| 用于查找要进行身份验证的用户上下文的 LDAP 搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。搜索过滤器的一个常见示例是(uid={0})。 |
| |
| 指明用户查询是否递归。 |
| |
| 用户或角色搜索的超时时间(毫秒)。 |
| |
| 包含用户角色的属性名称。 |
| |
| 用于搜索用户角色的上下文的固定 DN。这不是实际角色的 DN,而是包含用户角色对象的 DN。例如,在 Microsoft Active Directory 服务器中,这是用户帐户所属的 DN。 |
| |
| 用于查找与经过身份验证的用户关联的角色的搜索过滤器。从登录模块回调获取的输入用户名或 userDN 被替换为使用 {0} 表达式的过滤器。经过身份验证的用户 DN 被替换为使用 GC 任何位置的过滤器。与输入用户名匹配的搜索过滤器示例为(member={0})。在经过身份验证的用户DN 上匹配的替代方案是(member=maistra)。 |
| |
| 角色搜索的递归级别数量将保存在匹配的上下文下。将此选项设置为 0 来禁用递归。 |
| |
| 包含所有经过身份验证的用户的角色。 |
| |
| 提供 LDAP 身份映射的新身份,此 env 一起使用的模式是 'attribute_name=attribute_value;another_attribute_name=value' |
| |
| 如果后面应遵循 LDAP 引用:对应于 REFERRAL ('java.naming.referral') 环境属性。允许的值: 'ignore', 'follow', 'throw' |
| |
| 存在时,roleMapping 将配置为使用提供的属性文件或角色。此参数定义属性文件的完全限定域名或一组具有以下模式 'role=role1;another-role=role2' 的角色。文件中每个条目的格式为 original_role=role1,role2,role3 |
| |
| 当设置为 'true' 时,映射的角色将保留所有已定义映射的角色。 |
| |
| 当设置为 'true' 时,映射的角色将保留所有没有定义的映射的角色。 |
| |
|
| KIE Server PostgreSQL 数据库用户名。 |
|
| KIE Server PostgreSQL 数据库密码。 |
| |
| KIE Server PostgreSQL 数据库名称。 |
| |
| 允许 PostgreSQL 处理 XA 事务。 |
|
15.11.2.3.3.7. 卷
Deployment | 名称 | mountPath | 用途 | readOnly |
---|---|---|---|---|
| businesscentral-keystore-volume |
| SSL 证书 | true |
|
|
| — | false |
| kieserver-keystore-volume |
| SSL 证书 | true |
|
|
| postgresql | false |
| kieserver-keystore-volume |
| SSL 证书 | true |
|
|
| postgresql | false |
15.11.2.4. 外部依赖项
15.11.2.4.1. 持久性卷声明
PersistentVolume
对象是 OpenShift 集群中的存储资源。通过从 GCE Persistent Disks、AWS Elastic Block Stores (EBS)和 NFS 挂载等源创建 PersistentVolume
对象来置备存储。如需更多信息,请参阅 Openshift 文档。
名称 | 访问模式 |
---|---|
| ReadWriteOnce |
| ReadWriteOnce |
| ReadWriteMany |
| ReadWriteMany |
15.11.2.4.2. Secrets
此模板需要安装下列机密,以便应用运行:
- businesscentral-app-secret
- smartrouter-app-secret
- kieserver-app-secret
15.12. OpenShift 使用快速参考
要在 Red Hat OpenShift Container Platform 上部署、监控、管理和取消部署 Red Hat Process Automation Manager 模板,您可以使用 OpenShift Web 控制台或 oc
命令。
有关使用 Web 控制台的说明 ,请参阅使用 Web 控制台创建和构建镜像。
有关使用 oc
命令的详细信息,请参阅 CLI 参考。以下命令可能是必需的:
要创建项目,请使用以下命令:
$ oc new-project <project-name>
如需更多信息,请参阅使用 CLI 创建项目。
要部署模板(从模板创建应用程序),请使用以下命令:
$ oc new-app -f <template-name> -p <parameter>=<value> -p <parameter>=<value> ...
如需更多信息,请参阅使用 CLI 创建应用程序。
要查看项目中活跃 pod 列表,请使用以下命令:
$ oc get pods
要查看 pod 的当前状态,包括 pod 部署是否已完成且现在处于 running 状态的信息,请使用以下命令:
$ oc describe pod <pod-name>
您还可以使用
oc describe
命令来查看其他对象的当前状态。如需更多信息,请参阅 应用程序修改操作。要查看 pod 的日志,请使用以下命令:
$ oc logs <pod-name>
要查看部署日志,请在模板引用中查找
DeploymentConfig
名称,并输入以下命令:$ oc logs -f dc/<deployment-config-name>
如需更多信息,请参阅 查看部署日志。
要查看构建日志,请在模板引用中查找
BuildConfig
名称并输入以下命令:$ oc logs -f bc/<build-config-name>
如需更多信息,请参阅 访问构建日志。
要在应用程序中扩展 pod,请在模板引用中查找
DeploymentConfig
名称,并输入以下命令:$ oc scale dc/<deployment-config-name> --replicas=<number>
如需更多信息,请参阅 手动扩展。
要取消部署应用,您可以使用以下命令删除项目:
$ oc delete project <project-name>
或者,您可以使用
oc delete
命令删除应用的任何部分,如 pod 或复制控制器。详情请参阅 应用程序修改操作。
部分 III. 在 Red Hat OpenShift Container Platform 上使用决策引擎实施高度可用的事件驱动决策
作为业务规则开发人员,您可以在使用决策引擎的代码中使用高度可用的事件驱动决策,包括复杂事件处理(CEP)。您可以在 Red Hat OpenShift Container Platform 上实施高度可用的事件驱动决策。
您不能在 Red Hat OpenShift Container Platform 上使用 Red Hat Process Automation Manager 的标准部署,如 使用 Operator 在 Red Hat OpenShift Container Platform 4 上部署 Red Hat Process Automation Manager 环境 所述,因为标准部署只支持无状态处理。因此,您必须使用提供的参考实现创建自定义实现。
先决条件
- Red Hat OpenShift Container Platform 4 环境可用。有关当前版本支持的 Red Hat OpenShift Container Platform 的具体版本,请参阅 Red Hat Process Automation Manager 7 支持的配置。
- 使用 Red Hat AMQ Streams 在 OpenShift 环境中部署 Kafka 集群。
- 已安装 OpenJDK Java 开发环境。
- 已安装 Maven、Docker 和 kubectl。
-
已安装
oc
OpenShift 命令行工具。
第 16 章 实施 HA CEP 服务器
高可用性(HA) CEP 服务器在 Red Hat OpenShift Container Platform 环境中运行。它包括所有必要的 Drools 规则,以及处理事件所需的其他代码。
准备源,构建它,然后在 Red Hat OpenShift Container Platform 上部署它。
或者,使用不同的进程来部署 HA CEP 服务器,您可随时更新 KJAR 服务。有关此过程的步骤,请参考 第 17 章 使用 Maven 存储库实施 HA CEP 服务器以更新 KJAR 服务。
先决条件
-
使用
oc
命令行工具,使用管理员权限登录到项目。
流程
-
从红帽客户门户网站的 Software Downloads 页面下载
rhpam-7.12.0-reference-implementation.zip
产品提供的可交付文件。 -
提取文件的内容,然后解压缩
rhpam-7.12.0-openshift-drools-hacep-distribution.zip
文件。 -
更改到
openshift-drools-hacep-distribution/sources
目录。 -
检查和修改基于
sample-hacep-project/sample-hacep-project-kjar
目录中的示例项目的服务器代码。复杂的事件处理逻辑由src/main/resources/org/drools/cep
子目录中的 DRL 规则定义。 使用标准 Maven 命令构建项目:
mvn clean install -DskipTests
- 为 Red Hat AMQ Streams 启用 OpenShift Operator,然后在项目中创建 AMQ Streams (kafka)集群。有关安装 Red Hat AMQ Streams 的详情,请参考 在 OpenShift 中使用 AMQ Streams。
要创建操作所需的 kafka 主题,请保留在
openshift-drools-hacep-distribution/sources
目录中,并运行以下命令:oc apply -f kafka-topics/control.yaml oc apply -f kafka-topics/events.yaml oc apply -f kafka-topics/kiesessioninfos.yaml oc apply -f kafka-topics/snapshot.yaml
要启用应用程序对在领导选举机制中使用的 ConfigMap 的访问,请配置基于角色的访问控制。进入
springboot
目录并输入以下命令:oc create -f kubernetes/service-account.yaml oc create -f kubernetes/role.yaml oc create -f kubernetes/role-binding.yaml
有关在 Red Hat OpenShift Container Platform 中配置基于角色的访问控制的更多信息,请参阅 Red Hat OpenShift Container Platform 产品文档中的 使用 RBAC 定义和应用权限。
在
springboot
目录中,输入以下命令为部署创建镜像并将其推送到为 OpenShift 环境配置的软件仓库中:oc new-build --binary --strategy=docker --name openshift-kie-springboot oc start-build openshift-kie-springboot --from-dir=. --follow
输入以下命令检测所构建镜像的名称:
oc get is/openshift-kie-springboot -o template --template='{{range .status.tags}}{{range .items}}{{.dockerImageReference}}{{end}}{{end}}'
-
在文本编辑器中打开
kubernetes/deployment.yaml
文件。 - 使用上一命令的结果替换现有镜像 URL。
删除以
@
符号开头的行末尾的所有字符,然后将:latest
添加到行。例如:image: image-registry.openshift-image-registry.svc:5000/hacep/openshift-kie-springboot:latest
- 保存该文件。
输入以下命令部署镜像:
oc apply -f kubernetes/deployment.yaml
第 17 章 使用 Maven 存储库实施 HA CEP 服务器以更新 KJAR 服务
您可以实施从您提供的 Maven 存储库检索 KJAR 服务和所有依赖项的 HA CEP 服务器。在这种情况下,您可以通过在 Maven 存储库中更新 KJAR 服务,然后从客户端代码发出调用来更新 KJAR 服务。
准备源,构建它,然后在 Red Hat OpenShift Container Platform 上部署它。在部署服务器前,在 deployment.yaml
文件中设置某些环境变量。要使用 Maven 存储库,您必须将 UPDATABLEKJAR
变量设置为 true
。
先决条件
-
使用
oc
命令行工具,使用管理员权限登录到项目。 - 您配置了可从 Red Hat OpenShift Container Platform 环境访问的 Maven 存储库。
流程
-
从红帽客户门户网站的 Software Downloads 页面下载
rhpam-7.12.0-reference-implementation.zip
产品提供的可交付文件。 -
提取文件的内容,然后解压缩
rhpam-7.12.0-openshift-drools-hacep-distribution.zip
文件。 -
更改到
openshift-drools-hacep-distribution/sources
目录。 -
检查和修改基于
sample-hacep-project/sample-hacep-project-kjar
目录中的示例项目的服务器代码。复杂的事件处理逻辑由src/main/resources/org/drools/cep
子目录中的 DRL 规则定义。 使用标准 Maven 命令构建项目:
mvn clean install -DskipTests
将生成的 KJAR 以及任何所需的依赖项上传到 Maven 存储库。
- 为 Red Hat AMQ Streams 启用 OpenShift Operator,然后在项目中创建 AMQ Streams (kafka)集群。有关安装 Red Hat AMQ Streams 的详情,请参考 在 OpenShift 中使用 AMQ Streams。
要创建操作所需的 kafka 主题,请保留在
openshift-drools-hacep-distribution/sources
目录中,并运行以下命令:oc apply -f kafka-topics/control.yaml oc apply -f kafka-topics/events.yaml oc apply -f kafka-topics/kiesessioninfos.yaml oc apply -f kafka-topics/snapshot.yaml
要启用应用程序对在领导选举机制中使用的 ConfigMap 的访问,请配置基于角色的访问控制。进入
springboot
目录并输入以下命令:oc create -f kubernetes/service-account.yaml oc create -f kubernetes/role.yaml oc create -f kubernetes/role-binding.yaml
有关在 Red Hat OpenShift Container Platform 中配置基于角色的访问控制的更多信息,请参阅 Red Hat OpenShift Container Platform 产品文档中的 使用 RBAC 定义和应用权限。
在
springboot
目录中,编辑pom.xml
文件以删除以下依赖项:<dependency> <groupId>org.kie</groupId> <artifactId>sample-hacep-project-kjar</artifactId> </dependency>
在
springboot
目录中,输入以下命令为部署创建镜像并将其推送到为 OpenShift 环境配置的软件仓库中:oc new-build --binary --strategy=docker --name openshift-kie-springboot oc start-build openshift-kie-springboot --from-dir=. --follow
输入以下命令检测所构建镜像的名称:
oc get is/openshift-kie-springboot -o template --template='{{range .status.tags}}{{range .items}}{{.dockerImageReference}}{{end}}{{end}}'
-
在文本编辑器中打开
kubernetes/deployment.yaml
文件。 - 使用上一命令的结果替换现有镜像 URL。
删除以
@
符号开头的行末尾的所有字符,然后将:latest
添加到行。例如:image: image-registry.openshift-image-registry.svc:5000/hacep/openshift-kie-springboot:latest
在
containers:
行和env:
行下,设置环境变量,如下例所示:containers: - env: - name: UPDATABLEKJAR value: "true" - name: KJARGAV value: <GroupID>:<ArtifactID>:<Version> - name: MAVEN_LOCAL_REPO value: /app/.m2/repository - name: MAVEN_MIRROR_URL value: http://<nexus_url>/repository/maven-releases/ - name: MAVEN_SETTINGS_XML value: /app/.m2/settings.xml
在本例中,将
KJARGAV
变量的值替换为 KJAR 服务的组、工件和版本(GAV),并将MAVEN_MIRROR_URL
变量的值替换为包含 KJAR 服务的 Maven 存储库的 URL。另外,还可设置其他变量。有关支持的环境变量列表,请参阅 第 17.1 节 “HA CEP 服务器支持的可选环境变量”。
- 保存该文件。
输入以下命令部署镜像:
oc apply -f kubernetes/deployment.yaml
有关从客户端代码触发 KJAR 更新的步骤,请参考 第 18 章 创建 HA CEP 客户端。
17.1. HA CEP 服务器支持的可选环境变量
下表列出了您可以为配置为使用 Maven 存储库的 HA CEP 服务器设置的可选环境变量。将这些变量添加到 deployment.yaml
文件中,以便在部署时设置它们。
要使用 Maven 存储库,请确保为服务器设置 UPDATABLEKJAR
和 KJARGAV
环境变量,如 第 17 章 使用 Maven 存储库实施 HA CEP 服务器以更新 KJAR 服务 所述。
名称 | 描述 | 示例 |
---|---|---|
| 用作本地 Maven 存储库的目录。 |
|
| 可以用来检索工件的 Maven 镜像的基本 URL。 |
|
|
如果设置,则启用多镜像支持。该值包含镜像前缀列表,用逗号分开。如果设置了此变量,其他 |
|
|
如果设置,则启用多仓库支持。该值包含存储库前缀的列表,用逗号分隔。如果设置了此变量,其他 |
|
|
要使用的自定义 Maven |
|
| 用于指定镜像的标识符。如果省略,则生成一个唯一 ID。 |
|
|
此镜像镜像的存储库 ID。默认为 |
|
| 镜像的 URL |
|
| Maven 存储库主机名 |
|
| Maven 存储库 ID |
|
| Maven 存储库布局 |
|
| Maven 存储库用户名 |
|
| Maven 存储库密码短语 |
|
| Maven 存储库密码 |
|
| Maven 存储库路径 |
|
| Maven 存储库端口 |
|
| 用于连接到 Maven 存储库的私钥的本地路径 |
|
| Maven 存储库协议 |
|
| 启用 Maven 存储库发行版本 |
|
| Maven 存储库发布更新策略 |
|
| Maven 存储库 OpenShift 服务.如果没有指定 URL 或 host/port/protocol,则使用这个值。 |
|
| 启用 Maven 存储库快照 |
|
| Maven 存储库快照更新策略 |
|
| Maven 存储库的完全限定域名 URL |
|
第 18 章 创建 HA CEP 客户端
您必须调整 CEP 客户端代码,以便与 HA CEP 服务器镜像通信。使用客户端代码的参考实施中包含的示例项目。您可以在 OpenShift 环境内部或外部运行客户端代码。
流程
-
从红帽客户门户网站的 Software Downloads 页面下载
rhpam-7.12.0-reference-implementation.zip
产品提供的可交付文件 -
提取文件的内容,然后解压缩
rhpam-7.12.0-openshift-drools-hacep-distribution.zip
文件。 -
更改到
openshift-drools-hacep-distribution/sources
目录。 -
检查和修改基于
sample-hacep-project/sample-hacep-project-client
目录中的示例项目的客户端代码。确保代码满足 第 19 章 HA CEP 客户端和服务器代码的要求 中描述的额外要求。 要使用 第 17 章 使用 Maven 存储库实施 HA CEP 服务器以更新 KJAR 服务 中描述的方法更新 KJAR 版本,请向客户端添加一个
UpdateKJarGAV
调用,类似于以下代码:TopicsConfig envConfig = TopicsConfig.getDefaultTopicsConfig(); Properties props = getProperties(); try (RemoteStreamingKieSession producer = RemoteStreamingKieSession.create(props, envConfig)){ producer.updateKJarGAV("org.kie:fake-jar:0.1"); }
当执行此调用时,请确保在 Maven 存储库中提供带有指定 GAV 的 KJAR。
在
sample-hacep-project/sample-hacep-project-client
目录中,生成密钥存储,使用password
作为密码。使用以下命令:keytool -genkeypair -keyalg RSA -keystore src/main/resources/keystore.jks
从 OpenShift 环境提取 HTTPS 证书,并将其添加到密钥存储中。输入以下命令:
oc extract secret/my-cluster-cluster-ca-cert --keys=ca.crt --to=- > src/main/resources/ca.crt keytool -import -trustcacerts -alias root -file src/main/resources/ca.crt -keystore src/main/resources/keystore.jks -storepass password -noprompt
-
在项目的
src/main/resources
子目录中,打开configuration.properties
文件,并将<bootstrap-hostname
> 替换为 Kafka 服务器提供的地址。 使用标准 Maven 命令构建项目:
mvn clean install
更改
sample-hacep-project-client
项目目录,并输入以下命令来运行客户端:mvn exec:java -Dexec.mainClass="org.kie.hacep.sample.client.ClientProducerDemo"
此命令执行
ClientProducerDemo
类的main
方法。
第 19 章 HA CEP 客户端和服务器代码的要求
为高可用性 CEP 开发客户端和服务器代码时,请遵循某些额外要求。
kie-remote API
客户端代码必须使用 kie-remote
API 而不是 kie
API。kie-remote
API 在 org.kie:kie-remote
Maven 工件中指定。您可以在 kie-remote
Maven 模块中找到源代码。
显式时间戳
决策引擎需要确定发生事件的顺序。因此,每个事件都必须分配有关联的时间戳。在高可用性环境中,使此时间戳成为 JavaBean 建模事件的模型属性。使用 @Timestamp
注释标注事件类,其中 timestamp 属性本身的名称是参数,如下例所示:
@Role(Role.Type.EVENT) @Timestamp("myTime") public class StockTickEvent implements Serializable { private String company; private double price; private long myTime; }
如果您不提供 timestamp 属性,Drools 会根据客户端将事件插入到远程会话的时间,为每个事件分配一个时间戳。但是,这种机制取决于客户端机器上的时钟。如果不同客户端之间的时钟分离,则这些主机插入的事件之间可能会出现不一致。
非内存操作的 lambda 表达式
在集群的每个节点上处理工作内存操作(在决策引擎的工作内存中插入、修改或删除信息)。不是内存操作的操作必须在领导上执行。
例如,代码可能包含以下规则:
rule FindAdult when $p : Person(age >= 18) then modify($p) { setAdult(true) }; // working memory action sendEmailTo($p); // side effect end
触发此规则时,每个节点上都必须标记为 adult。但是,只有领导人必须发送电子邮件,以便只发送电子邮件的一个副本。
因此,在您的代码中,将电子邮件操作(称为 副作用)嵌套在 lambda 表达式中,如下例所示:
rule FindAdult when $p : Person(age >= 18) then modify($p) { setAdult(true) }; DroolsExecutor.getInstance().execute( () -> sendEmailTo($p) ); end
附录 A. 版本控制信息
文档最新更新于 2023 年 2 月 1 日(周三)。
附录 B. 联系信息
Red Hat Process Automation Manager 文档团队: brms-docs@redhat.com