3.3. JWS Operator 2.0 リリースの新機能
JWS Operator 2.0 リリースは、シームレスな統合などのレベル-2 Operator 機能を提供します。JWS Operator 2.0 は、Red Hat JBoss Web Server メータリングラベルもサポートし、いくつかの強化されたカスタムリソース定義 (CRD) パラメーターを含みます。
レベル 2 Operator の能力
JWS Operator 2.0 は、次のレベル 2 Operator 機能を提供します。
- シームレスなアップグレードを実現
- パッチおよびマイナー バージョンアップグレードをサポート
- JWS Operator 1.1.x によってデプロイされた Web サーバーを管理します。
新しいイメージに対するレベル 2 のシームレスな統合の有効化
DeploymentConfig オブジェクト定義には、新しいイメージがイメージストリームにプッシュされたときに、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 が Git または GitHub によってトリガーされたときにイメージの再構築を可能にする GitHub または Generic Webhook のいずれかである Webhook が含まれています。
Webhook のシークレットの作成、およびカスタムリソース WebServer ファイルでの汎用 Webhook または GitHub Webhook の設定の詳細については、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:2022-Q2 -
rht.comp:JBoss_Web_Server -
rht.comp_ver:5.6.2 -
rht.subcomp:Tomcat 9 -
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: 2022-Q2
rht.comp: JBoss_Web_Server
rht.comp_ver: 5.6.2
rht.subcomp: Tomcat 9
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 を使用するデフォルトのスクリプトを使用します。