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コマンドを使用してイメージストリームを作成し、イメージのタグやその他の情報をインポートします。以下に例を示します。
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 ファイル形式でカスタムリソースを定義できます。以下に例を示します。
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>-imagestreamoc tagコマンドを使用して、イメージストリームへの更新をトリガーします。以下に例を示します。
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: 2023-Q4 -
rht.comp: JBoss_Web_Server -
rht.comp_ver: 6.0.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: 2023-Q4
rht.comp: JBoss_Web_Server
rht.comp_ver: 6.0.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 パラメーターに次の追加フィールドが含まれています。
imagePullSecretJWS Operator がリポジトリーからイメージをプルするために使用するシークレット
注記シークレットにはキー
.dockerconfigjsonが含まれている必要があります。JWS Operator はシークレット (例:--authfile /mount_point/.dockerconfigjson) をマウントして使用し、リポジトリーからイメージをプルします。Secretオブジェクト定義ファイルには、サーバーのユーザー名とパスワードの値またはトークンが含まれている場合があり、イメージストリーム内のイメージ、ビルダーイメージ、および JWS Operator によってビルドされたイメージにアクセスできます。webAppJWS Operator が Web サーバーアプリケーションをビルドする方法を記述するパラメーターのセット
webApp パラメーターの強化
JWS Operator 2.0 リリースでは、CRD の webApp パラメーターに次の追加フィールドが含まれています。
nameWeb サーバーアプリケーションの名前
sourceRepositoryURLアプリケーションのソースファイルがある URL
sourceRepositoryRefOperator が使用するソースリポジトリーのブランチ
sourceRepositoryContextDirpom.xmlファイルが配置され、mvn installコマンドを実行する必要があるサブディレクトリーwebAppWarImageJWS Operator がビルドされたイメージをプッシュするイメージの URL
webAppWarImagePushSecretJWS Operator がイメージをリポジトリーにプッシュするために使用するシークレット
builderWeb アプリケーションを構築し、イメージを作成してイメージリポジトリーにプッシュするのに必要なすべての情報を含む一連のパラメーター
注記ビルダーが正常に動作し、異なるユーザー ID でコマンドを実行できるようにするには、ビルダーが
anyuidセキュリティーコンテキスト制約 (SCC) にアクセスできる必要があります。ビルダーに
anyuidSCC へのアクセス権を付与するには、次のコマンドを入力します。oc adm policy add-scc-to-user anyuid -z builderbuilderパラメーターには以下のフィールドが含まれます。imageWeb アプリケーションがビルドされるコンテナーのイメージ (例:
quay.io/$user/tomcat10-buildah)imagePullSecretJWS Operator がリポジトリーからビルダーイメージをプルするために使用するシークレット (指定されている場合)
applicationBuildScriptビルダーイメージがアプリケーションの
.warファイルをビルドし、それを/mntディレクトリーに移動するために使用するスクリプト注記このパラメーターの値を指定しないと、ビルダーイメージは Maven と Buildah を使用するデフォルトのスクリプトを使用します。