OpenShift への Infinispan のインストール

1 つまたは複数の Infinispan クラスター (クロスサイトの有無を問わず) をデプロイします。

OpenShift への Infinispan のインストール

  1. https://github.com/keycloak/keycloak-benchmark/ から Git リポジトリをチェックアウトします。

  2. フォルダ provision/infinispan に移動します。

  3. task <task-name> コマンドを実行して、OpenShift 上のすべてのコンテナをプロビジョニングします。

Infinispan クラスターに Keycloak クラスターを接続する方法については、Keycloak のカスタマイズ を確認してください。

利用可能なタスク

Infinispan は、単一または複数の Openshift クラスターを使用して、クロスサイトの有無にかかわらずインストールできます。利用可能なタスクは次のとおりです。

task: Available tasks for this project:
* crossdc:                     Creates a cross-site enabled Infinispan deployment between 2 OCP clusters
* crossdc-single:              Creates a cross-site enabled Infinispan deployment between 2 namespaces
* delete-crossdc:              Deletes the Infinispan CR from cross-site deployment
* delete-crossdc-single:       Deletes the Infinispan CR in a cross-site deployment in a single OCP cluster
* delete-infinispan:           Deletes the Infinispan CR
* single-cluster:              Creates a single cluster Infinispan deployment

クロスサイトなしのシングルクラスター

クロスサイトなしのシンプルな Infinispan クラスターのみをインストールするには、タスク single-cluser を実行します。このタスクには、次の必須変数があります。

変数 詳細

ROSA_CLUSTER_NAME

ROSA クラスター名。利用可能なクラスター名については、rosa list clusters を使用してください。

OC_NAMESPACE

Infinispan クラスターをデプロイする名前空間。

task single-cluster ROSA_CLUSTER_NAME=gh-keycloak OC_NAMESPACE=infinispan

Infinispan クラスターを削除するには、同じ変数を使用してタスク delete-infinispan を実行します。

task delete-infinispan ROSA_CLUSTER_NAME=gh-keycloak OC_NAMESPACE=infinispan

単一の Openshift クラスター内のクロスサイト対応 Infinispan クラスター

クロスサイト対応で 2 つの Infinispan クラスターをデプロイするには、タスク crossdc-single を実行します。このタスクには、各 Infinispan クラスターがデプロイされる 2 つの異なる名前空間が必要です。必要な変数は次のとおりです。

変数 詳細

ROSA_CLUSTER_NAME

ROSA クラスター名。利用可能なクラスター名については、rosa list clusters を使用してください。

OC_NAMESPACE_1

最初の Infinispan クラスターをインストールする最初の名前空間。

OC_NAMESPACE_2

2 番目の Infinispan クラスターをインストールする 2 番目の名前空間。

変数 OC_NAMESPACE_1OC_NAMESPACE_2 は異なる必要があります。
task crossdc-single ROSA_CLUSTER_NAME=gh-keycloak OC_NAMESPACE_1=ispn-1 OC_NAMESPACE_2=ispn-2

このデプロイメントを削除するには、同じ変数を使用してタスク delete-crossdc-single を実行します。

task delete-crossdc-single ROSA_CLUSTER_NAME=gh-keycloak OC_NAMESPACE_1=ispn-1 OC_NAMESPACE_2=ispn-2

2 つの異なる Openshift クラスター内のクロスサイト対応 Infinispan クラスター

最後に、2 つの異なる Openshift クラスターでクロスサイトを使用して Infinispan をデプロイするには、タスク crossdc を実行します。次の変数が必要です。

変数 詳細

ROSA_CLUSTER_NAME_1

最初の ROSA クラスター名。利用可能なクラスターについては、rosa list clusters を使用してください。

ROSA_CLUSTER_NAME_2

2 番目の ROSA クラスター名。利用可能なクラスターについては、rosa list clusters を使用してください。

OC_NAMESPACE_1

最初の ROSA クラスターに Infinispan クラスターをインストールする名前空間。

