SlideShare a Scribd company logo
JBoss EAP for OpenShift
Mamoru Shimizu / Consultant / Red Hat K.K.
自己紹介
● Name: Mamoru Shimizu (Twitter: @mamomamo)
● Company: Red Hat K.K.
● Role: Consultant
● 最近の仕事
○ OpenShift上のアプリケーション開発支援
○ OpenShiftの構築支援
○ OpenShiftハンズオンの講師 など
アジェンダ
● JBoss EAP for OpenShift の S2I(Source-to-Image) の紹介
● JBoss EAP for OpenShift 利用上の注意点
JBoss EAP for OpenShift とは
● Red Hat Container Catalog から取得可能であり、Red Hatのセキュリティチームによ
り品質保証のプロセスを受けた、OpenShift上で動かすためのJBoss EAPのコンテナ
イメージ
● 参考: Red Hat Container Catalog
○ https://access.redhat.com/containers/
S2I (Source-to-Image) とは
● ベースイメージに対して、ソースコードからコンパイルしたバイナリを挿入し、新しいコ
ンテナイメージを作成するフレームワーク
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
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 にファ
イルがコピーされる
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)を指定することができる
S2Iスクリプトの実体
● EAP for OpenShiftのコンテナイメージの /usr/local/s2i 配下に格納されたシェルスク
リプト
● run:
○ JBoss EAPの設定と起動
● assemble:
○ Mavenコマンドにより、ソースコードをビルドし、パッケージ( WAR)を生成
○ 生成されたパッケージを EAP_HOME/standalone/deployments ディレクトリ配下へ移動
S2Iスクリプトのカスタマイズ
● S2Iスクリプトはカスタマイズ可能
● ソースリポジトリの .s2i/bin ディレクトリ配下にカスタマイズしたS2Iスクリプトを格納す
ることで、S2Iビルドプロセスの実行時に既存のS2Iスクリプトを上書きすることができ
る
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 次ページを参照
Unsupported Transaction Recovery Scenarios
● Podがスケールインした際に、実行途中のトランザクションが失敗し、手動でトランザ
クションのリカバリする必要がある
● Unsupported Transaction Recovery Scenarios
○ JTS transactions
○ XTS transactions
○ Transations propagated over JBoss Remoting
○ Transactions propagated over XATerminator
まとめ
● 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
参考情報
● 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/
THANK YOU

More Related Content

PDF
Tekton 入門
PDF
VSCodeで始めるAzure Static Web Apps開発
PDF
Githubを使って簡単に helm repoを公開してみよう
PDF
.NET Core時代のCI/CD
PDF
The Twelve-Factor (A|M)pp with C#
PDF
Azure Functions Tips
PDF
Cloud Foundry Container-to-Container Networking
PPTX
DockerCon '17 Feedback and Introduction of Longhorn at Rancher JP
Tekton 入門
VSCodeで始めるAzure Static Web Apps開発
Githubを使って簡単に helm repoを公開してみよう
.NET Core時代のCI/CD
The Twelve-Factor (A|M)pp with C#
Azure Functions Tips
Cloud Foundry Container-to-Container Networking
DockerCon '17 Feedback and Introduction of Longhorn at Rancher JP

What's hot (20)

PPTX
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016
PDF
GitHub Actions で CI/CD
PDF
PHPerだってサーバーレスしたい!
PPTX
Myfirst buildpack session_mgmt_20161201
PDF
Bicep + VS Code で楽々Azure Deploy
PDF
GitLab Meetup Tokyo #1 LT:「わりと大きい会社でGitLabをホスティングしてみた話」
PPTX
復習も兼ねて!C#6.0-7.0
PDF
.NET アプリを改善して実践する継続的インテグレーション
PDF
runC概要と使い方
PDF
CIツールのまとめとSide CI - CIツール勉強会@福岡
PDF
VSCode Conference Japan 2021 kyusque
PPTX
コンテナ運用基盤 with OpenShift
 
