9.4. 在 OpenShift 上运行 Camel Spring Boot XA quickstart

此流程演示了如何在运行的单一节点 OpenShift 集群上运行 Quickstart。

流程

  1. 下载 Camel Spring Boot XA 项目。

    git clone --branch spring-boot-camel-xa-7.10.0.fuse-sb2-7_10_0-00013-redhat-00001 https://github.com/jboss-fuse/spring-boot-camel-xa
  2. 导航到 spring-boot-camel-xa 目录,再运行以下命令:

    mvn clean install
  3. 登录 OpenShift 服务器。

    oc login -u developer -p developer
  4. 创建名为 test 的新项目命名空间(假设它尚不存在)。

    oc new-project test

    如果 test 项目命名空间已存在,请切换到它。

    oc project test
  5. 安装依赖项。

    • 使用用户名 username 和密码 Thepassword1! 安装 postgresql

      oc new-app --param=POSTGRESQL_USER=theuser --param=POSTGRESQL_PASSWORD='Thepassword1!' --env=POSTGRESQL_MAX_PREPARED_TRANSACTIONS=100 --template=postgresql-persistent
    • 使用用户名用户名 和密码 Thepassword1! 安装 A-MQ 代理。

      oc new-app --param=MQ_USERNAME=theuser --param=MQ_PASSWORD='Thepassword1!' --template=amq63-persistent
  6. 为事务日志创建持久性卷声明。

    oc create -f persistent-volume-claim.yml
  7. 构建和部署快速入门。

    mvn oc:deploy -Popenshift
  8. 扩展至所需副本数。

    oc scale statefulset spring-boot-camel-xa --replicas 3

    注: pod 名称用作事务管理器 ID (spring.jta.transaction-manager-id 属性)。当前实施还限制事务管理器 ID 的长度。请注意:

    • StatefulSet 的名称是事务系统的标识符,因此不得更改它。
    • 您应该为 StatefulSet 命名,以便所有 pod 名称的长度都小于或等于 23 个字符。OpenShift 使用惯例创建 Pod 名称: <statefulset-name>-0, <statefulset-name>-1 等。Narayana 最好避免有多个具有相同 id 的恢复管理器,因此当 pod 名称超过限制时,最后 23 字节被用作事务管理器 id (在剥离一些字符(如 - )后。
  9. 快速启动运行后,使用以下命令获取基础服务 URL。

    NARAYANA_HOST=$(oc get route spring-boot-camel-xa -o jsonpath={.spec.host})