7.4. 在 OpenShift 上运行 Camel Spring Boot XA quickstart
此流程演示了如何在运行的单一节点 OpenShift 集群上运行 Quickstart。
流程
下载 Camel Spring Boot XA 项目。
git clone --branch spring-boot-camel-xa-1.0.0.fuse-750020-redhat-00005 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
安装依赖项。
使用用户名 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
为事务日志创建持久性卷声明。
oc create -f persistent-volume-claim.yml
构建和部署快速入门。
mvn fabric8:deploy -P openshift
扩展至所需副本数。
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})