10.2. 使用 S2I 构建部署不可变 KIE 服务器


您可以使用 S2I 构建部署不可变 KIE 服务器。当您部署服务器时,部署过程会为必须在此服务器上运行的任何服务检索源代码,构建服务,并将它们包含在服务器镜像中。

您不能在运行的不可变 KIE 服务器上部署或取消部署服务。您可以使用 Business Central 或 Business Central Monitoring 查看监控信息。KIE 服务器像 OpenShift 环境中的任何其他 pod 一样运行;您可以根据需要使用任何基于容器的集成工作流。

您可以启用不可变 KIE 服务器的 JMS 功能。借助 JMS 功能,您可以使用外部 AMQ 消息代理通过 JMS API 与服务器交互。

默认情况下,此服务器使用 pod 中的 PostgreSQL 数据库服务器。要在 pod 或外部数据库服务器中使用 MySQL 数据库服务器,您可以修改该模板。有关修改模板的步骤,请参考 第 10.3 节 “使用 S2I 修改部署不可变 KIE 服务器的模板”

如果在同一命名空间中部署了 Business Central 或 Business Central Monitoring,它会自动发现不可变 KIE 服务器。您可以使用 Business Central 或 Business Central Monitoring 在不可变 KIE 服务器上启动和停止(但不部署)服务,并查看监控数据。

10.2.1. 使用 S2I 为不可变 KIE 服务器启动模板配置

要使用 S2I 构建部署不可变 KIE 服务器,如果要启用 JMS 功能,请使用 rhpam711-prod-immutable-kieserver-amq.yaml 模板文件。否则,请使用 rhpam711-prod-immutable-kieserver.yaml 模板文件。

流程

  1. 从红帽客户门户的 软件下载 页面下载 rhpam-7.11.0-openshift-templates.zip 产品。
  2. 提取所需的模板文件。
  3. 默认情况下,模板包含两个 KIE 服务器。每个服务都使用 pod 中的 PostgreSQL 数据库服务器。要更改 KIE 服务器的数量或在 pod 或外部数据库服务器中使用 MySQL 数据库服务器,请修改模板,如 第 10.3 节 “使用 S2I 修改部署不可变 KIE 服务器的模板” 所述。
  4. 使用以下方法之一开始部署模板:

    • 要使用 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 对来设置所需参数。

后续步骤

设置模板的参数。按照 第 10.2.2 节 “使用 S2I 为不可变 KIE 服务器设置所需的参数” 中的步骤设置通用参数。您可以查看模板文件以查看所有参数的描述。

10.2.2. 使用 S2I 为不可变 KIE 服务器设置所需的参数

将模板配置为使用 S2I 构建来部署不可变 KIE 服务器时,您必须在所有情况下设置以下参数。

先决条件

