Red Hat JBoss Web Server Operator
Red Hat JBoss Web Server Operator 2.0 for OpenShift のインストールと使用
概要
Red Hat JBoss Web Server ドキュメントへのフィードバックの提供 リンクのコピーリンクがクリップボードにコピーされました!
エラーを報告したり、ドキュメントを改善したりするには、Red Hat Jira アカウントにログインし、課題を送信してください。Red Hat Jira アカウントをお持ちでない場合は、アカウントを作成するように求められます。
手順
- 次のリンクをクリックして チケットを作成します。
- Summary に課題の簡単な説明を入力します。
- Description に課題や機能拡張の詳細な説明を入力します。問題があるドキュメントのセクションへの URL を含めてください。
- Submit をクリックすると、課題が作成され、適切なドキュメントチームに転送されます。
多様性を受け入れるオープンソースの強化 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
多様性を受け入れるオープンソースの強化 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
第1章 Red Hat JBoss Web Server Operator リンクのコピーリンクがクリップボードにコピーされました!
Operator は、Kubernetes および OpenShift 環境で複雑なステートフルアプリケーションの管理を容易にする Kubernetes ネイティブアプリケーションです。Red Hat JBoss Web Server (JWS) は、OpenShift イメージの JWS を管理する Operator を提供します。JWS Operator を使用して、OpenShift で Web サーバーアプリケーションのインスタンスを作成、設定、管理、およびシームレスにアップグレードできます。
Operator には、次のような重要な概念があります。
Operator Framework は、効果的で自動化されたスケーラブルな方法で Operator を管理するためのツールキットです。Operator Framework には、次の 3 つの主要コンポーネントが含まれます。
- OperatorHub を使用して、インストールする Operator を検出できます。
- Operator Lifecycle Manager (OLM) を使用して、OpenShift クラスターに Operator をインストールおよび管理できます。
- Operator SDK を使用して、独自のカスタム Operator を開発できます。
-
Operator グループ は、マルチテナント設定を OLM でインストールされた Operator に提供する OLM リソースです。Operator グループは、
OperatorGroupオブジェクトと同じ namespace にデプロイされたすべての Operator に対してロールベースのアクセス制御 (RBAC) を生成するターゲット namespace を選択します。 - カスタムリソース定義 (CRD) は、Operator が使用する Kubernetes 拡張メカニズムです。CRD により、Operator が管理するカスタムオブジェクトがネイティブの Kubernetes オブジェクトのように動作できるようになります。JWS Operator は、デプロイする Web サーバーアプリケーションのカスタムリソースファイルで指定できる一連の CRD パラメーターを提供します。
このドキュメントでは、JWS Operator をインストールする方法、既存の JWS イメージをデプロイする方法、クラスターから Operator を削除する方法について説明します。このドキュメントでは、JWS Operator が提供する CRD パラメーターの詳細についても説明します。
このガイドの手順に従う前に、前提条件として OpenShift クラスターがすでにインストールされ、設定されていることを確認する必要があります。OpenShift クラスターのインストールと設定の詳細については、OpenShift Container Platform の インストール ガイドを参照してください。
準備されたイメージを展開するか、既存のイメージストリームからイメージを構築するための、より高速で詳細度の低いガイドについては、JWS Operator QuickStart ガイドを参照してください。
Red Hat は、JWS 5.4 以降のバージョンのイメージのみをサポートしています。
第2章 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
oc import-image <my-image>-imagestream:latest \ --from=quay.io/$user/<my-image>:latest \ --confirmCopy to Clipboard Copied! Toggle word wrap Toggle overflow 前の例では、出現する
<my-image>をインポートするイメージの名前に置き換えます。上記のコマンドは、
quay.io/$user/<my-image>イメージの情報をインポートして<my-image>-imagestreamという名前のイメージストリームを作成します。イメージストリームの形式と管理の詳細については、イメージストリームの管理 を参照してください。イメージストリームが更新されるたびに JWS Operator がデプロイする Web アプリケーション用の
WebServer種類のカスタムリソースを作成します。YAML ファイル形式でカスタムリソースを定義できます。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc tagコマンドを使用して、イメージストリームへの更新をトリガーします。以下に例を示します。
oc tag quay.io/$user/<my-image> <my-image>-imagestream:latest --scheduled
oc tag quay.io/$user/<my-image> <my-image>-imagestream:latest --scheduledCopy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のコマンドにより、OpenShift Container Platform は指定されたイメージストリームタグを定期的に更新します。この期間は、デフォルトで 15 分に設定されているクラスター全体の設定です。
既存のイメージを再構築するためのレベル 2 のシームレスな統合
BuildConfig オブジェクト定義には、イメージストリームの更新のトリガーと、Webhook が Git または GitHub によってトリガーされたときにイメージの再構築を可能にする GitHub または汎用 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: 2022-Q4 -
rht.comp: JBoss_Web_Server -
rht.comp_ver: 5.7.0 -
rht.subcomp: Tomcat 9 -
rht.subcomp_t: application
デプロイする Web アプリケーションのカスタムリソース WebServer ファイルの metadata セクションの下にラベルを追加できます。以下に例を示します。
デプロイされた 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 を使用するデフォルトのスクリプトを使用します。
第3章 OperatorHub からの JWS Operator のインストール リンクのコピーリンクがクリップボードにコピーされました!
JWS Operator を OperatorHub からインストールして、OpenShift クラスターでの JBoss Web Server アプリケーションのデプロイメントと管理を容易にできます。OperatorHub は、インストールする Operator を検出するために使用できる Operator Framework のコンポーネントです。OperatorHub は、Operator をクラスターにインストールして管理する Operator Lifecycle Manger (OLM) と連携して動作します。
以下のいずれかの方法で、OperatorHub から JWS Operator をインストールできます。
3.1. Web コンソールを使用した JWS Operator のインストール リンクのコピーリンクがクリップボードにコピーされました!
グラフィカルユーザーインターフェイスを使用して JWS Operator をインストールする場合は、OpenShift Web コンソールを使用して JWS Operator をインストールできます。
Web コンソールを使用して JWS Operator をインストールし、Operator が SingleNamespace インストールモードを使用している場合、OperatorGroup および Subscription オブジェクトが自動的にインストールされます。
前提条件
- クラスター管理者および Operator インストールのパーミッションを持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできる。
手順
- Web コンソールを開き、Operators > OperatorHub を選択します。
- Filter by keyword 検索フィールドに JWS と入力します。
- JWS Operator を選択します。
- JBoss Web Server Operator メニューで、使用する Capability level を選択し、Install をクリックします。
Install Operator ページで、以下の手順を実行します。
JWS Operator が使用できる Update channel を選択します。
注記JWS Operator は現在 1 つのチャネルからのみ利用できます。
Operator の Installation mode を選択します。
Operator は、クラスターのすべての名前空間または特定の名前空間にインストールできます。特定の名前空間オプションを選択した場合は、Installed Namespace フィールドを使用して、Operator をインストールする名前空間を指定します。
注記名前空間を指定しない場合、Operator はデフォルトでクラスター上のすべての名前空間にインストールされます。
Operator の Approval strategy を選択します。
次のガイドラインを考慮してください。
- Automatic 更新を選択した場合、Operator の新しいバージョンが利用可能になると、OLM は Operator の実行中のインスタンスを自動的にアップグレードします。
- Manual (手動) 更新を選択した場合、Operator の新しいバージョンが使用できるようになると、OLM によって更新リクエストが作成されます。クラスター管理者は、更新リクエストを手動で承認して、Operator が新しいバージョンに更新されるようにする必要があります。
Install をクリックします。
注記Manual 承認戦略を選択した場合は、インストールが完了する前にインストール計画を承認する必要があります。
JWS Operator が Operators タブの Installed Operators セクションに表示されます。
3.2. コマンドラインを使用した JWS Operator のインストール リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインインターフェイスを使用して JWS Operator をインストールする場合は、oc コマンドラインツールを使用して JWS Operator をインストールできます。
コマンドラインから JWS Operator をインストールする手順には、Operator でサポートされているインストールモードと使用可能なチャネルの確認、およびサブスクリプションオブジェクトの作成が含まれます。Operator が使用するインストールモードによっては、サブスクリプションオブジェクトを作成する前に、プロジェクトの名前空間に Operator グループを作成する必要があります。
前提条件
- Operator インストールパーミッションを持つアカウントを使用して OpenShift Container Platform クラスターにデプロイできる。
-
ローカルシステムに
ocツールがインストールされている。
手順
JWS Operator を調べるには、次の手順を実行します。
OperatorHub からクラスターで使用できる JWS Operator のリストを表示します。
oc get packagemanifests -n openshift-marketplace | grep jws
$ oc get packagemanifests -n openshift-marketplace | grep jwsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のコマンドは、使用可能な各 Operator の名前、カタログ、および経過時間を表示します。
以下に例を示します。
NAME CATALOG AGE jws-operator Red Hat Operators 16h
NAME CATALOG AGE jws-operator Red Hat Operators 16hCopy to Clipboard Copied! Toggle word wrap Toggle overflow JWS Operator を調べて、Operator でサポートされているインストールモードと使用可能なチャネルを確認します。
oc describe packagemanifests jws-operator -n openshift-marketplace
$ oc describe packagemanifests jws-operator -n openshift-marketplaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Operator グループの実際のリストを確認します。
oc get operatorgroups -n <project_name>
$ oc get operatorgroups -n <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 前述の例で、
<project_name>を OpenShift プロジェクト名に置き換えます。上記のコマンドは、使用可能な各 Operator グループの名前と経過時間を表示します。
以下に例を示します。
NAME AGE mygroup 17h
NAME AGE mygroup 17hCopy to Clipboard Copied! Toggle word wrap Toggle overflow Operator グループを作成する必要がある場合は、次の手順を実行します。
注記インストールする Operator が
SingleNamespaceインストールモードを使用し、適切な Operator グループがまだ配置されていない場合は、この手順を完了して Operator グループを作成する必要があります。指定された名前空間に Operator グループを 1 つだけ作成します。インストールする Operator が
AllNamespacesインストールモードを使用する場合、または適切な Operator グループがすでに配置されている場合は、この手順を無視できます。OperatorGroupオブジェクトの YAML ファイルを作成します。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 前の例で、
<operatorgroup_name>を作成する Operator グループの名前に置き換え、<project_name>を Operator をインストールするプロジェクトの名前に置き換えます。プロジェクト名を表示するには、oc project -qコマンドを実行します。YAML ファイルから
OperatorGroupオブジェクトを作成します。oc apply -f <filename>.yaml
$ oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 前の例の
<filename>.yamlを、OperatorGroupオブジェクト用に作成した YAML ファイルの名前に置き換えます。
サブスクリプションオブジェクトを作成するには、次の手順を実行します。
Subscriptionオブジェクトの YAML ファイルを作成します。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 前の例で、
<project_name>を Operator をインストールするプロジェクトの名前に置き換えます。プロジェクト名を表示するには、oc project -qコマンドを実行します。指定する名前空間には、Operator と同じインストールモード設定を持つ
OperatorGroupオブジェクトが必要です。Operator がAllNamespacesインストールモードを使用する場合、<project_name>をすでに適切な Operator グループを提要しているopenshift-operatorsに置き換えます。Operator がSingleNamespaceインストールモードを使用する場合は、この名前空間にあるのが 1 つのOperatorGroupオブジェクトのみであることを確認してください。source設定が、Operator で使用可能なチャネルを確認したときに表示されたCatalog Source値 (たとえば、redhat-operators) と一致していることを確認します。YAML ファイルから
Subscriptionオブジェクトを作成します。oc apply -f <filename>.yaml
$ oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 前の例の
<filename>.yamlを、Subscriptionオブジェクト用に作成した YAML ファイルの名前に置き換えます。
検証
JWS Operator が正常にインストールされたことを確認するには、次のコマンドを入力します。
oc get csv -n <project_name>
$ oc get csv -n <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上の例で、
<project_name>を、Operator をインストールしたプロジェクトの名前空間に置き換えます。このコマンドは、インストールされている Operator の詳細を表示します。
以下に例を示します。
Expand NAME DISPLAY バージョン REPLACE PHASE jws-operator.V2.0.x
JBoss Web Server Operator
2.0.x
Succeeded
上記の出力で、
2.0.xは実際の Operator バージョンを表します (例:2.0.0)。
第4章 既存の JWS イメージのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
JWS Operator を使用して、OpenShift クラスターにデプロイする Web サーバーアプリケーションの既存のイメージのデプロイを容易にすることができます。この状況では、デプロイする Web サーバーアプリケーションのカスタムリソース WebServer ファイルを作成する必要があります。JWS Operator は、カスタムリソース WebServer ファイルを使用して、アプリケーションのデプロイを処理します。
前提条件
OperatorHub から JWS Operator をインストールしている。
JWS Operator がインストールされていることを確認するには、次のコマンドを入力します。
oc get deployment.apps/jws-operator
$ oc get deployment.apps/jws-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のコマンドは、Operator の名前とステータスの詳細を表示します。
以下に例を示します。
NAME READY UP-TO-DATE AVAILABLE AGE jws-operator 1/1 1 1 15h
NAME READY UP-TO-DATE AVAILABLE AGE jws-operator 1/1 1 1 15hCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記より詳細な出力を表示する場合は、次のコマンドを使用できます。
oc describe deployment.apps/jws-operator
手順
-
イメージを準備し、イメージを表示する場所 (例:
quay.io/<USERNAME>/tomcat-demo:latest) にプッシュします。 Web サーバーアプリケーションのカスタムリソースファイルを作成するには、次の手順を実行します。
-
たとえば、
webservers_cr.yamlという名前の YAML ファイルを作成します。 詳細を次の形式で入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
たとえば、
Web アプリケーションをデプロイするには、次の手順を実行します。
- Web アプリケーションを作成したディレクトリーに移動します。
以下のコマンドを入力します。
oc apply -f webservers_cr.yaml
$ oc apply -f webservers_cr.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のコマンドは、Web アプリケーションがデプロイされたことを確認するメッセージを表示します。
以下に例を示します。
webserver/example-image-webserver created
webserver/example-image-webserver createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のコマンドを実行すると、Operator はルートも自動的に作成します。
Operator が自動的に作成したルートを確認します。
oc get routes
$ oc get routesCopy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: ステップ 3 で作成した
webserverを削除します。oc delete webserver example-image-webserver
$ oc delete webserver example-image-webserverCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記または、YAML ファイルを削除して
webserverを削除することもできます。以下に例を示します。oc delete -f webservers_cr.yaml
第5章 クラスターからの JWS Operator の削除 リンクのコピーリンクがクリップボードにコピーされました!
JWS Operator を使用する必要がなくなった場合は、後でクラスターから JWS Operator を削除できます。
次のいずれかの方法で、クラスターから JWS Operator を削除できます。
5.1. Web コンソールを使用した JWS Operator の削除 リンクのコピーリンクがクリップボードにコピーされました!
グラフィカルユーザーインターフェイスを使用して JWS Operator を削除する場合は、OpenShift Web コンソールを使用して JWS Operator を削除できます。
前提条件
cluster-adminパーミッションを持つアカウントを使用して OpenShift Container Platform クラスターをデプロイしている。注記cluster adminのアクセス許可がない場合は、この要件を回避できます。詳しくは、非クラスター管理者による Operator のインストールの許可 を参照してください。
手順
- Web コンソールを開き、Operators Operator Installed Operators をクリックします。
Actions メニューを選択し、Uninstall Operator をクリックします。
注記Uninstall Operator オプションは、Operator、Operator デプロイメント、および Pod を自動的に削除します。
Operator を削除しても、CRD または CR を含む Operator のカスタムリソース定義またはカスタムリソースは削除されません。Operator がクラスターにアプリケーションをデプロイした場合、または Operator がクラスター外のリソースを設定した場合、これらのアプリケーションとリソースを手動でクリーンアップする必要があります。
5.2. コマンドラインを使用した JWS Operator の削除 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインインターフェイスを使用して JWS Operator を削除する場合は、oc コマンドラインツールを使用して JWS Operator を削除できます。
前提条件
cluster-adminパーミッションを持つアカウントを使用して OpenShift Container Platform クラスターをデプロイしている。注記cluster adminのアクセス許可がない場合は、この要件を回避できます。詳しくは、非クラスター管理者による Operator のインストールの許可 を参照してください。-
ローカルシステムに
ocツールがインストールされている。
手順
サブスクライブした Operator の現在のバージョンを確認します。
oc get subscription jws-operator -n <project_name> -o yaml | grep currentCSV
$ oc get subscription jws-operator -n <project_name> -o yaml | grep currentCSVCopy to Clipboard Copied! Toggle word wrap Toggle overflow 上記の例で、
<project_name>を Operator をインストールしたプロジェクトの名前空間に置き換えます。Operator がすべての namespace にインストールされている場合は、<project_name>をopenshift-operatorsに置き換えます。上記のコマンドで以下の出力が表示され、ここで
v2.0.xは Operator のバージョン (例:v2.0.0) を示しています。f:currentCSV: {} currentCSV: jws-operator.v2.0.xf:currentCSV: {} currentCSV: jws-operator.v2.0.xCopy to Clipboard Copied! Toggle word wrap Toggle overflow Operator のサブスクリプションを削除します。
oc delete subscription jws-operator -n <project_name>
$ oc delete subscription jws-operator -n <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記の例で、
<project_name>を Operator をインストールしたプロジェクトの名前空間に置き換えます。Operator がすべての namespace にインストールされている場合は、<project_name>をopenshift-operatorsに置き換えます。ターゲット名前空間で Operator の CSV を削除します。
oc delete clusterserviceversion <currentCSV> -n <project_name>
$ oc delete clusterserviceversion <currentCSV> -n <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記の例で、
<currentCSV>を 手順 1 で取得したcurrentCSV値 (例:jws-operator.v2.0.x) に置き換えます。<project_name>を、Operator をインストールしたプロジェクトの名前空間に置き換えます。Operator がすべての namespace にインストールされている場合は、<project_name>をopenshift-operatorsに置き換えます。上記のコマンドは、CSV が削除されたことを確認するメッセージを表示します。
以下に例を示します。
clusterserviceversion.operators.coreos.com "jws-operator.v2.0.x" deleted
clusterserviceversion.operators.coreos.com "jws-operator.v2.0.x" deletedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第6章 汎用 Webhookまたは GitHub Webhook のシークレットの作成 リンクのコピーリンクがクリップボードにコピーされました!
汎用 Webhook または GitHub Webhook で使用できるシークレットを作成して、Git リポジトリーでアプリケーションのビルドをトリガーできます。アプリケーションコードに使用する Git ホスティングプラットフォームのタイプに応じて、JWS Operator は、Web アプリケーションのカスタムリソースファイルでシークレットを指定するために使用できる genericWebhookSecret パラメーターと githubWebhookSecret パラメーターを提供します。
手順
エンコードされたシークレット文字列を作成します。
-
たとえば
secret.txtという名前のファイルを作成します。 secret.txtファイルに、シークレット文字列をプレインテキストで入力します。以下に例を示します。
qwerty
qwertyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 文字列をエンコードするには、次のコマンドを入力します。
base64 secret.txt
base64 secret.txtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のコマンドは、エンコードされた文字列を表示します。
以下に例を示します。
cXdlcnR5Cg==
cXdlcnR5Cg==Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
たとえば
Secretという種類のオブジェクトを定義するsecret.yamlファイルを作成します。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記の例では、
jws-secretがシークレットの名前、cXdlcnR5Cg==がエンコードされたシークレット文字列です。シークレットを作成するには、次のコマンドを入力します。
oc create -f secret.yaml
oc create -f secret.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のコマンドは、シークレットが作成されたことを確認するメッセージを表示します。
以下に例を示します。
secret/jws-secret created
secret/jws-secret createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
Webhook の URL を取得します。
oc describe BuildConfig | grep webhooks
oc describe BuildConfig | grep webhooksCopy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のコマンドは、次の形式で Webhook URL を生成します。
https://<host>:<port>/apis/build.openshift.io/v1/namespaces/<namespace>/buildconfigs/<name>/webhooks/<secret>/generic
https://<host>:<port>/apis/build.openshift.io/v1/namespaces/<namespace>/buildconfigs/<name>/webhooks/<secret>/genericCopy to Clipboard Copied! Toggle word wrap Toggle overflow たとえば
payload.jsonという名前で、最小限の JSON ファイルを作成します。{}{}Copy to Clipboard Copied! Toggle word wrap Toggle overflow Webhook にリクエストを送信するには、次の
curlコマンドを入力します。curl -H "X-GitHub-Event: push" -H "Content-Type: application/json" -k -X POST --data-binary @payload.json https://<host>:<port>/apis/build.openshift.io/v1/namespaces/<namespace>/buildconfigs/<name>/webhooks/<secret>/generic
curl -H "X-GitHub-Event: push" -H "Content-Type: application/json" -k -X POST --data-binary @payload.json https://<host>:<port>/apis/build.openshift.io/v1/namespaces/<namespace>/buildconfigs/<name>/webhooks/<secret>/genericCopy to Clipboard Copied! Toggle word wrap Toggle overflow 上記の例で、
payload.jsonは作成した最小限の JSON ファイルの名前です。URL 文字列の
<host>、<port>、<namespace>、<name>を、お使いの環境に適した値に置き換えます。<secret>を、Webhook 用に作成したシークレットの名前に置き換えます。上記のコマンドは、次のタイプの Webhook レスポンスを JSON 形式で生成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第7章 JWS Operator CRD パラメーター リンクのコピーリンクがクリップボードにコピーされました!
JWS Operator は、一連のカスタムリソース定義 (CRD) パラメーターを提供します。Web アプリケーションのカスタムリソース WebServer ファイルを作成する場合、<key>: <value> の形式でパラメーター値を指定できます。JWS Operator は、カスタムリソース WebServer ファイルで指定した情報を使用して、Web アプリケーションをデプロイします。
7.1. CRD パラメーター階層 リンクのコピーリンクがクリップボードにコピーされました!
JWS Operator は、以下の階層形式で CRD パラメーターを提供します。
カスタムリソース WebServer ファイルを作成するときは、上記で説明したとおりの階層形式でパラメーターの名前と値を指定します。カスタムリソース WebServer ファイルの作成について、詳しくは 既存 JWS イメージのデプロイ を参照してください。
7.2. CRD パラメーターの詳細 リンクのコピーリンクがクリップボードにコピーされました!
次の表では、JWS Operator が提供する CRD パラメーターについて説明します。この表は、階層内でその上にある上位レベルのパラメーターのコンテキストにおけるパラメーター名を示しています。
| パラメーター名 | 説明 |
|---|---|
|
| 実行する JBoss Web Server イメージの Pod 数
例: |
|
| JWS Operator がデプロイする Web アプリケーションの名前 アプリケーション名は、OpenShift 名前空間またはプロジェクト内で一意の値である必要があります。JWS Operator は、指定されたアプリケーション名を使用して、Web アプリケーションにアクセスするためのルートを作成します。
例: |
|
| DNSping セッションクラスタリングを有効にします
デフォルトで 注記
このリリースのセッションクラスタリング機能はテクノロジープレビュー機能としてのみ使用できます。現在の Operator バージョンは、DNS の制限により制限されている
例: |
|
| JWS Operator が既存イメージから Pod をデプロイする方法を制御する一連のパラメーター
このパラメーターには、 |
|
| デプロイするアプリケーションイメージの名前へのフルパス
例: |
|
| JWS Operator がリポジトリーからイメージをプルするために使用するシークレットの名前
シークレットにはキー
例: |
|
| アプリケーションイメージに追加する Web アプリケーションを JWS Operator がビルドする方法を記述する一連のパラメーター
このパラメーターには、 |
|
| Web アプリケーションファイルの名前
デフォルトの名前は
例: |
|
| アプリケーションのソースファイルがある URL
ソースには、Maven ビルドをサポートする Maven
例: |
|
| JWS Operator が使用するソースリポジトリーのブランチ
例: |
|
|
例: |
|
| JWS Operator がビルドされたイメージをプッシュするイメージの URL |
|
| JWS Operator がイメージをリポジトリーにプッシュするために使用するシークレットの名前
シークレットにはキー
JWS Operator がプルシークレットを使用してリポジトリーからイメージをプルする場合、プルシークレットの名前を
例: |
|
| JWS Operator が Web アプリケーションをビルドし、イメージを作成してイメージリポジトリーにプッシュする方法を記述する一連のパラメーター 注記
ビルダーが正常に動作し、異なるユーザー ID でコマンドを実行できるようにするには、ビルダーが
このパラメーターには、 |
|
| JWS Operator が Web アプリケーションをビルドするコンテナーのイメージ
例: |
|
| JWS Operator がリポジトリーからビルダー イメージをプルするために使用するシークレットの名前 (指定されている場合)
シークレットにはキー
例: |
|
|
ビルダーイメージがアプリケーションの このパラメーターの値を指定しない場合、ビルダー イメージは Maven と Buildah を使用するデフォルトのスクリプトを使用します。 |
|
| JWS Operator が使用するヘルスチェック デフォルトの動作では、パラメーターを必要としないヘルスバルブが使用されます。
このパラメーターには、 |
|
| Pod Readiness ヘルスチェックのロジックを指定する文字列
このパラメーターが指定されていない場合、JWS Operator は、OpenShift 内部レジストリーを使用して
例: |
|
| Pod Liveness ヘルスチェックのロジックを指定する文字列 このパラメーターは任意です。 |
|
| 実行またはビルドするイメージを提供するイメージストリームを JWS Operator が使用する方法を制御する一連のパラメーター JWS Operator は、イメージストリーム内の最新イメージを使用します。
このパラメーターには、 |
|
| JWS Operator によるベースイメージの検索を可能にするために作成したイメージストリームの名前
例: |
|
| イメージストリームを作成した名前空間またはプロジェクト
例: |
|
| アプリケーションソースファイルの場所とビルド方法を記述する一連のパラメーター
このパラメーターには、 |
|
| アプリケーションのソースファイルがある URL
ソースには、Maven ビルドをサポートする Maven
例: |
|
| JWS Operator が使用するソースリポジトリーのブランチ
例: |
|
|
例: |
|
| アプリケーションイメージのビルド方法を説明する一連のパラメーター このパラメーターは任意です。
このパラメーターには、 |
|
| Maven が Web アプリケーションのビルドに使用する Maven プロキシー URL クラスターがインターネットにアクセスできない場合、このパラメーターは必須です。 |
|
|
Maven が Web アプリケーション用に生成する
このディレクトリーの内容は、JWS Operator がアプリケーションのデプロイに使用するイメージの
デフォルト値は |
|
| ビルドをトリガーできる汎用 Webhook のシークレットの名前 シークレットの作成について、詳しくは汎用 Webhook または GitHub Webhook のシークレットの作成 を参照してください。 汎用 Webhook の使用について、詳しくは Webhook トリガー を参照してください。
例: |
|
| ビルドをトリガーできる GitHub Webhook のシークレットの名前 シークレットの作成について、詳しくは汎用 Webhook または GitHub Webhook のシークレットの作成 を参照してください。 GitHub Webhook の使用について、詳しくはWebhook トリガー を参照してください。 注記 GitHub Webhook の手動テストは実行できません。GitHub がペイロードを生成し、空ではありません。 |
|
| JWS Operator が使用するヘルスチェック デフォルトの動作では、パラメーターを必要としないヘルスバルブが使用されます。
このパラメーターには、 |
|
| Pod Readiness ヘルスチェックのロジックを指定する文字列
このパラメーターが指定されていない場合、JWS Operator は、OpenShift 内部レジストリーを使用して
例: |
|
| Pod Liveness ヘルスチェックのロジックを指定する文字列 このパラメーターは任意です。 |