模拟 Keycloak 站点故障转移
安装步骤
-
从 https://github.com/keycloak/keycloak-benchmark/ 检出 Git 仓库。
-
切换到
provision/rosa-cross-dc
文件夹。 -
在文件夹中的
.env
文件中为所需任务提供必需的变量。
脑裂
提供了两个任务用于脑裂故障转移,一个用于引起脑裂,另一个用于从中恢复
* 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 Global Accelerator 的唯一名称。 |
ROSA_CLUSTER_NAME_1 |
一个 ROSA 集群的名称。 |
ROSA_CLUSTER_NAME_2 |
另一个 ROSA 集群的名称。 |
集群故障
提供了两个任务用于模拟集群故障。一个用于积极删除 Keycloak 和 Infinispan StatefulSets,另一个用于重新创建它们
* 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
任务禁用 Keycloak 和 Infinispan Operators 以防止 StatefulSets 被自动重新创建。相反,revive-cluster
重新启用 Operators 以允许 StatefulSets 被重新创建。
变量 | 详情 |
---|---|
ROSA_CLUSTER_NAME |
ROSA 集群的名称。 |