Keycloakサイトフェイルオーバーのシミュレーション

前提条件

  • Infinispan xsiteとAurora DBで2つのROSAクラスターにレプリケートされたKeycloakインスタンス

  • Task

CLIから障害テストを実行する

インストール手順

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

  2. provision/rosa-cross-dcフォルダーに移動します。

  3. フォルダー内の.envファイルに必要なタスクの変数を指定します。

スプリットブレイン

スプリットブレインフェイルオーバー用に2つのタスクが用意されています。1つはスプリットブレインを引き起こすタスク、もう1つはそこから回復するタスクです。

* split-heal:                             Heal a split-brain simulation by reenabling GossipRouters and reseting the global accelerator endpoints
* split-trigger:                          Disables Infinispan GossipRouters on each cluster to simulate a split-brain scenario
変数 詳細

ACCELERATOR_NAME

デプロイメントで使用されるAWSグローバルアクセラレータの一意の名前。

ROSA_CLUSTER_NAME_1

1つのROSAクラスターの名前。

ROSA_CLUSTER_NAME_2

もう一方のROSAクラスターの名前。

クラスター障害

クラスター障害のシミュレーション用に2つのタスクが用意されています。1つはKeycloakとInfinispan StatefulSetを積極的に削除するタスク、もう1つはそれらを再作成するタスクです。

* kill-cluster:                           Delete the Keycloak and Infinispan StatefulSets in the specified cluster
* revive-cluster:                         Recreate the Keycloak and Infinispan StatefulSets in the specified cluster

kill-clusterタスクは、StatefulSetが自動的に再作成されるのを防ぐために、KeycloakオペレーターとInfinispanオペレーターの両方を無効にします。逆に、revive-clusterはオペレーターを再度有効にして、StatefulSetを再作成できるようにします。

変数 詳細

ROSA_CLUSTER_NAME

ROSAクラスターの名前。