在 OpenShift 上安装 Infinispan
部署一个或多个 Infinispan 集群(有或没有跨站点)。
在 OpenShift 上安装 Infinispan
-
从 https://github.com/keycloak/keycloak-benchmark/ 检出 Git 存储库。
-
更改到文件夹
provision/infinispan
。 -
运行
task <task-name>
命令以在 OpenShift 上配置所有容器。
查看 Keycloak 自定义 了解如何将 Keycloak 集群连接到 Infinispan 集群。 |
可用任务
可以使用单个或多个 OpenShift 集群安装 Infinispan,有或没有跨站点。可用的任务如下所示:
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 集群名称。使用 |
|
部署 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 集群
要部署两个启用了跨站点的 Infinispan 集群,请运行任务 crossdc-single
。此任务需要两个不同的命名空间,每个 Infinispan 集群都将部署到这些命名空间中。必需的变量是:
变量 | 详细信息 |
---|---|
|
ROSA 集群名称。使用 |
|
要安装第一个 Infinispan 集群的第一个命名空间。 |
|
要安装第二个 Infinispan 集群的第二个命名空间。 |
变量 OC_NAMESPACE_1 和 OC_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
两个不同 OpenShift 集群中启用了跨站点的 Infinispan 集群
最后,要部署在两个不同 OpenShift 集群中跨站点启用的 Infinispan,请运行任务 crossdc
。以下变量是必需的:
变量 | 详细信息 |
---|---|
|
第一个 ROSA 集群名称。使用 |
|
第二个 ROSA 集群名称。使用 |
|
要在第一个 ROSA 集群中安装 Infinispan 集群的命名空间。 |
|
要在第二个 ROSA 集群中安装 Infinispan 集群的命名空间。 |
变量 ROSA_CLUSTER_NAME_1 和 ROSA_CLUSTER_NAME_2 必须不同。 |
变量 OC_NAMESPACE_1 和 OC_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 部署的变量列表。其中一些变量由所有任务使用,而另一些则是任务特定的。
变量 | 默认值 | 使用任务 | 详细信息 |
---|---|---|---|
|
3 |
全部 |
要创建的 Infinispan Pod 副本数。 |
|
- |
全部 |
CPU 请求,格式为 |
|
- |
全部 |
内存请求,格式为 |
|
- |
全部 |
Infinispan 服务器的额外 JVM 选项。可用于设置 Java 堆内存,如下所示: |
|
AWS IAM 的共享密钥或 |
全部 |
Infinispan Hot Rod 端点的凭据。 |
|
|
全部 |
在 Infinispan 集群中启用直方图指标。 |
|
|
|
设置缓存跨站点策略。可以是 |
|
|
|
设置缓存跨站点状态传输策略。如果为 仅在 可以是 |
|
|
|
Infinispan 运算符用于在不同的 OpenShift 集群之间进行身份验证和配置跨站点的服务帐户。Infinispan 运算符使用此帐户来对远程集群进行身份验证。 |
|
|
|
存储远程 OpenShift 集群的服务帐户令牌的密钥名称。 |
|
|
|
存储信任存储的密钥。信任存储用于允许 Infinispan 和 Gossip Router Pod 之间的 TLS 通信。 |
|
|
|
存储密钥存储的密钥。密钥存储用于 Infinispan 和 Gossip Router Pod 之间的 TLS 通信。 |