10.4. 从 KJAR 服务部署不可变 KIE 服务器
您可以使用已构建为 KJAR 文件的服务来部署不可变 KIE 服务器。
您必须在 Maven 存储库中提供该服务。您可以使用 Business Central 或您自己的存储库(如 Nexus 部署)的内置存储库。服务器 pod 启动时,它会从 Maven 存储库检索 KJAR 服务。pod 上的服务永远不会更新或更改。每次重启或扩展 pod 时,服务器会从存储库检索文件,因此您必须确保它们不会更改 Maven 存储库,以保持部署不可变。
您不能在运行的不可变 KIE 服务器上部署或取消部署服务。您可以使用 Business Central 或 Business Central Monitoring 查看监控信息。KIE 服务器像 OpenShift 环境中的任何其他 pod 一样运行;您可以根据需要使用任何基于容器的集成工作流。
如果在同一命名空间中部署了 Business Central 或 Business Central Monitoring,它会自动发现不可变 KIE 服务器。您可以使用 Business Central 或 Business Central Monitoring 在不可变 KIE 服务器上启动和停止(但不部署)服务,并查看监控数据。
10.4.1. 从 KJAR 服务开始为不可变 KIE 服务器配置模板
要从 KJAR 服务部署不可变 KIE 服务器,请使用以下模板文件之一:
-
rhpam711-kieserver-postgresql.yaml
使用 PostgreSQL pod 进行持久性存储。使用此模板,除非您有特定原因来使用另一个模板。 -
rhpam711-kieserver-mysql.yaml
将 MySQL pod 用于持久性存储。 rhpam711-kieserver-externaldb.yaml
将外部数据库服务器用于持久性存储。重要外部数据库服务器的标准 KIE 服务器镜像包括 MySQL 和 PostgreSQL 外部数据库服务器的驱动程序。如果要使用另一个数据库服务器,您必须构建自定义 KIE Server 镜像。具体说明请查看 第 7.10 节 “为外部数据库构建自定义 KIE 服务器扩展镜像”。
流程
-
从红帽客户门户的 软件下载 页面下载
rhpam-7.11.0-openshift-templates.zip
产品。 - 提取所需的模板文件。
使用以下方法之一开始部署模板:
-
要使用 OpenShift Web UI,在 OpenShift 应用程序控制台中选择 Add to Project
Import YAML / JSON,然后选择或粘贴 < template-file-name>.yaml
文件。在 Add Template 窗口中,确保选择了 Process,然后单击 Continue。 要使用 OpenShift 命令行控制台,准备以下命令行:
oc new-app -f <template-path>/<template-file-name>.yaml -p KIE_SERVER_HTTPS_SECRET=kieserver-app-secret -p PARAMETER=value
在这个命令行中,进行以下更改:
-
将
<template-path
> 替换为下载的模板文件的路径。 -
将
<template-file-name
> 替换为模板文件的名称。 -
根据需要使用多个
-p PARAMETER=value
对来设置所需参数。
-
将
-
要使用 OpenShift Web UI,在 OpenShift 应用程序控制台中选择 Add to Project
后续步骤
设置模板的参数。按照 第 10.4.2 节 “从 KJAR 服务为不可变 KIE 服务器设置所需的参数” 中的步骤设置通用参数。您可以查看模板文件以查看所有参数的描述。
10.4.2. 从 KJAR 服务为不可变 KIE 服务器设置所需的参数
将模板配置为从 KJAR 服务部署不可变 KIE 服务器时,您必须在所有情况下设置以下参数。
先决条件
- 您启动了模板的配置,如 第 10.4.1 节 “从 KJAR 服务开始为不可变 KIE 服务器配置模板” 所述。
流程
设置以下参数:
-
凭证 secret (
CREDENTIALS_SECRET
):包含管理用户凭证的 secret 名称,如 第 7.5 节 “为管理用户创建 secret” 中创建的。 -
KIE Server Keystore Secret Name (
KIE_SERVER_HTTPS_SECRET
): KIE 服务器的 secret 名称,如 第 7.2 节 “为 KIE 服务器创建 secret” 中创建的。 -
KIE Server Certificate Name (
KIE_SERVER_HTTPS_NAME
):您在 第 7.2 节 “为 KIE 服务器创建 secret” 中创建的密钥存储中证书名称。 -
KIE Server Keystore Password (
KIE_SERVER_HTTPS_PASSWORD
): 您在 第 7.2 节 “为 KIE 服务器创建 secret” 中创建的密钥存储的密码。 -
应用名称 (
APPLICATION_NAME
):OpenShift 应用的名称。它用于 Business Central Monitoring 和 KIE Server 的默认 URL。OpenShift 使用应用程序名称创建一组单独的部署配置、服务、路由、标签和工件。只要使用不同的应用程序名称,就可以将同一模板的多个应用程序部署到同一个项目中。另外,应用程序名称决定了 KIE 服务器加入 Business Central 或 Business Central Monitoring 上的服务器配置(服务器模板)。如果要部署多个 KIE 服务器,您必须确保每个服务器都有不同的应用程序名称。 -
Maven 存储库 URL (
MAVEN_REPO_URL
): Maven 存储库的 URL。您必须将要在 KIE 服务器上部署的所有进程(KJAR 文件)上传到此存储库中。 -
Maven 存储库 ID (
MAVEN_REPO_ID
):Maven 存储库的标识符。默认值为repo-custom
。 -
Maven 存储库用户名 (
MAVEN_REPO_USERNAME
):Maven 存储库的用户名。 -
Maven 存储库密码 (
MAVEN_REPO_PASSWORD
):Maven 存储库的密码。 KIE Server Container Deployment (
KIE_SERVER_CONTAINER_DEPLOYMENT
):部署必须从 Maven 存储库拉取的决策服务(KJAR 文件)的识别信息。格式为<containerId>=<groupId>:<artifactId>:<version>
,或如果您要为容器设置一个别名,则为<containerId>(<aliasId>)=<groupId>:<artifactId>:<version>
。您可以使用|
分隔符提供两个或多个 KJAR 文件,如下例所示:containerId=groupId:artifactId:version|c2(alias2)=g2:a2:v2
-
KIE Server Mode (
KIE_SERVER_MODE
):在rhpam711-kieserver the.yaml
模板中,默认值为PRODUCTION
。在PRODUCTION
模式中,您无法在 KIE 服务器上部署 KJAR 工件的SNAPSHOT
版本,且无法更改现有容器中的工件版本。要使用 PRODUCTION 模式部署新版本
,请在同一 KIE 服务器上创建一个新容器。要部署SNAPSHOT
版本或更改现有容器中的工件版本,请将此参数设置为DEVELOPMENT
。 -
镜像流命名空间(
IMAGE_STREAM_NAMESPACE
):镜像流可用的命名空间。如果您的 OpenShift 环境中已有镜像流(请参阅 第 7.1 节 “确保镜像流和镜像 registry 的可用性”),则命名空间为openshift
。如果安装了镜像流文件,则 namespace 是 OpenShift 项目的名称。
-
凭证 secret (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.4.10 节 “从 KJAR 服务为不可变 KIE 服务器完成模板部署” 中的步骤操作。
10.4.3. 为来自 KJAR 服务的不可变 KIE 服务器配置镜像流命名空间
如果您在不是 openshift
的命名空间中创建镜像流,则必须在模板中配置命名空间。
如果 Red Hat OpenShift Container Platform 环境中已提供了所有镜像流,您可以跳过这个过程。
先决条件
- 您启动了模板的配置,如 第 10.4.1 节 “从 KJAR 服务开始为不可变 KIE 服务器配置模板” 所述。
流程
如果您根据 第 7.1 节 “确保镜像流和镜像 registry 的可用性” 中的说明安装了镜像流文件,请将 ImageStream Namespace (IMAGE_STREAM_NAMESPACE
)参数设置为 OpenShift 项目的名称。
10.4.4. 为来自 KJAR 服务的不可变 KIE 服务器配置有关 Business Central 或 Business Central Monitoring 实例的信息
如果要从同一命名空间中的 Business Central 或 Business Central Monitoring 实例到 KIE 服务器启用连接,您必须配置有关 Business Central 或 Business Central Monitoring 实例的信息。
Business Central 或 Business Central Monitoring 实例必须使用与 KIE 服务器相同的凭证 secret (CREDENTIALS_SECRET
)进行配置。
先决条件
- 您启动了模板的配置,如 第 10.4.1 节 “从 KJAR 服务开始为不可变 KIE 服务器配置模板” 所述。
流程
设置以下参数:
-
Name of the Business Central service (
BUSINESS_CENTRAL_SERVICE
): Business Central 或 Business Central Monitoring 的 OpenShift 服务名称。
-
Name of the Business Central service (
确保以下设置被设置为与 Business Central 或 Business Central Monitoring 相同的设置相同的值:
-
Maven 存储库 URL (
MAVEN_REPO_URL
):必须部署服务的外部 Maven 存储库的 URL。 -
Maven 存储库用户名 (
MAVEN_REPO_USERNAME
):Maven 存储库的用户名。 -
Maven 存储库密码 (
MAVEN_REPO_PASSWORD
):Maven 存储库的密码。
-
Maven 存储库 URL (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.4.10 节 “从 KJAR 服务为不可变 KIE 服务器完成模板部署” 中的步骤操作。
10.4.5. 在没有连接到来自 KJAR 服务的不可变 KIE 服务器的情况下,在环境中配置对 Maven 镜像的访问
当将模板配置为从 KJAR 服务部署不可变 KIE 服务器时,如果您的 OpenShift 环境没有连接到公共互联网,您必须配置对根据 第 7.9 节 “准备 Maven 镜像存储库以供离线使用” 设置的 Maven 镜像的访问。
先决条件
- 您启动了模板的配置,如 第 10.4.1 节 “从 KJAR 服务开始为不可变 KIE 服务器配置模板” 所述。
流程
要配置对 Maven 镜像的访问,请设置以下参数:
-
Maven 镜像 URL (
MAVEN_MIRROR_URL
):您在 第 7.9 节 “准备 Maven 镜像存储库以供离线使用” 中设置 Maven 镜像存储库的 URL。此 URL 必须可从 OpenShift 环境中的容器集访问。 Maven 镜像 (
MAVEN_MIRROR_OF
):决定要从镜像检索哪些工件的值。有关设置mirrorOf
值的说明,请参阅 Apache Maven 文档中的 镜像设置。https://maven.apache.org/guides/mini/guide-mirror-settings.html默认值为external:114
。使用此值时,Maven 从镜像检索每个所需的工件,且不会查询任何其他存储库。-
如果您配置了外部 Maven 存储库(
MAVEN_REPO_URL
),请将MAVEN_MIRROR_OF
更改为将此存储库中的工件从镜像中排除,例如external:598,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。 -
如果您配置内置的 Business Central Maven 存储库(
BUSINESS_CENTRAL_MAVEN_SERVICE
),请更改MAVEN_MIRROR_OF
以将此存储库中的工件排除在 mirror:external:39),!repo-rhpamcentr
。 -
如果您配置了这两个软件仓库,请更改
MAVEN_MIRROR_OF
,以从镜像中排除两个存储库中的工件:external: the the!repo-rhpamcentr,!repo-custom
。将repo-custom
替换为您在MAVEN_REPO_ID
中配置的 ID。
-
如果您配置了外部 Maven 存储库(
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.4.10 节 “从 KJAR 服务为不可变 KIE 服务器完成模板部署” 中的步骤操作。
10.4.6. 为来自 KJAR 服务的不可变 KIE 服务器设置 RH-SSO 身份验证的参数
如果要使用 RH-SSO 身份验证,请在配置模板时完成以下附加配置,从 KJAR 服务部署不可变 KIE 服务器。
不要在同一部署中配置 LDAP 身份验证和 RH-SSO 身份验证。
先决条件
- 在 RH-SSO 身份验证系统中创建了 Red Hat Process Automation Manager 的域。
Red Hat Process Automation Manager 的用户名和密码在 RH-SSO 身份验证系统中创建。有关可用角色的列表,请参阅 第 14 章 Red Hat Process Automation Manager 角色和用户。
您必须为管理用户在 secret 中配置的用户名和密码的用户,如 第 7.5 节 “为管理用户创建 secret” 所述。此用户必须具有
kie-server、rest-all、admin
角色。- 客户端在您要部署的 Red Hat Process Automation Manager 环境的所有组件的 RH-SSO 身份验证系统中创建。客户端设置包含组件的 URL。在部署环境后,您可以查看并编辑 URL。另外,Red Hat Process Automation Manager 部署也可以创建客户端。但是,这个选项对环境提供较少的详细控制。
- 您启动了模板的配置,如 第 10.4.1 节 “从 KJAR 服务开始为不可变 KIE 服务器配置模板” 所述。
流程
设置以下参数:
-
RH-SSO URL (
SSO_URL
):RH-SSO 的 URL。 -
RH-SSO Realm 名称 (
SSO_REALM
):Red Hat Process Automation Manager 的 RH-SSO 域。 -
RH-SSO 禁用 SSL 证书验证 (
SSO_DISABLE_SSL_CERTIFICATE_VALIDATION
):如果您的 RH-SSO 安装不使用有效的 HTTPS 证书,则设置为true
。
-
RH-SSO URL (
完成以下流程之一:
如果您在 RH-SSO 中为 Red Hat Process Automation Manager 创建客户端,请在模板中设置以下参数:
-
Business Central 或 Business Central Monitoring RH-SSO Client name (
BUSINESS_CENTRAL_SSO_CLIENT
): Business Central 或 Business Central Monitoring 的 RH-SSO 客户端名称。 -
KIE Server RH-SSO Client name (
KIE_SERVER_SSO_CLIENT
): KIE 服务器的 RH-SSO 客户端名称。 -
KIE Server RH-SSO Client Secret (
KIE_SERVER_SSO_SECRET
):为 KIE 服务器的客户端在 RH-SSO 中设置的机密字符串。
-
Business Central 或 Business Central Monitoring RH-SSO Client name (
要在 RH-SSO 中为 Red Hat Process Automation Manager 创建客户端,请在模板中设置以下参数:
-
KIE Server RH-SSO Client name (
KIE_SERVER_SSO_CLIENT
):要在 KIE 服务器的 RH-SSO 中创建的客户端名称。 -
KIE Server RH-SSO Client Secret (
KIE_SERVER_SSO_SECRET
):为 KIE 服务器的客户端在 RH-SSO 中设置的 secret 字符串。 -
RH-SSO Realm Admin Username (
SSO_USERNAME
)和 RH-SSO Realm Admin Password (SSO_PASSWORD
):Red Hat Process Automation Manager 的 RH-SSO 域的域用户名和密码。您必须提供此用户名和密码才能创建所需的客户端。
-
KIE Server RH-SSO Client name (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.4.10 节 “从 KJAR 服务为不可变 KIE 服务器完成模板部署” 中的步骤操作。
完成部署后,查看 RH-SSO 身份验证系统中 Red Hat Process Automation Manager 组件的 URL,以确保它们正确。
10.4.7. 为来自 KJAR 服务的不可变 KIE 服务器设置 LDAP 身份验证参数
如果要使用 LDAP 身份验证,请在配置模板时完成以下附加配置,以便从 KJAR 服务部署不可变 KIE 服务器。
不要在同一部署中配置 LDAP 身份验证和 RH-SSO 身份验证。
先决条件
您在 LDAP 系统中为 Red Hat Process Automation Manager 创建用户名和密码。有关可用角色的列表,请参阅 第 14 章 Red Hat Process Automation Manager 角色和用户。
您必须为管理用户在 secret 中配置的用户名和密码的用户,如 第 7.5 节 “为管理用户创建 secret” 所述。此用户必须具有
kie-server、rest-all、admin
角色。- 您启动了模板的配置,如 第 10.4.1 节 “从 KJAR 服务开始为不可变 KIE 服务器配置模板” 所述。
流程
设置模板的
AUTH_LDAP
the 参数。这些参数与 Red Hat JBoss EAP 的LdapExtended
Login 模块的设置对应。有关使用这些设置的说明,请参阅 LdapExtended 登录模块。注意如果要启用 LDAP 故障转移,您可以将设置或多个 LDAP 服务器地址放在
AUTH_LDAP_URL
参数中,用空格分开。如果 LDAP 服务器没有定义部署所需的所有角色,您可以将 LDAP 组映射到 Red Hat Process Automation Manager 角色。要启用 LDAP 角色映射,请设置以下参数:
-
RoleMapping rolesProperties 文件路径 (
AUTH_ROLE_MAPPER_ROLES_PROPERTIES
): 定义角色映射的文件的完全限定域名,如/opt/eap/standalone/configuration/rolemapping/rolemapping.properties
。您必须提供此文件并将其挂载到所有适用的部署配置中的该路径中 ; 具体步骤请查看 第 13.3 节 “(可选)提供 LDAP 角色映射文件”。 -
RoleMapping replaceRole 属性 (
AUTH_ROLE_MAPPER_REPLACE_ROLE
):如果设为true
,则映射的角色会替换 LDAP 服务器上定义的角色;如果设为false
,则 LDAP 服务器上定义的映射角色和角色都被设置为用户应用角色。默认设置为false
。
-
RoleMapping rolesProperties 文件路径 (
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.4.10 节 “从 KJAR 服务为不可变 KIE 服务器完成模板部署” 中的步骤操作。
10.4.8. 为来自 KJAR 服务的不可变 KIE 服务器设置使用外部数据库服务器的参数
如果您使用 rhpam711-kieserver-externaldb.yaml
模板将外部数据库服务器用于 KIE 服务器,请在配置模板以从 KJAR 服务部署不可变 KIE 服务器时完成以下附加配置。
先决条件
- 您启动了模板的配置,如 第 10.4.1 节 “从 KJAR 服务开始为不可变 KIE 服务器配置模板” 所述。
流程
设置以下参数:
KIE Server External Database Driver (
KIE_SERVER_EXTERNALDB_DRIVER
):服务器的驱动程序,具体取决于服务器类型:-
mysql
-
postgresql
-
mariadb
-
mssql
-
db2
-
oracle
-
法国
-
-
KIE 服务器外部数据库用户 (
KIE_SERVER_EXTERNALDB_USER
)和 KIE 服务器外部数据库密码(KIE_SERVER_EXTERNALDB_PWD
):外部数据库服务器的用户名和密码 KIE Server External Database URL (
KIE_SERVER_EXTERNALDB_URL
):外部数据库服务器的 JDBC URL注意如果您使用 EntrepriseDB Postgres 数据库服务器,请使用以
jdbc:postgresql://
开头的 URL,而不是jdbc:edb://
。或者,不要设置 URL,并设置主机和端口参数。-
KIE 服务器外部数据库主机 (
KIE_SERVER_EXTERNALDB_SERVICE_HOST
)和 KIE 服务器外部数据库端口 (KIE_SERVER_EXTERNALDB_SERVICE_PORT
):外部数据库服务器的主机名和端口号。您可以将这些参数设置为设置KIE_SERVER_EXTERNALDB_URL
参数的替代选择。 KIE Server External Database Dialect (
KIE_SERVER_EXTERNALDB_DIALECT
):服务器的 Hibernate 划分,具体取决于服务器类型。常见设置有:-
org.hibernate.dialect.MySQL5InnoDBDialect
-
org.hibernate.dialect.MySQL8Dialect
-
org.hibernate.dialect.MariaDB102Dialect
-
org.hibernate.dialect.PostgreSQL95Dialect
-
org.hibernate.dialect.PostgresPlusDialect
(用于 EntrepriseDB Postgres Advanced Server) -
org.hibernate.dialect.SQLServer2012Dialect
(used for MS SQL) -
org.hibernate.dialect.DB2Dialect
-
org.hibernate.dialect.Oracle10gDialect
org.hibernate.dialect.SybaseASE15Dialect
有关支持的 dialects 列表,请参阅 Red Hat JBoss EAP 文档中的 Hibernate 属性中的 Hibernate SQL Dialects 表。
-
-
KIE 服务器外部数据库名称 (
KIE_SERVER_EXTERNALDB_DB
):在外部数据库服务器上使用的数据库名称 -
JDBC Connection Checker 类 (
KIE_SERVER_EXTERNALDB_CONNECTION_CHECKER
):数据库服务器的 JDBC 连接检查程序类的名称。如果没有此信息,则数据库服务器连接在丢失后无法恢复,例如如果数据库服务器重启。 -
JDBC Exception Sorter 类 (
KIE_SERVER_EXTERNALDB_EXCEPTION_SORTER
):数据库服务器的 JDBC 异常分类类的名称。如果没有此信息,则数据库服务器连接在丢失后无法恢复,例如如果数据库服务器重启。
如果您为使用外部数据库服务器创建了自定义镜像,如 第 7.10 节 “为外部数据库构建自定义 KIE 服务器扩展镜像” 所述,请设置以下参数:
-
驱动程序扩展镜像 (
EXTENSIONS_IMAGE
):扩展镜像的 ImageStreamTag 定义,如jboss-kie-db2-extension-openshift-image:11.1.4.4
-
Driver ImageStream Namespace (
EXTENSIONS_IMAGE_NAMESPACE
):您将扩展镜像上传到的命名空间,如openshift
或项目命名空间。
-
驱动程序扩展镜像 (
如果您使用 MySQL 版本 8 外部数据库服务器,请启用
mysql_native_password
插件并使用它进行身份验证。有关此诊断的说明,请参阅 MySQL 8.0 参考手册 中的 原生可插拔验证。如果您使用红帽提供的 MySQL 版本 8 镜像在 Red Hat OpenShift Container Platform 上启用插件,请将
MYSQL_DEFAULT_AUTHENTICATION_PLUGIN
环境变量设置为mysql_native_password
。如果您在启用
mysql_native_password
插件前在 MySQL 8 服务器上创建了用户,您必须在启用插件后更新mysql-user
表。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.4.10 节 “从 KJAR 服务为不可变 KIE 服务器完成模板部署” 中的步骤操作。
10.4.9. 从 KJAR 服务为不可变 KIE 服务器启用 Prometheus 指标集合
如果要将 KIE 服务器部署配置为使用 Prometheus 来收集和存储指标,请在安装时在 KIE 服务器中启用对此功能的支持。
先决条件
- 您启动了模板的配置,如 第 10.4.1 节 “从 KJAR 服务开始为不可变 KIE 服务器配置模板” 所述。
流程
要启用对 Prometheus 指标集合的支持,请将 Prometheus Server Extension Disabled (PROMETHEUS_SERVER_EXT_DISABLED
)参数设置为 false
。
后续步骤
如有必要,设置附加参数。
要完成部署,请按照 第 10.4.10 节 “从 KJAR 服务为不可变 KIE 服务器完成模板部署” 中的步骤操作。
有关配置 Prometheus 指标集合的说明,请参阅 管理和监控 KIE 服务器。
10.4.10. 从 KJAR 服务为不可变 KIE 服务器完成模板部署
在 OpenShift Web UI 或命令行中设置所有必要的参数后,请完成模板部署。
流程
根据您使用的方法,完成以下步骤:
在 OpenShift Web UI 中,单击 Create。
-
如果
这将创建可能具有安全性或项目行为影响的资源
,请单击 Create Anyway。
-
如果
- 完成命令行并按 Enter。
后续步骤
根据您的环境需求,可选完成 第 13 章 部署环境后的可选步骤 中描述的步骤。