PDF
GitHub + Circle CI で幸せになろう
PDF
未知との交信!?Project SignalR
PPTX
Introduction of skippbox
PPTX
DockerCon '17 Feedback at PaaS JP
PDF
オルターブースが実践する .NET Core “ガチ” 開発
PDF
【BS7】GitHubをフル活用した開発
PDF
知って欲しいPaaSの話
PPTX
Docker Community Edition & Enterprise Edition
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016
GitHub Actions で CI/CD
PHPerだってサーバーレスしたい!
Myfirst buildpack session_mgmt_20161201
Bicep + VS Code で楽々Azure Deploy
GitLab Meetup Tokyo #1 LT:「わりと大きい会社でGitLabをホスティングしてみた話」
復習も兼ねて!C#6.0-7.0
.NET アプリを改善して実践する継続的インテグレーション
runC概要と使い方
CIツールのまとめとSide CI - CIツール勉強会@福岡
VSCode Conference Japan 2021 kyusque
コンテナ運用基盤 with OpenShift
 
GitHub + Circle CI で幸せになろう
未知との交信!?Project SignalR
Introduction of skippbox
DockerCon '17 Feedback at PaaS JP
オルターブースが実践する .NET Core “ガチ” 開発
【BS7】GitHubをフル活用した開発
知って欲しいPaaSの話
Docker Community Edition & Enterprise Edition
Ad

JBoss EAP for OpenShift

  • 1. JBoss EAP for OpenShift Mamoru Shimizu / Consultant / Red Hat K.K.
  • 2. 自己紹介 ● Name: Mamoru Shimizu (Twitter: @mamomamo) ● Company: Red Hat K.K. ● Role: Consultant ● 最近の仕事 ○ OpenShift上のアプリケーション開発支援 ○ OpenShiftの構築支援 ○ OpenShiftハンズオンの講師 など
  • 3. アジェンダ ● JBoss EAP for OpenShift の S2I(Source-to-Image) の紹介 ● JBoss EAP for OpenShift 利用上の注意点
  • 4. JBoss EAP for OpenShift とは ● Red Hat Container Catalog から取得可能であり、Red Hatのセキュリティチームによ り品質保証のプロセスを受けた、OpenShift上で動かすためのJBoss EAPのコンテナ イメージ ● 参考: Red Hat Container Catalog ○ https://access.redhat.com/containers/
  • 5. S2I (Source-to-Image) とは ● ベースイメージに対して、ソースコードからコンパイルしたバイナリを挿入し、新しいコ ンテナイメージを作成するフレームワーク
  • 6. 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
  • 7. 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 にファ イルがコピーされる
  • 8. 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)を指定することができる
  • 9. S2Iスクリプトの実体 ● EAP for OpenShiftのコンテナイメージの /usr/local/s2i 配下に格納されたシェルスク リプト ● run: ○ JBoss EAPの設定と起動 ● assemble: ○ Mavenコマンドにより、ソースコードをビルドし、パッケージ( WAR)を生成 ○ 生成されたパッケージを EAP_HOME/standalone/deployments ディレクトリ配下へ移動
  • 10. S2Iスクリプトのカスタマイズ ● S2Iスクリプトはカスタマイズ可能 ● ソースリポジトリの .s2i/bin ディレクトリ配下にカスタマイズしたS2Iスクリプトを格納す ることで、S2Iビルドプロセスの実行時に既存のS2Iスクリプトを上書きすることができ る
  • 11. 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 次ページを参照
  • 12. Unsupported Transaction Recovery Scenarios ● Podがスケールインした際に、実行途中のトランザクションが失敗し、手動でトランザ クションのリカバリする必要がある ● Unsupported Transaction Recovery Scenarios ○ JTS transactions ○ XTS transactions ○ Transations propagated over JBoss Remoting ○ Transactions propagated over XATerminator
  • 13. まとめ ● 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
  • 14. 参考情報 ● 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/