4.3. 启用区域DR 的要求
安装 Red Hat OpenShift Data Foundation 支持的灾难恢复解决方案的先决条件如下:
您必须有三个在它们之间具有网络可访问性的 OpenShift 集群:
- 安装了 Red Hat Advanced Cluster Management (RHACM) for Kubernetes operator 的 hub 集群。
- 运行 OpenShift Data Foundation 的主要受管集群。
- 运行 OpenShift Data Foundation 的辅助 受管集群。
注意要配置 hub 恢复设置,您需要一个 4 个集群,它充当被动 hub。主受管集群(Site-1)可以与活跃的 RHACM hub 集群共存,而被动 hub 集群与二级受管集群(Site-2)在一起。或者,活跃的 RHACM hub 集群可以放在中立站点(Site-3)中,不受 Site-1 主受管集群或 Site-2 次要集群的故障的影响。在这种情况下,如果使用被动 hub 集群,它可以放在 Site-2 的次要集群。如需更多信息,请参阅为 hub 恢复配置被动 hub 集群。
确保 Hub 集群上安装了 RHACM operator 和 MultiClusterHub。具体步骤请查看 RHACM 安装指南。
成功安装 Operator 后,会弹出一个显示 Web 控制台更新可用的消息。点此弹出窗口中的 Refresh web console 来反映控制台的更改。
确保正确配置了应用程序流量路由和重定向。
在 Hub 集群中
-
导航到 All Clusters
Infrastructure Clusters。 - 使用 RHACM 控制台 导入或创建主受管集群和二级受管集群。
- 为您的环境选择适当的选项。
-
导航到 All Clusters
使用 RHACM Submariner 附加组件连接私有 OpenShift 集群和服务网络。验证两个集群是否具有非覆盖服务和集群专用网络。否则,请确保在 Submariner 附加组件安装过程中启用了 Globalnet。
为每个受管集群运行以下命令,以确定是否需要启用 Globalnet。以下示例是非重叠的集群和服务网络,因此不会启用 Globalnet。
$ oc get networks.config.openshift.io cluster -o json | jq .specPrimary 集群的输出示例:
{ "clusterNetwork": [ { "cidr": "10.5.0.0/16", "hostPrefix": 23 } ], "externalIP": { "policy": {} }, "networkType": "OVNKubernetes", "serviceNetwork": [ "10.15.0.0/16" ] }Secondary 集群的输出示例:
{ "clusterNetwork": [ { "cidr": "10.6.0.0/16", "hostPrefix": 23 } ], "externalIP": { "policy": {} }, "networkType": "OVNKubernetes", "serviceNetwork": [ "10.16.0.0/16" ] }另外,如果在受管集群中安装了 Submariner 和 OpenShift Data Foundation,请使用 OpenShift Data Foundation 命令行界面(CLI)工具来获取集群的附加信息。这些信息可以根据集群服务和专用网络在 submariner 安装过程中确定启用 Globalnet 的需求。
从客户门户网站下载 OpenShift Data Foundation CLI 工具。
在两个受管集群上运行以下命令,其中
PeerManagedClusterName (ClusterID是对等 OpenShift Data Foundation 集群的名称:$ odf get dr-prereq <PeerManagedClusterName(ClusterID)>如果在带有重叠服务的集群上没有安装 Globalnet,则以下输出会显示:
Info: Submariner is installed. Info: Globalnet is required. Info: Globalnet is not enabled.注意这要求卸载 Submariner,然后启用了 Globalnet 重新安装。
如果 submariner 在带有重叠服务的集群上安装了 Globalnet,则以下输出会显示:
Info: Submariner is installed. Info: Globalnet is required. Info: Globalnet is enabled.如果在带有非覆盖服务的集群上没有 Globalnet 安装 submariner,则以下输出会显示:
Info: Submariner is installed. Info: Globalnet is not required. Info: Globalnet is not enabled.如果 submariner 在带有非覆盖服务的集群上使用 Globalnet 安装,则以下输出会显示:
Info: Submariner is installed. Info: Globalnet is not required. Info: Globalnet is enabled.如需更多信息,请参阅 Submariner 文档。