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
パラメーターに次の追加フィールドが含まれています。
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 を使用するデフォルトのスクリプトを使用します。
関連情報