9.4. OpenShift에서 Camel Spring Boot XA 빠른 시작 실행

다음 절차에서는 실행 중인 단일 노드 OpenShift 클러스터에서 퀵스타트를 실행하는 방법을 보여줍니다.

절차

  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. 종속 항목을 설치합니다.

    • 사용자 이름으로 사용자 이름 및 암호 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. Cryostat-manager-id 속성)로 사용됩니다. 현재 구현은 트랜잭션 관리자 ID의 길이도 제한합니다. 다음 사항에 유의하십시오.

    • StatefulSet의 이름은 트랜잭션 시스템의 식별자이므로 변경할 수 없습니다.
    • 모든 Pod 이름의 길이가 23자보다 작거나 같도록 StatefulSet의 이름을 지정해야 합니다. Pod 이름은 <statefulset-name>-0, <statefulset-name>-1 등을 사용하여 OpenShift에 의해 생성됩니다. Narayana는 동일한 ID를 가진 여러 복구 관리자가 없도록하기 위해 최선을 다하므로 Pod 이름이 제한보다 길면 마지막 23 바이트가 트랜잭션 관리자 ID로 사용됩니다 (와 같은 일부 문자를 제거 한 후).
  9. 빠른 시작이 실행되면 다음 명령을 사용하여 기본 서비스 URL을 가져옵니다.

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