Red Hat JBoss Web Server Operator
Red Hat JBoss Web Server Operator 2.x for OpenShift のインストールと使用
概要
Red Hat JBoss Web Server ドキュメントへのフィードバック リンクのコピーリンクがクリップボードにコピーされました!
エラーを報告したり、ドキュメントの改善を提案したりするには、Red Hat Jira アカウントにログインし、課題を送信してください。Red Hat Jira アカウントをお持ちでない場合は、アカウントを作成するように求められます。
手順
- 次のリンクをクリックして チケットを作成 します。
- Summary に課題の簡単な説明を入力します。
- Description に課題や機能拡張の詳細な説明を入力します。問題があるドキュメントのセクションへの URL も記載してください。
- Create をクリックすると、課題が作成され、適切なドキュメントチームに転送されます。
多様性を受け入れるオープンソースの強化 リンクのコピーリンクがクリップボードにコピーされました!
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オブジェクトと同じ名前空間にデプロイされたすべての Operator に対してロールベースのアクセス制御 (RBAC) を生成するターゲット名前空間を選択します。 - カスタムリソース定義 (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.x の新機能 リンクのコピーリンクがクリップボードにコピーされました!
JWS Operator 2.x は、シームレスな統合などのレベル 2 Operator 機能を提供します。JWS Operator 2.x は Red Hat JBoss Web Server メータリングラベルもサポートしており、いくつかの新規または強化されたカスタムリソース定義 (CRD) パラメーターを含んでいます。
2.1. JWS Operator 2.1 リリースの新機能 リンクのコピーリンクがクリップボードにコピーされました!
JWS Operator 2.1 リリースには、次の新機能と機能拡張が含まれています。
新しい webhookSecrets パラメーター
JWS Operator 2.1 では、CRD の webImageStream:webSources 階層に webhookSecrets パラメーターが導入されています。このパラメーターは、汎用、GitHub、または GitLab の Webhook を通じてビルドをトリガーするためのシークレット名を指定します。
webhookSecrets パラメーターには、generic、github、gitlab フィールドが含まれています。
詳細は、JWS Operator の CRD パラメーター を参照してください。
新しい tlsConfig パラメーター
JWS Operator 2.1 では、CRD に tlsConfig パラメーターが導入されています。このパラメーターは、Web サーバーの TLS 設定を指定します。
tlsConfig パラメーターには、routeHostname、certificateVerification、tlsSecret、および tlsPassword フィールドが含まれています。
詳細は、JWS Operator の CRD パラメーター を参照してください。
新しい environmentVariables パラメーター
JWS Operator 2.1 では、CRD に environmentVariables パラメーターが導入されています。このパラメーターは、デプロイメントの環境変数を指定します。
詳細は、JWS Operator の CRD パラメーター を参照してください。
新しい persistentLogs パラメーター
JWS Operator 2.1 では、CRD に persistentLogs パラメーターが導入されています。このパラメーターは、永続ボリュームとログ設定を指定します。
persistentLogs パラメーターには、catalinaLogs、enableAccessLogs、volumeName、storageClass フィールドが含まれます。
詳細は、JWS Operator の CRD パラメーター を参照してください。
新しい podResources パラメーター
JWS Operator 2.1 では、CRD に podResources パラメーターが導入されています。このパラメーターは、Web サーバーが使用する中央処理装置 (CPU) とメモリーリソースの設定を指定します。
詳細は、JWS Operator の CRD パラメーター を参照してください。
新しい securityContext パラメーター
JWS Operator 2.1 では、CRD に securityContext パラメーターが導入されています。このパラメーターは、アプリケーションの実行に必要なセキュリティー機能を定義します。
詳細は、JWS Operator の CRD パラメーター を参照してください。
新しい useInsightsClient パラメーター
JWS Operator 2.1 では、CRD に useInsightsClient パラメーターが導入されています。このパラメーターは、Red Hat が提供するランタイムインベントリー Operator との接続を作成するかどうかを示します。
INSIGHTS_DEBUG 環境変数を true に設定すると、Insights クライアントのデバッグログを有効化できます。
useInsightsClient パラメーターでは、Red Hat JBoss Web Server 6.1 以降のイメージを使用する必要があります。
このパラメーターはテクノロジープレビューとしてのみ利用可能です。
詳細は、JWS Operator の CRD パラメーター を参照してください。
非推奨の genericWebhookSecret パラメーター
JWS Operator 2.1 では、CRD の webImageStream.webSources.webSourcesParams 階層の下にある genericWebhookSecret パラメーターが非推奨となりました。
このパラメーターは、webImageStream.webSources.webhookSecrets.generic パラメーターに置き換えられました。
詳細は、JWS Operator の CRD パラメーター を参照してください。
非推奨の githubWebhookSecret パラメーター
JWS Operator 2.1 では、CRD の webImageStream.webSources.webSourcesParams 階層の下にある githubWebhookSecret パラメーターが非推奨となりました。
このパラメーターは、webImageStream.webSources.webhookSecrets.github パラメーターに置き換えられました。
詳細は、JWS Operator の CRD パラメーター を参照してください。
デフォルトで生成されるホスト名の強化された形式
JWS Operator 2.1 では、デフォルトで生成されるホスト名の形式が強化され、アプリケーション名とプロジェクト名のそれぞれ最大 63 文字まで使用できるようになっています。
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
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 (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 セクションの下にラベルを追加できます。以下に例を示します。
デプロイされた 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 をインストールできます。Red Hat が提供する JWS Operator の名前は 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インストールモードを使用する場合は、この名前空間にOperatorGroupオブジェクトが 1 つだけあることを確認してください。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 VERSION REPLACES PHASE jws-operator.v2.1.x
JWS Operator
2.1.x
jws-operator.v2.0.y
Succeeded
上記の出力では、
2.1.xは現在の Operator バージョン (例:2.1.0) を表し、2.0.yは現行バージョンに置き換わる前の Operator バージョン (例:2.0.15) を表しています。
第4章 既存の JWS イメージのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
JWS Operator を使用して、OpenShift クラスターにデプロイする Web サーバーアプリケーションの既存のイメージのデプロイを容易にすることができます。この状況では、デプロイする Web サーバーアプリケーションのカスタムリソース WebServer ファイルを作成する必要があります。JWS Operator は、カスタムリソース WebServer ファイルを使用して、アプリケーションのデプロイを処理します。
前提条件
OperatorHub から JWS Operator をインストールしている。
JWS Operator がインストールされていることを確認するには、次のコマンドを入力します。
oc get deployment.apps/jws-operator-controller-manager
$ oc get deployment.apps/jws-operator-controller-managerCopy 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-controller-manager
手順
-
イメージを準備し、イメージを表示する場所 (例:
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 がすべての名前空間にインストールされている場合は、<project_name>をopenshift-operatorsに置き換えます。上記のコマンドは、以下の出力を表示します。ここで
v2.1.xは、Operator のバージョン (例:v2.1.0) を示しています。f:currentCSV: {} currentCSV: jws-operator.v2.1.xf:currentCSV: {} currentCSV: jws-operator.v2.1.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 がすべての名前空間にインストールされている場合は、<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.1.0) に置き換えます。<project_name>を、Operator をインストールしたプロジェクトの名前空間に置き換えます。Operator がすべての名前空間にインストールされている場合は、<project_name>をopenshift-operatorsに置き換えます。上記のコマンドは、CSV が削除されたことを確認するメッセージを表示します。
以下に例を示します。
clusterserviceversion.operators.coreos.com "jws-operator.v2.1.x" deleted
clusterserviceversion.operators.coreos.com "jws-operator.v2.1.x" deletedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第6章 Webhook のシークレットの作成 リンクのコピーリンクがクリップボードにコピーされました!
汎用、GitHub、または GitLab の Webhook で使用して Git リポジトリーでアプリケーションビルドをトリガーできるシークレットを作成できます。アプリケーションコードに使用する Git ホスティングプラットフォームのタイプに応じて、JWS Operator は、Web アプリケーションのカスタムリソースファイルでシークレットを指定するために使用できる webhookSecrets:generic、webhookSecrets:github、および webhookSecrets:gitlab パラメーターを提供します。
手順
Base64 でエンコードされたシークレット文字列を作成します。
以下に例を示します。
echo -n "qwerty" | base64
echo -n "qwerty" | base64Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のコマンドは、プレーンテキスト文字列
qwertyをエンコードし、エンコードされた文字列を表示します。以下に例を示します。
cXdlcnR5
cXdlcnR5Copy to Clipboard Copied! Toggle word wrap Toggle overflow Secretという種類のオブジェクトを定義するsecret.yamlファイルを作成します。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記の例では、
jws-secretはシークレットの名前であり、cXdlcnR5はエンコードされたシークレット文字列です。シークレットを作成するには、次のコマンドを入力します。
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 前の例に基づいて、
webhookSecrets:genericパラメーターをjws-secretに設定できます。
検証
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 Webhook にリクエストを送信するには、次の
curlコマンドを入力します。curl -k -X POST https://<host>:<port>/apis/build.openshift.io/v1/namespaces/<namespace>/buildconfigs/<name>/webhooks/<secret>/generic
curl -k -X POST https://<host>:<port>/apis/build.openshift.io/v1/namespaces/<namespace>/buildconfigs/<name>/webhooks/<secret>/genericCopy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のコマンドで、URL 文字列内の
<host>、<port>、<namespace>、<name>を、ご使用の環境に適した値に置き換えます。<secret>をプレーンテキストのシークレット文字列 (例:qwerty) に置き換えます。上記のコマンドは、次のタイプの Webhook 応答を JSON 形式で生成し、ビルドがトリガーされます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記User "system:anonymous" cannot create resource errorが表示される場合は、認証されていないユーザーをsystem:webhookロールバインディングに追加するか、トークンを作成してcurlコマンドを実行することで、このエラーを解決できます。たとえば、トークンを作成して
curlコマンドを実行するには、次のようにします。TOKEN=`oc create token builder` curl -H "Authorization: Bearer $TOKEN" -k -X POST https://<host>:<port>/apis/build.openshift.io/v1/namespaces/<namespace>/buildconfigs/<name>/webhooks/<secret>/generic
TOKEN=`oc create token builder` curl -H "Authorization: Bearer $TOKEN" -k -X POST https://<host>:<port>/apis/build.openshift.io/v1/namespaces/<namespace>/buildconfigs/<name>/webhooks/<secret>/genericCopy to Clipboard Copied! Toggle word wrap Toggle overflow GitHub で Webhook を使用する場合は以下を実行します。
- GitHub プロジェクトで、Settings > Webhooks > Add webhook を選択します。
- Payload URL フィールドに URL を追加します。
-
コンテンツタイプを
application/jsonに設定します。 - 必要に応じて SSL 検証を無効にします。
- Add webhook をクリックします。
詳細は、https://docs.openshift.com/container-platform/4.6/builds/triggering-builds-build-hooks.html を参照してください。
第7章 JWS Operator CRD パラメーター リンクのコピーリンクがクリップボードにコピーされました!
JWS Operator は、一連のカスタムリソース定義 (CRD) パラメーターを提供します。Web アプリケーションのカスタムリソース WebServer ファイルを作成する場合は、<key>: <value> の形式でパラメーター値を指定できます。JWS Operator は、カスタムリソース WebServer ファイルで指定した情報を使用して、Web アプリケーションをデプロイします。
7.1. CRD パラメーター階層 リンクのコピーリンクがクリップボードにコピーされました!
JWS Operator は、以下の階層形式で CRD パラメーターを提供します。
カスタムリソース WebServer ファイルを作成するときは、上記で説明したとおりの階層形式でパラメーターの名前と値を指定します。カスタムリソース WebServer ファイルの作成の詳細は 既存 JWS イメージのデプロイ を参照してください。
genericWebhookSecret および githubWebhookSecret パラメーターは、JWS Operator 2.1 リリースでは非推奨となりました。useInsightsClient パラメーターは、テクノロジープレビュー機能です。
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 が使用するソースリポジトリーのブランチ
例: |
|
|
例: |
|
| Webhook を通じてビルドをトリガーするためのシークレット名を指定するパラメーターのセット
このパラメーターには、 |
|
| ビルドをトリガーできる汎用 Webhook のシークレットの名前 シークレットの作成の詳細は、Webhook のシークレットの作成 を参照してください。 汎用 Webhook の使用の詳細は、Webhook トリガー を参照してください。
例: |
|
| ビルドをトリガーできる GitHub Webhook のシークレットの名前 シークレットの作成の詳細は、Webhook のシークレットの作成 を参照してください。 GitHub Webhook の使用の詳細は、Webhook トリガー を参照してください。
例: |
|
| ビルドをトリガーできる GitLab webhook のシークレットの名前 シークレットの作成の詳細は、Webhook のシークレットの作成 を参照してください。 GitLab webhook の使用の詳細は、Webhook トリガー を参照してください。
例: |
|
| アプリケーションイメージのビルド方法を説明する一連のパラメーター このパラメーターは任意です。
このパラメーターには、 注記
|
|
| Maven が Web アプリケーションのビルドに使用する Maven プロキシー URL クラスターがインターネットにアクセスできない場合、このパラメーターは必須です。 |
|
|
Maven が Web アプリケーション用に生成する
このディレクトリーの内容は、JWS Operator がアプリケーションのデプロイに使用するイメージの
デフォルト値は |
|
| 重要
このパラメーターは 2.1 リリースでは非推奨となりました。代わりに Webhook のシークレット文字列 シークレットの作成の詳細は、Webhook のシークレットの作成 を参照してください。 汎用 Webhook の使用の詳細は、Webhook トリガー を参照してください。
たとえば: |
|
| 重要
このパラメーターは 2.1 リリースでは非推奨となりました。代わりに GitHub 固有の Webhook シークレット文字列 シークレットの作成の詳細は、Webhook のシークレットの作成 を参照してください。 GitHub Webhook の使用の詳細は、Webhook トリガー を参照してください。 注記 GitHub Webhook の手動テストは実行できません。GitHub がペイロードを生成し、空ではありません。 |
|
| JWS Operator が使用するヘルスチェック デフォルトの動作では、パラメーターを必要としないヘルスバルブが使用されます。
このパラメーターには、 |
|
| Pod Readiness ヘルスチェックのロジックを指定する文字列
このパラメーターが指定されていないと、JWS Operator は、OpenShift 内部レジストリーを使用して
例: |
|
| Pod Liveness ヘルスチェックのロジックを指定する文字列 このパラメーターは任意です。 |
|
| Web サーバーの TLS 設定を指定するパラメーターのセット
このパラメーターには、 |
|
| Operator がルートを作成するかどうか、またはルートが TLS を使用するかどうかを示します。
サポートされている値は
例: |
|
| Operator がクライアント証明書で TLS コネクターを使用するかどうかを示します。
サポートされる値は、
詳細は、
例: |
|
|
サーバー証明書 (
例: |
|
|
サーバーキーを保護するために使用されるパスフレーズ (
例: |
|
| デプロイメント用の環境変数 |
|
| 永続ボリュームとログ設定を指定するパラメーターのセット
このパラメーターには、 |
|
|
Pod の障害が発生した場合も利用できるように、各 Pod の
サポートされている値は
例: |
|
|
Pod の障害が発生した場合でも利用できるように、各 Pod の
サポートされている値は
例: |
|
| ログファイルを保存するために使用される永続ボリュームの名前
例: |
|
| ログファイルを保存するために使用される永続ボリュームのストレージクラスの名前
例: |
|
| Web サーバーが使用する CPU とメモリーリソースの設定を指定します。
これらの値は、 以下に例を示します。
これらの値は自動スケーリングに使用されます。自動スケーリングの詳細は、Horizontal Pod Autoscaler を使用した Pod の自動スケーリング を参照してください。 |
|
| アプリケーションの実行に必要なセキュリティー機能を定義します。 |
|
| Red Hat が提供するランタイムインベントリー Operator との接続を作成するかどうかを示します。
サポートされている値は
例:
注記
|