2.2. JWS Operator 2.0 リリースの新機能
JWS Operator 2.0 リリースには、次の新機能と機能拡張が含まれています。
レベル 2 Operator の能力
JWS Operator 2.0 は、次のレベル 2 Operator 機能を提供します。
- シームレスなアップグレードを実現
- パッチおよびマイナーバージョンアップグレードをサポート
- JWS Operator 1.1.x がデプロイする Web サーバーを管理する
新しいイメージに対するレベル 2 のシームレスな統合の有効化
Deployment
オブジェクト定義には、新しいイメージがイメージストリームにプッシュされたときに OpenShift が新しい Pod をデプロイするために使用するトリガーが含まれます。イメージストリームは新しいイメージのリポジトリーを監視できます。また、新しいイメージが使用可能であることをイメージストリームに指示することもできます。
手順
プロジェクトの名前空間で、
oc import-image
コマンドを使用してイメージストリームを作成し、イメージのタグやその他の情報をインポートします。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc import-image <my-image>-imagestream:latest \ --from=quay.io/$user/<my-image>:latest \ --confirm
oc import-image <my-image>-imagestream:latest \ --from=quay.io/$user/<my-image>:latest \ --confirm
前の例では、出現する
<my-image>
をインポートするイメージの名前に置き換えます。上記のコマンドは、
quay.io/$user/<my-image>
イメージの情報をインポートして<my-image>-imagestream
という名前のイメージストリームを作成します。イメージストリームの形式と管理の詳細は、イメージストリームの管理 を参照してください。イメージストリームが更新されるたびに JWS Operator がデプロイする Web アプリケーション用の
WebServer
種類のカスタムリソースを作成します。YAML ファイル形式でカスタムリソースを定義できます。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: web.servers.org/v1alpha1 kind: WebServer metadata: name: <my-image> spec: # Add fields here applicationName: my-app useSessionClustering: true replicas: 2 webImageStream: imageStreamNamespace: <project-name> imageStreamName: <my-image>-imagestream
apiVersion: web.servers.org/v1alpha1 kind: WebServer metadata: name: <my-image> spec: # Add fields here applicationName: my-app useSessionClustering: true replicas: 2 webImageStream: imageStreamNamespace: <project-name> imageStreamName: <my-image>-imagestream
oc tag
コマンドを使用して、イメージストリームへの更新をトリガーします。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc tag quay.io/$user/<my-image> <my-image>-imagestream:latest --scheduled
oc tag quay.io/$user/<my-image> <my-image>-imagestream:latest --scheduled
上記のコマンドにより、OpenShift Container Platform は指定されたイメージストリームタグを定期的に更新します。この期間は、デフォルトで 15 分に設定されているクラスター全体の設定です。
既存のイメージを再構築するためのレベル 2 のシームレスな統合
BuildConfig
オブジェクトの定義には、イメージストリームの更新をトリガーする設定と、Webhook (GitHub、GitLab、または汎用 Webhook) が含まれており、この Webhook がトリガーされるとイメージの再構築が可能になります。
Webhook のシークレット作成の詳細は 汎用 Webhook または GitHub Webhook のシークレットの作成 を参照してください。
カスタムリソース WebServer ファイルでの汎用 Webhook または GitHub Webhook の設定の詳細は JWS Operator の CRD パラメーター を参照してください。
Red Hat JBoss Web Server 計測ラベルのサポート
JWS Operator 2.0 は、JWS Operator が作成する Red Hat JBoss Web Server Pod に計量ラベルを追加する機能をサポートします。
Red Hat JBoss Web Server では、以下のメータリングラベルを使用できます。
-
com.company: Red_Hat
-
rht.prod_name: Red_Hat_Runtimes
-
rht.prod_ver: 2025-Q2
-
rht.comp: JBoss_Web_Server
-
rht.comp_ver: 6.1.0
-
rht.subcomp: Tomcat 10
-
rht.subcomp_t: application
デプロイする Web アプリケーションのカスタムリソース WebServer
ファイルの metadata
セクションの下にラベルを追加できます。以下に例を示します。
--- apiVersion: web.servers.org/v1alpha1 kind: WebServer metadata: name: <my-image> labels: com.company: Red_Hat rht.prod_name: Red_Hat_Runtimes rht.prod_ver: 2025-Q2 rht.comp: JBoss_Web_Server rht.comp_ver: 6.1.0 rht.subcomp: Tomcat 10 rht.subcomp_t: application spec: ----
---
apiVersion: web.servers.org/v1alpha1
kind: WebServer
metadata:
name: <my-image>
labels:
com.company: Red_Hat
rht.prod_name: Red_Hat_Runtimes
rht.prod_ver: 2025-Q2
rht.comp: JBoss_Web_Server
rht.comp_ver: 6.1.0
rht.subcomp: Tomcat 10
rht.subcomp_t: application
spec:
----
デプロイされた Web サーバーのラベルキーまたはラベル値を変更すると、JWS Operator は Web サーバーアプリケーションを再デプロイします。デプロイされた Web サーバーがソースコードから構築されると、JWS Operator は Web サーバーアプリケーションも再構築します。
webImage
パラメーターの強化
JWS Operator 2.0 リリースでは、CRD の webImage
パラメーターに次の追加フィールドが含まれています。
imagePullSecret
JWS Operator がリポジトリーからイメージをプルするために使用するシークレット
注記シークレットにはキー
.dockerconfigjson
が含まれている必要があります。JWS Operator はシークレット (例:--authfile /mount_point/.dockerconfigjson
) をマウントして使用し、リポジトリーからイメージをプルします。Secret
オブジェクト定義ファイルには、サーバーのユーザー名とパスワードの値またはトークンが含まれている場合があり、イメージストリーム内のイメージ、ビルダーイメージ、および JWS Operator によってビルドされたイメージにアクセスできます。webApp
JWS Operator が Web サーバーアプリケーションをビルドする方法を記述するパラメーターのセット
webApp
パラメーターの強化
JWS Operator 2.0 リリースでは、CRD の webApp
パラメーターに次の追加フィールドが含まれています。
name
Web サーバーアプリケーションの名前
sourceRepositoryURL
アプリケーションのソースファイルがある URL
sourceRepositoryRef
Operator が使用するソースリポジトリーのブランチ
sourceRepositoryContextDir
pom.xml
ファイルが配置され、mvn install
コマンドを実行する必要があるサブディレクトリーwebAppWarImage
JWS Operator がビルドされたイメージをプッシュするイメージの URL
webAppWarImagePushSecret
JWS Operator がイメージをリポジトリーにプッシュするために使用するシークレット
builder
Web アプリケーションを構築し、イメージを作成してイメージリポジトリーにプッシュするのに必要なすべての情報を含む一連のパラメーター
注記ビルダーが正常に動作し、異なるユーザー ID でコマンドを実行できるようにするには、ビルダーが
anyuid
セキュリティーコンテキスト制約 (SCC) にアクセスできる必要があります。ビルダーに
anyuid
SCC へのアクセス権を付与するには、次のコマンドを入力します。oc adm policy add-scc-to-user anyuid -z builder
builder
パラメーターには以下のフィールドが含まれます。image
Web アプリケーションがビルドされるコンテナーのイメージ (例:
quay.io/$user/tomcat10-buildah
)imagePullSecret
JWS Operator がリポジトリーからビルダーイメージをプルするために使用するシークレット (指定されている場合)
applicationBuildScript
ビルダーイメージがアプリケーションの
.war
ファイルをビルドし、それを/mnt
ディレクトリーに移動するために使用するスクリプト注記このパラメーターの値を指定しないと、ビルダーイメージは Maven と Buildah を使用するデフォルトのスクリプトを使用します。
関連情報