第 16 章 实施 HA CEP 服务器


高可用性(HA) CEP 服务器在 Red Hat OpenShift Container Platform 环境中运行。它包括所有必要的 dol 规则和其他处理事件所需的代码。

准备源,构建它,然后将其部署到 Red Hat OpenShift Container Platform 上。

或者,使用不同的流程来部署 HA CEP 服务器,您可以在其中随时更新 KJAR 服务。有关此过程的步骤,请参考 第 17 章 使用 Maven 存储库实施 HA CEP 服务器以更新 KJAR 服务

先决条件

  • 您可以使用 oc 命令行工具以管理员特权登录到项目。

流程

  1. 从红帽客户门户的 软件下载 页面下载 rhpam-7.11.0-reference-ement-zip 产品。
  2. 提取文件的内容,然后解压缩 rhpam-7.11.0-openshift-drools-hacep-distribution.zip 文件。
  3. 进入 openshift-drools-hacep-distribution/sources 目录。
  4. 根据 sample-hacep-project/sample-hacep-project-kjar 目录中的示例项目检查和修改服务器代码。复杂的事件处理逻辑由 src/main/resources/org/drools/cep 子目录中的 DRL 规则定义。
  5. 使用标准 Maven 命令构建项目:

    mvn clean install -DskipTests
  6. 为 Red Hat AMQ Streams 启用 OpenShift operator,然后在项目中创建 AMQ Streams (kafka)集群。有关安装 Red Hat AMQ Streams 的详情,请参考在 OpenShift 中使用 AMQ Streams
  7. 要创建服务器操作所需的 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
  8. 要启用应用程序对领导选举中使用的 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 定义和应用权限

  9. springboot 目录中,输入以下命令为部署创建镜像并将其推送到为 OpenShift 环境配置的存储库:

    oc new-build --binary --strategy=docker --name openshift-kie-springboot
    oc start-build openshift-kie-springboot --from-dir=. --follow
  10. 输入以下命令检测构建的镜像的名称:

    oc get is/openshift-kie-springboot -o template --template='{{range .status.tags}}{{range .items}}{{.dockerImageReference}}{{end}}{{end}}'
  11. 在文本编辑器中打开 kubernetes/deployment.yaml 文件。
  12. 将现有镜像 URL 替换为上一命令的结果。
  13. 删除以 @ 符号开头的行末尾的所有字符,然后将 :latest 添加到行中。例如:

    image: image-registry.openshift-image-registry.svc:5000/hacep/openshift-kie-springboot:latest
  14. 保存该文件。
  15. 输入以下命令来部署镜像:

    oc apply -f kubernetes/deployment.yaml
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.