第7章 OpenShift でのアプリケーションディプロイメントを自動化する EAP Operator
EAP オペレーターは、OpenShift API を拡張する JBoss EAP 固有のコントローラーです。EAP オペレーターを使用することで、複雑なステートフルアプリケーションのインスタンスの作成、設定、管理、およびシームレスなアップグレードを行うことができます。
EAP オペレーターは、複数の JBoss EAP Java アプリケーションインスタンスをクラスター全体で管理します。また、レプリカを縮小し、削除するために clean
として Pod をマークする前に、すべてのトランザクションが完了していることを検証することで、アプリケーションクラスターでの安全なトランザクションリカバリーを行えるようにします。EAP オペレーターは、EJB リモーティングおよびトランザクションリカバリープロセッシングの適切な処理に StatefulSet
を使用します。StatefulSet
は Pod の再起動後もストレージおよびネットワークのホスト名の安定性を永続的に保持します。
EAP オペレーターは OperatorHub を使用して EAP オペレーターをインストールする必要があります。これは、OpenShift クラスター管理者がオペレーターの検出、インストール、アップグレードに使用できます。
OpenShift Container Platform 4 では、Operator Lifecycle Manager (OLM) を使用して、すべての Operator および複数のクラスターで実行される関連サービスのインストール、更新、管理を行うことができます。
OLM は OpenShift Container Platform 4 で、デフォルトで実行されます。これは、クラスター管理者がクラスターで実行しているオペレーターへのインストール、アップグレード、およびアクセス付与に役立ちます。OpenShift Container Platform Web コンソールでは、クラスター管理者がオペレーターをインストールし、特定のプロジェクトアクセスを付与して、クラスターで利用可能なオペレーターのカタログを使用するための管理画面を利用できます。
オペレーターおよび OLM の詳細は、OpenShift ドキュメント を参照してください。
7.1. Web コンソールを使用した EAP Operator のインストール
JBoss EAP クラスター管理者は、OpenShift Container Platform Web コンソールを使用して Red Hat OperatorHub から EAP オペレーターをインストールできます。その後、EAP オペレーターを複数の名前空間にサブスクライブすることで、クラスター上で開発者が利用できるようにすることができます。
以下では、Web コンソールを使用して EAP オペレーターをインストールする前に注意する必要がある点をいくつか紹介します。
- インストールモード: クラスター上のすべての名前空間 を選択し、すべての名前空間にオペレーターをインストールするか、可能であれば個別の名前空間を選択して、選択した名前空間にのみオペレーターをインストールします。
- チャンネルの更新: EAP オペレーターが複数のチャネルで利用可能な場合は、サブスクライブするチャネルを選択できます。たとえば、stable チャネル (存在する場合) からデプロイするには、これを一覧から選択します。
- 承認ストラテジー: 自動の更新または手動の更新を選択できます。EAP Operator の自動更新を選択した場合は、Operator の新規バージョンが利用可能になると、Operator Lifecycle Manager (OLM) により EAP Operator の実行中のインスタンスが自動的にアップグレードされます。手動による更新を選択する場合は、オペレーターの新しいバージョンが利用可能になると、OLM は更新要求を作成します。次に、オペレーターが新規バージョンに更新されるように更新要求を手動で承認する必要があります。
以下の手順では、OpenShift Container Platform Web コンソールの変更に応じて変更される可能性があります。最新の手順や最も正確な手順は、Working with Operators in OpenShift Container Platformガイドの Installing from the OperatorHub using the web console を参照してください。
前提条件
-
cluster-admin
パーミッションを持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできる。
手順
- OpenShift Container Platform Web コンソールで、Operators→ OperatorHub の順に移動します。
-
下にスクロールするか、Filter by keyword ボックスに
EAP
と入力して EAP オペレーターを見つけます。 - JBoss EAP オペレーターを選択し、Install をクリックします。
Create Operator Subscription ページで以下を行います。
以下のいずれかを選択します。
-
クラスター上のすべての名前空間 (デフォルト) では、デフォルトの
openshift-operators
名前空間にオペレーターがインストールされ、クラスターのすべての名前空間を監視し、利用できるようにします。このオプションは常に利用できるわけではありません。 - クラスター上の特定のネームスペース では、選択した特定の単一の名前空間にオペレーターがインストールされます。このオペレーターは、この単一名前空間でのみ使用可能となります。
-
クラスター上のすべての名前空間 (デフォルト) では、デフォルトの
- Update Channel を選択します。
- 前述のように、Automatic または Manual 承認ストラテジーを選択します。
Subscribe をクリックし、この OpenShift Container Platform クラスターで選択した名前空間で EAP Operator を利用できるようにします。
- 手動での承認ストラテジーを選択した場合は、そのインストールプランを確認して承認するまで、サブスクリプションのアップグレードステータスは Upgrading に留まります。Install Plan ページでインストールプランを承認すると、サブスクリプションのアップグレードステータスは Up to date に変わります。
- 自動承認ストラテジーを選択した場合は、アップグレードステータスは介入なしで Up to date に変わります。
サブスクリプションのアップグレードステータスが Up to date になった後に、Operators
Installed Operators の順に選択します。そして、EAP ClusterServiceVersion (CSV) が表示され、関連する名前空間で InstallSucceeded に Status が変わっていることを確認します。 注記All namespace... インストールモードでは、表示されるステータスは
openshift-operators
名前空間で InstallSucceeded になります。その他の名前空間では、ステータスは Copied と表示されます。-
Status フィールドが InstallSucceeded に変更されない場合は、さらにトラブルシューティングを行うために問題のレポートを作成する Workloads
Pods ページの openshift-operators
プロジェクト (A specific namespace... インストールモードが選択されていた場合は、その他の関連の名前空間) の pod のログを確認してください。