流程

  1. 设置以下参数:

    • 凭证 secret (CREDENTIALS_SECRET):包含管理用户凭证的 secret 名称,如 第 7.5 节 “为管理用户创建 secret” 中创建的。
    • KIE Server Keystore Secret Name (KIE_SERVER_HTTPS_SECRET): KIE 服务器的 secret 名称,如 第 7.2 节 “为 KIE 服务器创建 secret” 中创建的。
    • KIE Server Certificate Name (KIE_SERVER_HTTPS_NAME):您在 第 7.2 节 “为 KIE 服务器创建 secret” 中创建的密钥存储中证书名称。
    • KIE Server Keystore Password (KIE_SERVER_HTTPS_PASSWORD): 您在 第 7.2 节 “为 KIE 服务器创建 secret” 中创建的密钥存储的密码。
    • 应用名称 (APPLICATION_NAME):OpenShift 应用的名称。它用于 Business Central Monitoring 和 KIE Server 的默认 URL。OpenShift 使用应用程序名称创建一组单独的部署配置、服务、路由、标签和工件。只要使用不同的应用程序名称,就可以将同一模板的多个应用程序部署到同一个项目中。另外,应用程序名称决定了 KIE 服务器加入 Business Central 或 Business Central Monitoring 上的服务器配置(服务器模板)。如果要部署多个 KIE 服务器,您必须确保每个服务器都有不同的应用程序名称。
    • KIE Server Container Deployment (KIE_SERVER_CONTAINER_DEPLOYMENT):在构建源后,部署必须从本地或外部存储库拉取的决定服务(KJAR 文件)的信息。格式为 <containerId>=<groupId>:<artifactId>:<version>,或如果您要为容器设置一个别名,则为<containerId>(<aliasId>)=<groupId>:<artifactId>:<version>。您可以使用 | 分隔符提供两个或多个 KJAR 文件,如下例所示:

      containerId=groupId:artifactId:version|c2(alias2)=g2:a2:v2

      为避免重复的容器 ID,工件 ID 对于项目构建或使用的每个工件都必须是唯一的。

    • Git Repository URL (SOURCE_REPOSITORY_URL):包含服务源的 Git 存储库的 URL。
    • Git 参考 (SOURCE_REPOSITORY_REF):Git 存储库中的分支。
    • Context Directory (CONTEXT_DIR):从 Git 存储库下载的项目中源的路径。
    • 工件 目录(ARTIFACT_DIR):在成功 Maven 构建后包含所需二进制文件(KJAR 文件和任何其他必要的文件)的项目中的路径。通常此目录是构建的目标目录。但是,您可以在 Git 存储库中提供此目录中的预构建二进制文件。
    • 镜像流命名空间(IMAGE_STREAM_NAMESPACE):镜像流可用的命名空间。如果您的 OpenShift 环境中已有镜像流(请参阅 第 7.1 节 “确保镜像流和镜像 registry 的可用性”),则命名空间为 openshift。如果安装了镜像流文件,则 namespace 是 OpenShift 项目的名称。

后续步骤

如有必要,设置附加参数。

要完成部署,请按照 第 10.2.12 节 “使用 S2I 为不可变 KIE 服务器完成模板部署” 中的步骤操作。

10.2.3. 使用 S2I 为不可变 KIE 服务器配置镜像流命名空间

如果您在不是 openshift 的命名空间中创建镜像流,则必须在模板中配置命名空间。

如果 Red Hat OpenShift Container Platform 环境中已提供了所有镜像流,您可以跳过这个过程。

先决条件

流程

如果您根据 第 7.1 节 “确保镜像流和镜像 registry 的可用性” 中的说明安装了镜像流文件,请将 ImageStream Namespace (IMAGE_STREAM_NAMESPACE)参数设置为 OpenShift 项目的名称。

10.2.4. 使用 S2I 为不可变 KIE 服务器配置有关 Business Central 或 Business Central Monitoring 实例的信息

如果要从同一命名空间中的 Business Central 或 Business Central Monitoring 实例到 KIE 服务器启用连接,您必须配置有关 Business Central 或 Business Central Monitoring 实例的信息。

Business Central 或 Business Central Monitoring 实例必须使用与 KIE 服务器相同的凭证 secret (CREDENTIALS_SECRET)进行配置。

先决条件

流程

  1. 设置以下参数:

    • Name of the Business Central service (BUSINESS_CENTRAL_SERVICE): Business Central 或 Business Central Monitoring 的 OpenShift 服务名称。

后续步骤

如有必要,设置附加参数。

要完成部署,请按照 第 10.2.12 节 “使用 S2I 为不可变 KIE 服务器完成模板部署” 中的步骤操作。

10.2.5. 使用 S2I 为不可变 KIE 服务器设置可选 Maven 存储库

将模板配置为使用 S2I 构建来部署不可变 KIE 服务器时,如果您的源构建包含公共 Maven 树上不可用的依赖项,则需要设置单独的自定义 Maven 存储库来访问存储库。

先决条件

流程

要配置对自定义 Maven 存储库的访问权限,请设置以下参数:

  • Maven 存储库 URL (MAVEN_REPO_URL): Maven 存储库的 URL。
  • Maven 存储库 ID (MAVEN_REPO_ID):Maven 存储库的标识符。默认值为 repo-custom
  • Maven 存储库用户名 (MAVEN_REPO_USERNAME):Maven 存储库的用户名。
  • Maven 存储库密码 (MAVEN_REPO_PASSWORD):Maven 存储库的密码。

后续步骤

如有必要,设置附加参数。