OC_NAMESPACE_2

2 番目の ROSA クラスターに Infinispan クラスターをインストールする名前空間。

変数 ROSA_CLUSTER_NAME_1ROSA_CLUSTER_NAME_2 は異なる必要があります。
変数 OC_NAMESPACE_1OC_NAMESPACE_2 は同じ値を持つことができます。
task crossdc ROSA_CLUSTER_NAME_1=gh-keycloak ROSA_CLUSTER_NAME_2=gh-pruivo OC_NAMESPACE_1=infinispan OC_NAMESPACE_2=infinispan

このデプロイメントを削除するには、同じ変数を使用してタスク delete-crossdc を実行します。

task delete-crossdc ROSA_CLUSTER_NAME_1=gh-keycloak ROSA_CLUSTER_NAME_2=gh-pruivo OC_NAMESPACE_1=infinispan OC_NAMESPACE_2=infinispan

オプション変数

以下は、Infinispan デプロイメントをカスタマイズするための変数のリストです。一部はすべてのタスクで使用され、その他はタスク固有です。

変数 デフォルト 使用タスク 詳細

CROSS_DC_ISPN_REPLICAS

3

すべて

作成する Infinispan ポッドレプリカの数。

CROSS_DC_CPU_REQUESTS

-

すべて

<limit>:<requests> の形式の CPU リクエスト。たとえば、2000m:1000m はポッドを最大 2000m の CPU に制限し、起動時に各ポッドに 1000m の CPU を要求します。単一の値を指定すると、制限とリクエストの両方が設定されます。

CROSS_DC_MEMORY_REQUESTS

-

すべて

<limit>:<requests> の形式のメモリリクエスト。たとえば、2Gi:1Gi はポッドを最大 2Gi のメモリに制限し、起動時に各ポッドに 1Gi のメモリを要求します。単一の値を指定すると、制限とリクエストの両方が設定されます。

CROSS_DC_JVM_OPTS

-

すべて

Infinispan サーバー用の追加の JVM オプション。Java のヒープメモリを次のように設定するために使用できます: -Xmx750

CROSS_DC_HOT_ROD_PASSWORD

AWS IAM または changeme からの共有シークレット

すべて

Infinispan Hot Rod エンドポイントのクレデンシャル。

CROSS_DC_HISTOGRAMS

false

すべて

Infinispan クラスターでヒストグラムメトリクスを有効にします。

CROSS_DC_MODE

SYNC

crossdc-single および crossdc

キャッシュクロスサイト戦略を設定します。SYNC または ASYNC クロスサイトレプリケーションにすることができます。

CROSS_DC_STATE_TRANSFER_MODE

AUTO

crossdc-single および crossdc

キャッシュクロスサイト状態転送戦略を設定します。AUTO の場合、クロスサイト接続が復元されると、状態転送が自動的に開始されます。

CROSS_DC_MODE=ASYNC の場合のみ使用される変数。

AUTO または MANUAL にすることができます。

CROSS_DC_SERVICE_ACCOUNT

xsite-sa

crossdc

異なる OpenShift クラスター間のクロスサイトを認証および構成するために Infinispan Operator が必要とするサービスアカウント。Infinispan Operator は、このアカウントを使用してリモートクラスターに認証します。

CROSS_DC_SA_TOKEN_SECRET

xsite-token-secret

crossdc

リモート OpenShift クラスターのサービスアカウントトークンが保存されているシークレット名。

CROSS_DC_JGRP_TS_SECRET

xsite-truststore-secret

crossdc

トラストストアが保存されているシークレット。トラストストアは、Infinispan ポッドと Gossip Router ポッド間の TLS 通信を許可するために使用されます。

CROSS_DC_JGRP_KS_SECRET

xsite-keystore-secret

crossdc

キーストアが保存されているシークレット。キーストアは、Infinispan ポッドと Gossip Router ポッド間の TLS 通信に使用されます。