Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JBoss EAP for OpenShift

JBoss EAP for OpenShift

OpenShift Meetup Tokyo #2 で発表した資料です。

Mamoru Shimizu

February 28, 2019
Tweet

More Decks by Mamoru Shimizu

Other Decks in Technology

Transcript

  1. 自己紹介 • Name : Mamoru Shimizu (Twitter: @mamomamo) • Company

    : Red Hat K.K. • Role : Consultant • 最近の仕事 ◦ OpenShift 上のアプリケーション開発支援 ◦ OpenShift の構築支援 ◦ OpenShift ハンズオンの講師 など
  2. JBoss EAP for OpenShift とは • Red Hat Container Catalog

    から取得可能であり、 Red Hat のセキュリティチームによ り品質保証のプロセスを受けた、 OpenShift 上で動かすための JBoss EAP のコンテナ イメージ • 参考 : Red Hat Container Catalog ◦ https://access.redhat.com/containers/
  3. Deploy a JBoss EAP S2I Application to OpenShift • JBoss

    EAP for OpenShift のテンプレートと、 Java アプリケーションのソースコードか ら、以下のコマンドによりアプリケーションを作成 • 上記のコマンドを実行することで、 Pod ・ Service ・ DeploymentConfig ・ BuildConfig な どが作成される oc new-app --template=eap72-basic-s2i \ -p IMAGE_STREAM_NAMESPACE=eap-demo \ -p SOURCE_REPOSITORY_URL=https://github.com/jboss-developer/jboss-eap-quickstarts \ -p SOURCE_REPOSITORY_REF=openshift \ -p CONTEXT_DIR=kitchensink
  4. How the JBoss EAP for OpenShift S2I Process Works 1.

    ソースリポジトリに pom.xml が存在すれば、 Maven ビルドプロセスが起動される 2. Maven ビルドプロセスが成功すると、 EAP_HOME/standalone/deployments に、生 成されたパッケージ (JAR/WAR/EAR) がコピーされる 3. ソースリポジトリに configuration ディレクトリが存在すれば、 EAP_HOME/standalone/configuration にファイルがコピーされる 4. ソースリポジトリに modules ディレクトリが存在すれば、 EAP_HOME/modules にファ イルがコピーされる
  5. EAP for OpenShiftのS2Iで他に実現できること • Deployment Artifacts ◦ デフォルトでは target ディレクトリからアーティファクトをコピーするが、

    BuildConfig の ARTIFACT_DIR 環境変数に設定されたディレクトリ配下からコピーするように変更できる • Artifact Repository Mirrors ◦ BuildConfig に MAVEN_MIRROR_URL 環境変数を設定することで、 Maven リポジトリのミラーサイト を指定できる • Environment Variables ◦ 上記の他にも HTTP プロキシの設定( HTTP_PROXY_HOST など)や、 Mavan コマンドの引数 ( MAVEN_ARGS_APPEND )を指定することができる
  6. S2Iスクリプトの実体 • EAP for OpenShift のコンテナイメージの /usr/local/s2i 配下に格納されたシェルスク リプト •

    run : ◦ JBoss EAP の設定と起動 • assemble : ◦ Maven コマンドにより、ソースコードをビルドし、パッケージ( WAR )を生成 ◦ 生成されたパッケージを EAP_HOME/standalone/deployments ディレクトリ配下へ移動
  7. Comparison: JBoss EAP and JBoss EAP for OpenShift Feature Status

    Description Management Console Not included Management CLI Not recommended コンテナが再起動すると設定が消えるから非推奨 Managed domain Not supported Default root page Disabled Remote messaging Supported ActiveMQ ArtemisはシングルPodのみsupported Transaction Recovery Partially supported 次ページを参照
  8. Unsupported Transaction Recovery Scenarios • Pod がスケールインした際に、実行途中のトランザクションが失敗し、手動でトランザ クションのリカバリする必要がある • Unsupported

    Transaction Recovery Scenarios ◦ JTS transactions ◦ XTS transactions ◦ Transations propagated over JBoss Remoting ◦ Transactions propagated over XATerminator
  9. まとめ • JBoss EAP for OpenShift の S2I は色々できる •

    JBoss EAP ≠ JBoss EAP for OpenShift • 単純な Lift&Shift はコンテナアプリケーションのアンチパターンを踏む可能性がある ため、設計時に設計原則を確認しておこう ◦ 「コンテナベース・アプリケーションの設計原則」 ▪ https://www.redhat.com/cms/managed-files/cl-cloud-native-container-design-whitepaper-f880 8kc-201710-a4-ja.pdf
  10. 参考情報 • Getting Started with JBoss EAP for OpenShift Container

    Platform ◦ https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_app lication_platform/7.2/html/getting_started_with_jboss_eap_for_openshift_con tainer_platform/