13.3. 手动配置跨站点连接
您可以指定静态网络连接详情,以便使用在 OpenShift 外部运行的 Data Grid 集群来执行跨站点复制。在访问 Kubernetes API 的任何场景中,在运行 Data Grid 的 OpenShift 集群外都不需要手动跨站点连接。
先决条件
-
确定适合用于跨站点复制的公开类型。
如果使用 OpenShift路由
,您必须添加带有 TLS 证书的密钥存储和安全跨站点连接。 确保每个 Data Grid 集群和每个 <
cluster-name>-site 服务都
有正确的主机名和端口。手动连接 Data Grid 集群以形成跨站点视图,需要 Data Grid 服务的可预测网络位置,这意味着您需要在创建网络位置前了解网络位置。
流程
-
为每个 Data Grid 集群创建一个
Infinispan
CR。 -
使用
spec.service.sites.local.name
指定本地站点的名称。 为跨站点复制配置公开类型。
将
spec.service.sites.local.expose.type
字段的值设置为以下之一:-
NodePort
-
LoadBalancer
-
Route
-
另外,还可使用以下字段指定端口或自定义主机名:
-
如果使用
NodePort
服务,spec.service.sites.local.expose.nodePort
。 -
spec.service.sites.local.expose.port
(如果使用LoadBalancer
服务)。 -
如果使用 OpenShift
路由
,spec.service.sites.local.expose.routeHostName
。
-
如果使用
为每个 Data Grid 集群提供名称和静态 URL,它们充当
spec.service.sites.locations
的备份位置,例如:LON
apiVersion: infinispan.org/v1 kind: Infinispan metadata: name: infinispan spec: replicas: 3 service: type: DataGrid sites: local: name: LON expose: type: LoadBalancer port: 65535 maxRelayNodes: 1 locations: - name: NYC url: infinispan+xsite://infinispan-nyc.myhost.com:7900 logging: categories: org.jgroups.protocols.TCP: error org.jgroups.protocols.relay.RELAY2: error
NYC
apiVersion: infinispan.org/v1 kind: Infinispan metadata: name: infinispan spec: replicas: 2 service: type: DataGrid sites: local: name: NYC expose: type: LoadBalancer port: 65535 maxRelayNodes: 1 locations: - name: LON url: infinispan+xsite://infinispan-lon.myhost.com logging: categories: org.jgroups.protocols.TCP: error org.jgroups.protocols.relay.RELAY2: error
重要务必调整
Infinispan
CR 中的日志类别,以降低 JGroups TCP 和 RELAY2 协议的日志级别。这可防止大量日志文件使用容器存储。spec: logging: categories: org.jgroups.protocols.TCP: error org.jgroups.protocols.relay.RELAY2: error
-
使用任何其他 Data Grid 服务资源配置
Infinispan
CR,然后应用更改。 验证 Data Grid 集群是否组成了跨站点视图。
检索
Infinispan
CR。oc get infinispan -o yaml
-
检查
type: CrossSiteViewFormed
条件。
后续步骤
如果您的集群形成了跨站点视图,您可以开始向缓存添加备份位置。
其他资源