CookBook

Payara 5.184 を Google Kubernetes Engine(GKE) から利用する

投稿日:

この CookBook では、Payara を GKE 上で実行しクラスタリングを構築する手順について紹介しています。
Payara 5.184 で Kubernetes Cluster Mode が追加されました。
PAYARA-2872 Kubernetes Cluster Mode

hazelcast-kubernetes を組み込むことで、機能が実現されています。
そのため、Payara 管理コンソール上からクラスタモードとして Kubernetes Cluster Mode を選択し、https://github.com/hazelcast/hazelcast-kubernetes#configuration に記載されている手順を実施することで、Kubernetes 上でクラスタリングを構築することができます。

この CookBook では以下の CookBook で作成した docker image を使用します。
Payara の Docker を作成する。

レシピ

  1. gcloud を設定します。
  2. docker image を作成します。
  3. クラスタを作成します。
  4. ClusterRoleBinding を作成します。
  5. Service を作成します。
  6. デプロイします。
  7. Payara の管理コンソールにアクセスし、Kubernetes Cluster Mode を設定します。
  8. クラスタリングを確認します。
  9. 後片付けをします。

1. gcloud を設定します。

https://console.cloud.google.com/ よりプロジェクト ID が my-project のプロジェクトを作成します。
プロジェクト ID は全世界でユニークである必要があるため、実際には別の名前を使用してください。この CookBook では my-project とします。
プロジェクトを作成後、以下のコマンドを実行します。

gcloud コマンドのデフォルトのプロジェクトとゾーンを設定しています。

2. docker image を作成します。

Payara の Docker を作成する。 で作成した docker image を Google Container Registry(GCR) に push します。

3. クラスタを作成します。

ノード数 = 2, インスタンスタイプ = n1-standard-1 のクラスタを作成します。

以下のように表示されれば完了です。

4. ClusterRoleBinding を作成します。

rbac.yaml

以下のように表示されれば完了です。

5. Service を作成します。

payara-service.yaml

payara-service.yaml で指定した metadata/name = payara がサービス名です。
そのため、Payara を実行後、管理コンソールで Kubernetes Cluster Mode の Kubernetes Service Name に「Payara」を指定します。

この CookBook では、Payara を 2 つ起動します。
それぞれの Payara(Payara 1, Payara 2) にアクセスするためのサービスを以下で作成します。

payara-service1.yaml

statefulset.kubernetes.io/pod-name = payara-0 としているため、Payara 1 へアクセスするサービスになります。

payara-service2.yaml

statefulset.kubernetes.io/pod-name = payara-1 としているため、Payara 2 へアクセスするサービスになります。

以下のように表示されれば完了です。

以下のコマンドでサービスの一覧を表示できます。

6. デプロイします。

payara-statefulset.yaml

spec/replicas = 2 としているため、2 つの Payara を実行します。
spec/template/spec/containers/resources/requests はクラスタ作成時に指定したインスタンスタイプに応じて適宜設定します。

以下のように表示されれば完了です。

以下のコマンドでポッドの一覧を表示できます。

STATUS が Running にならない場合、以下のコマンドでログを表示しエラーを確認できます。

また以下のコマンドで bash を起動し、各種コマンドを実行できます。デバッグ時にご利用ください。

7. Payara の管理コンソールにアクセスし、Kubernetes Cluster Mode を設定します。

以下のコマンドでエンドポイント IP を確認します。

NAMEが「payara1」の「EXTERNAL-IP」が「35.247.46.80」
NAMEが「payara2」の「EXTERNAL-IP」が「35.247.26.231」
であるため、https://35.247.46.80:4848/ で Payara 1 の管理コンソール, https://35.247.26.231:4848/ で Payara 2 の管理コンソールにアクセスできます。
ユーザ/パスワードは admin/password に設定されています。

https://35.247.46.80:4848/ から Payara 1 の管理コンソールを表示し、[Domain] - [DataGrid] の [Configuration] タブを表示し、[Restart Data Grid] をチェックします。

以下のように設定します。

設定項目 設定値
Data Grid Discovery Mode kubernetes
kubernetes default
Kubernetes Service Name payara

https://35.247.26.231:4848/ から Payara 2 の管理コンソールを表示し、同様に設定します。

8. クラスタリングを確認します。

[Domain] - [DataGrid] の [Data Grid Instances] タブを表示し、クラスタリングが構築できていることを確認します。

9. 後片付けをします。

以下のコマンドでポッド、サービス、クラスタを削除します。

また、https://console.cloud.google.com/

  • [Kubernetes Engine] - [クラスタ]
  • [ネットワーク サービス] - [負荷分散]

を表示し、データが残っている場合削除します。


push した docker image が不要な場合、

  • [Storage] - [ブラウザ]

を表示し、バケットを削除します。

まとめ

このように、Payara 5.184 以降では Kubernetes 環境で簡単に Payara のクラスタリングを構築できます。
是非ご活用ください。

-CookBook

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

グリッドテーブルのイメージからワークフローの案件内容を表示するには

このCookbookでは、グリッドテーブルの「イメージ」から申請済みの案件の詳細画面を呼び出す方法を紹介します。 この方法を利用すると別の案件を参照しながら新しく申請を行うことができます。 BISで作 …

差戻し先ノードの処理対象者を再展開するフローを作成する方法

このCookBookでは、差戻し先ノードの処理対象者を再展開するフローを作成する方法について紹介しています。 IM-Workflowの仕様として、差戻し先ノードではそのノードを以前に処理した人のみが再 …

no image

Forma標準アプリとIM-LogicDesignerを利用してBISワークフローの一括承認画面を作成する

このCookBookでは、Forma標準アプリとLogicDesignerを利用して、BISワークフローの一括承認画面を作成する方法を紹介します。 完成イメージ ① 承認を実施するフローとノードを設定 …

no image

グリッドテーブルの列タイプ「カスタム」を利用した場合にマルチセレクトがトグルされないようにする方法

このCookBookでは、グリッドテーブルの列タイプ「カスタム」を利用した場合に、マルチセレクトがトグルされないようにする方法を説明します。 グリッドテーブルでは、行内で参照表示となっている部分をクリ …

no image

No.1 メールに添付されているExcelファイル読み込み → ワークフロー申請

この記事は、EWS 2017で行われたLogicDesignerの講演内容に関する記事です。 こちらの例では、メールサーバと連携し、メールの添付ファイルの内容から自動的にワークフローを申請できます。 …

RSSRSSRSSRSS