要完成部署,请按照 第 10.2.12 节 “使用 S2I 为不可变 KIE 服务器完成模板部署” 中的步骤操作。

10.2.6. 使用 S2I 在没有连接到公共互联网的环境中配置对 Maven 镜像的访问

当将模板配置为使用 S2I 构建来部署不可变 KIE 服务器时,如果您的 OpenShift 环境没有连接到公共互联网,您必须配置对根据 第 7.9 节 “准备 Maven 镜像存储库以供离线使用” 设置的 Maven 镜像的访问。

先决条件

流程

要配置对 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。

后续步骤

如有必要,设置附加参数。

要完成部署,请按照 第 10.2.12 节 “使用 S2I 为不可变 KIE 服务器完成模板部署” 中的步骤操作。

10.2.7. 使用 S2I 为不可变 KIE 服务器配置与 AMQ 服务器配置通信

如果您使用 rhpam711-prod-immutable-kieserver-amq.yaml 模板文件,则会启用 KIE 服务器的 JMS 功能。您可以使用外部 AMQ 消息代理通过 JMS API 与服务器交互。

如果您的环境有必要,您可以修改 JMS 配置。

先决条件

流程

根据您的环境需要设置以下参数:

  • AMQ 用户名 (AMQ_USERNAME)和 AMQ 密码(AMQ_PASSWORD):标准代理用户的用户名和密码(如果环境中需要用户身份验证)。
  • AMQ 角色 (AMQ_ROLE):标准代理用户的用户角色。默认角色为 admin
  • AMQ Queues (AMQ_QUEUES):AMQ 队列名称,用逗号分开。代理启动时会自动创建这些队列,并可作为 JBoss EAP 服务器中的 JNDI 资源访问。如果您使用自定义队列名称,还必须在 KIE_SERVER_JMS_QUEUE_RESPONSE, KIE_SERVER_JMS_QUEUE_REQUEST, KIE_SERVER_JMS_QUEUE_SIGNAL, KIE_SERVER_JMS_QUEUE_AUDIT, 和 KIE_SERVER_JMS_QUEUE_EXECUTOR 参数中设置相同的队列名称。
  • AMQ Global Max Size (AMQ_GLOBAL_MAX_SIZE):消息数据可消耗的最大内存量。如果没有指定值,则会分配 pod 中可用内存的一半。
  • AMQ 协议 (AMQ_PROTOCOL): KIE 服务器可用于与 AMQ 服务器通信的代理协议,用逗号分开。允许的值有 openwireamqpstompmqtt。JBoss EAP 仅支持 openwire。默认值为 openwire
  • AMQ Broker Image (AMQ_BROKER_IMAGESTREAM_NAME):AMQ 代理镜像的镜像流名称。

后续步骤

如有必要,设置附加参数。

要完成部署,请按照 第 10.2.12 节 “使用 S2I 为不可变 KIE 服务器完成模板部署” 中的步骤操作。

10.2.8. 使用 S2I 为不可变 KIE 服务器设置 RH-SSO 身份验证的参数

如果要使用 RH-SSO 身份验证,请在配置模板时使用 S2I 构建来部署不可变 KIE 服务器时完成以下附加配置。

重要

不要在同一部署中配置 LDAP 身份验证和 RH-SSO 身份验证。

先决条件

  • 在 RH-SSO 身份验证系统中创建了 Red Hat Process Automation Manager 的域。
  • Red Hat Process Automation Manager 的用户名和密码在 RH-SSO 身份验证系统中创建。有关可用角色的列表,请参阅 第 14 章 Red Hat Process Automation Manager 角色和用户

    您必须为管理用户在 secret 中配置的用户名和密码的用户,如 第 7.5 节 “为管理用户创建 secret” 所述。此用户必须具有 kie-server、rest-all、admin 角色。

  • 客户端在您要部署的 Red Hat Process Automation Manager 环境的所有组件的 RH-SSO 身份验证系统中创建。客户端设置包含组件的 URL。在部署环境后,您可以查看并编辑 URL。另外,Red Hat Process Automation Manager 部署也可以创建客户端。但是,这个选项对环境提供较少的详细控制。
  • 您启动了模板的配置,如 第 10.2.1 节 “使用 S2I 为不可变 KIE 服务器启动模板配置” 所述。

