第8章 JBoss EAP for OpenShift の機能のトリム
サーバーの機能をトリムすると、プロビジョニングされたサーバーのセキュリティーリスクを軽減したり、マイクロサービスコンテナーにより適したサーバーにするためにメモリーフットプリントを削減したりできます。
JBoss EAP を含むイメージをビルドする際に、イメージに含める JBoss EAP の機能とサブシステムを制御できます。これを行うには、Source-to-Image (S2I) ビルドプロセス中、新しいアプリケーションを作成するときに JBoss EAP Maven プラグインを使用します。詳細は、Maven プラグインを使用した JBoss EAP サーバーのプロビジョニング を参照してください。
S2I ビルドプロセス中に、JBoss EAP Maven プラグインの代わりに次の環境変数を使用できます。
- GALLEON_PROVISION_FEATURE_PACKS
- GALLEON_PROVISION_LAYERS
- GALLEON_PROVISION_CHANNELS
8.1. 利用可能な JBoss EAP レイヤー リンクのコピーリンクがクリップボードにコピーされました!
ベースレイヤーとデコレーターレイヤーを使用して、OpenShift または起動可能な JAR 内の JBoss EAP サーバーのプロビジョニングをカスタマイズできます。
ベースレイヤーはコア機能を提供し、デコレータレイヤーは追加機能によってベースレイヤーを強化します。
デコレータレイヤーを使用して、JBoss EAP for OpenShift で S2I イメージをビルドしたり、起動可能な JAR をビルドしたりできます。レイヤーが S2I イメージをサポートしていない場合、レイヤーの説明にメモが含まれます。
リスト表示されたレイヤーのみがサポートされます。ここで記載されていないレイヤーはサポートされません。
プロビジョニング層では、以下の Jakarta EE 仕様はサポートされません。
- Jakarta Server Faces 2.3
- Jakarta Enterprise Beans 3.2
- Jakarta XML Web Services 2.3
8.1.1. ベースレイヤー リンクのコピーリンクがクリップボードにコピーされました!
各ベースレイヤーには、典型的なサーバーユーザーケースのコア機能が含まれています。
datasources-web-server
このレイヤーには、サーブレットコンテナーが含まれ、データソースを設定する機能が含まれます。
以下は、datasources-web-server にデフォルトで含まれている JBoss EAP サブシステムです。
-
core-management -
datasources -
deployment-scanner -
ee -
elytron -
io -
jca -
jmx -
logging -
naming -
request-controller -
security-manager -
transactions -
undertow
このレイヤーでは、以下の Jakarta EE 仕様がサポートされます。
- Jakarta JSON Processing 1.1
- Jakarta JSON Binding 1.0
- Jakarta Servlet 4.0
- Jakarta Expression Language 3.0
- Jakarta Server Pages 2.3
- Jakarta Standard Tag Library 1.2
- Jakarta Concurrency 1.1
- Jakarta Annotations 1.3
- Jakarta XML Binding 2.3
- Jakarta Debugging Support for Other Languages 1.0
- Jakarta Transactions 1.3
- Jakarta Connectors 1.7
jaxrs-server
このレイヤーは、以下の JBoss EAP サブシステムを使用して datasources-web-server レイヤーを強化します。
-
jaxrs -
weld -
jpa
また、このレイヤーは、ローカルキャッシュを備えた Infinispan ベースのセカンドレベルのエンティティーをコンテナーに追加します。
以下の Jakarta EE 仕様は、datasources-web-server レイヤーでサポートされるものに加え、このレイヤーでサポートされています。
- Jakarta Contexts and Dependency Injection 2.0
- Jakarta Bean Validation 2.0
- Jakarta Interceptors 1.2
- Jakarta RESTful Web Services 2.1
- Jakarta Persistence 2.2
cloud-server
このレイヤーは、以下の JBoss EAP サブシステムを使用して jaxrs-server レイヤーを強化します。
-
resource-adapters -
messaging-activemq(組み込みメッセージではなく、リモートブローカーメッセージング)
このレイヤーは、以下の observability 機能も jaxrs-server レイヤーに追加します。
- ネイティブヘルス
- ネイティブメトリクス
以下の Jakarta EE 仕様は、jaxrs-server レイヤーでサポートされるものに加え、このレイヤーでサポートされています。
- Jakarta Security 1.0
cloud-default-config
このレイヤーは、standalone-ha.xml に基づくサーバー設定でサーバーをプロビジョニングし、サブシステム設定の messaging-activemq を含みます。逆に、modcluster と core-management サブシステムの設定は含まれていません。これはクラウドで使用するように設定されています。さらに、すべての JBoss EAP サーバー JBoss モジュールがインストールされます。
ee-core-profile-server
ee-core-profile-server レイヤーは、Jakarta EE 10 Core Profile を使用してサーバーをプロビジョニングします。Core Profile は、コア JBoss EAP サーバー機能と Jakarta EE API の両方を提供する小さく軽量なプロファイルをユーザーに提供します。ee-core-profile-server レイヤーは、クラウドネイティブアプリケーションやマイクロサービスなどの小規模なランタイムに最適です。
8.1.2. デコレーターレイヤー リンクのコピーリンクがクリップボードにコピーされました!
デコレーターレイヤーは単独で使用されません。ベースレイヤーで 1 つ以上のデコレーターレイヤーを設定すると、追加機能を利用できます。
observability
このデコレーターレイヤーは、プロビジョニングしたサーバーに以下の observability 機能を追加します。
- ネイティブヘルス
- ネイティブメトリクス
このレイヤーは cloud-server レイヤーに組み込まれています。このレイヤーは cloud-server レイヤーに追加する必要はありません。
web-clustering
このレイヤーは、埋め込み Infinispan ベースの Web セッションクラスタリングをプロビジョニングされたサーバーに追加します。