9.4. 在 OpenShift 中运行 Camel Spring Boot XA 快速入门
此流程演示了如何在正在运行的单一节点 OpenShift 集群中运行快速入门。
流程
下载 Camel Spring Boot XA 项目。
git clone --branch spring-boot-camel-xa-7.11.1.fuse-sb2-7_11_1-00022-redhat-00002 https://github.com/jboss-fuse/spring-boot-camel-xa
进入
spring-boot-camel-xa
目录并运行以下命令。mvn clean install
登录 OpenShift 服务器。
oc login -u developer -p developer
创建名为
test
的新项目命名空间(假设它尚不存在)。oc new-project test
如果
test
项目命名空间已存在,请切换到它。oc project test
安装依赖项。
使用用户名 和密码
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
为事务日志创建持久性卷声明。
oc create -f persistent-volume-claim.yml
构建和部署您的快速入门。
mvn oc:deploy -Popenshift
将其扩展至所需的副本数。
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(在剥离一些字符后)。
快速入门运行后,使用以下命令获取基础服务 URL。
NARAYANA_HOST=$(oc get route spring-boot-camel-xa -o jsonpath={.spec.host})