流程

  1. 设置以下参数:

    • RH-SSO URL (SSO_URL):RH-SSO 的 URL。
    • RH-SSO Realm 名称 (SSO_REALM):Red Hat Process Automation Manager 的 RH-SSO 域。
    • RH-SSO 禁用 SSL 证书验证 (SSO_DISABLE_SSL_CERTIFICATE_VALIDATION):如果您的 RH-SSO 安装不使用有效的 HTTPS 证书,则设置为 true
  2. 完成以下流程之一:

    1. 如果您在 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 中设置的机密字符串。
    2. 要在 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 域的域用户名和密码。您必须提供此用户名和密码才能创建所需的客户端。

后续步骤

如有必要,设置附加参数。

要完成部署,请按照 第 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 身份验证。

先决条件

流程

  1. 设置模板的 AUTH_LDAP the 参数。这些参数与 Red Hat JBoss EAP 的 LdapExtended Login 模块的设置对应。有关使用这些设置的说明,请参阅 LdapExtended 登录模块

    注意

    如果要启用 LDAP 故障转移,您可以将设置或多个 LDAP 服务器地址放在 AUTH_LDAP_URL 参数中,用空格分开。

    如果 LDAP 服务器没有定义部署所需的所有角色,您可以将 LDAP 组映射到 Red Hat Process Automation Manager 角色。要启用 LDAP 角色映射,请设置以下参数:

    • RoleMapping rolesProperties 文件路径 (AUTH_ROLE_MAPPER_ROLES_PROPERTIES): 定义角色映射的文件的完全限定域名,如 /opt/eap/standalone/configuration/rolemapping/rolemapping.properties。您必须提供此文件并将其挂载到所有适用的部署配置中的该路径中 ; 具体步骤请查看 第 13.3 节 “(可选)提供 LDAP 角色映射文件”
    • RoleMapping replaceRole 属性 (AUTH_ROLE_MAPPER_REPLACE_ROLE):如果设为 true,则映射的角色会替换 LDAP 服务器上定义的角色;如果设为 false,则 LDAP 服务器上定义的映射角色和角色都被设置为用户应用角色。默认设置为 false

后续步骤

如有必要,设置附加参数。

要完成部署,请按照 第 10.2.12 节 “使用 S2I 为不可变 KIE 服务器完成模板部署” 中的步骤操作。

10.2.10. 使用 S2I 为不可变 KIE 服务器设置使用外部数据库服务器的参数

如果您将模板修改为将外部数据库服务器用于 KIE 服务器,如 第 10.3 节 “使用 S2I 修改部署不可变 KIE 服务器的模板” 所述,请在配置模板时使用 S2I 构建部署不可变 KIE 服务器时完成以下附加配置。

先决条件

流程

  1. 设置以下参数:

    • KIE Server External Database Driver (KIE_SERVER_EXTERNALDB_DRIVER):服务器的驱动程序,具体取决于服务器类型:

      • mysql
      • postgresql
      • mariadb
      • mssql
      • db2
      • oracle
      • 法国
    • KIE 服务器外部数据库用户 (KIE_SERVER_EXTERNALDB_USER)和 KIE 服务器外部数据库密码(KIE_SERVER_EXTERNALDB_PWD):外部数据库服务器的用户名和密码
    • KIE Server External Database URL (KIE_SERVER_EXTERNALDB_URL):外部数据库服务器的 JDBC URL

      注意

      如果您使用 EntrepriseDB Postgres 数据库服务器,请使用以 jdbc:postgresql:// 开头的 URL,而不是 jdbc:edb://。或者,不要设置 URL,并设置主机和端口参数。

    • KIE 服务器外部数据库主机 (KIE_SERVER_EXTERNALDB_SERVICE_HOST)和 KIE 服务器外部数据库端口 (KIE_SERVER_EXTERNALDB_SERVICE_PORT):外部数据库服务器的主机名和端口号。您可以将这些参数设置为设置 KIE_SERVER_EXTERNALDB_URL 参数的替代选择。
    • KIE Server External Database Dialect (KIE_SERVER_EXTERNALDB_DIALECT):服务器的 Hibernate 划分,具体取决于服务器类型。常见设置有:

      • org.hibernate.dialect.MySQL5InnoDBDialect
      • org.hibernate.dialect.MySQL8Dialect
      • org.hibernate.dialect.MariaDB102Dialect
      • org.hibernate.dialect.PostgreSQL95Dialect
      • org.hibernate.dialect.PostgresPlusDialect (用于 EntrepriseDB Postgres Advanced Server)
      • org.hibernate.dialect.SQLServer2012Dialect (used for MS SQL)
      • org.hibernate.dialect.DB2Dialect
      • org.hibernate.dialect.Oracle10gDialect
      • org.hibernate.dialect.SybaseASE15Dialect

        有关支持的 dialects 列表,请参阅 Red Hat JBoss EAP 文档中的 Hibernate 属性中的 Hibernate SQL Dialects 表。

    • KIE 服务器外部数据库名称 (KIE_SERVER_EXTERNALDB_DB):在外部数据库服务器上使用的数据库名称
    • JDBC Connection Checker 类 (KIE_SERVER_EXTERNALDB_CONNECTION_CHECKER):数据库服务器的 JDBC 连接检查程序类的名称。如果没有此信息,则数据库服务器连接在丢失后无法恢复,例如如果数据库服务器重启。
    • JDBC Exception Sorter 类 (KIE_SERVER_EXTERNALDB_EXCEPTION_SORTER):数据库服务器的 JDBC 异常分类类的名称。如果没有此信息,则数据库服务器连接在丢失后无法恢复,例如如果数据库服务器重启。
  2. 如果您为使用外部数据库服务器创建了自定义镜像,如 第 7.10 节 “为外部数据库构建自定义 KIE 服务器扩展镜像” 所述,请设置以下参数:

    • 驱动程序扩展镜像 (EXTENSIONS_IMAGE):扩展镜像的 ImageStreamTag 定义,如 jboss-kie-db2-extension-openshift-image:11.1.4.4
    • Driver ImageStream Namespace (EXTENSIONS_IMAGE_NAMESPACE):您将扩展镜像上传到的命名空间,如 openshift 或项目命名空间。
  3. 如果您使用 MySQL 版本 8 外部数据库服务器,请启用 mysql_native_password 插件并使用它进行身份验证。有关此诊断的说明,请参阅 MySQL 8.0 参考手册 中的 原生可插拔验证

    如果您使用红帽提供的 MySQL 版本 8 镜像在 Red Hat OpenShift Container Platform 上启用插件,请将 MYSQL_DEFAULT_AUTHENTICATION_PLUGIN 环境变量设置为 mysql_native_password

    如果您在启用 mysql_native_password 插件前在 MySQL 8 服务器上创建了用户,您必须在启用插件后更新 mysql-user 表。

后续步骤

如有必要,设置附加参数。

要完成部署,请按照 第 10.2.12 节 “使用 S2I 为不可变 KIE 服务器完成模板部署” 中的步骤操作。

10.2.11. 使用 S2I 为不可变 KIE 服务器启用 Prometheus 指标集合

如果要将 KIE 服务器部署配置为使用 Prometheus 来收集和存储指标,请在安装时在 KIE 服务器中启用对此功能的支持。

先决条件

流程

要启用对 Prometheus 指标集合的支持,请将 Prometheus Server Extension Disabled (PROMETHEUS_SERVER_EXT_DISABLED)参数设置为 false

后续步骤

如有必要,设置附加参数。

要完成部署,请按照 第 10.2.12 节 “使用 S2I 为不可变 KIE 服务器完成模板部署” 中的步骤操作。

有关配置 Prometheus 指标集合的说明,请参阅 管理和监控 KIE 服务器

10.2.12. 使用 S2I 为不可变 KIE 服务器完成模板部署

在 OpenShift Web UI 或命令行中设置所有必要的参数后,请完成模板部署。

流程

根据您使用的方法,完成以下步骤:

  • 在 OpenShift Web UI 中,单击 Create

    • 如果 这将创建可能具有安全性或项目行为影响的资源,请单击 Create Anyway
  • 完成命令行并按 Enter。

后续步骤

根据您的环境需求,可选完成 第 13 章 部署环境后的可选步骤 中描述的步骤。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.