3.9. 在 Hub 集群上创建灾难恢复策略
OpenShift 灾难恢复策略(DRPolicy)资源指定参与灾难恢复解决方案和所需的复制间隔的 OpenShift Container Platform 集群。DRPolicy 是一个集群范围的资源,用户可以应用到需要灾难恢复解决方案的应用程序。
ODF MultiCluster Orchestrator Operator 通过 Multicluster Web 控制台 促进每个 DRPolicy 和对应的 DRClusters 的创建。
先决条件
- 确保至少一组两个受管集群。
流程
-
在 OpenShift 控制台中,导航到 All Clusters
Data Services disaster recovery。 - 在 Overview 选项卡中,点 Create a disaster recovery policy 或 navigate to Policies 标签页,点 Create DRPolicy。
-
输入 Policy name。确保每个 DRPolicy 都有一个唯一名称(例如:
ocp4perf1-ocp4perf2)。 - 从与此新策略关联的受管集群列表中选择两个集群。
-
复制策略根据所选的 OpenShift 集群自动设置为
sync。 - 点 Create。
验证 DRPolicy 是否已成功创建。对创建的每个 DRPolicy 资源在 Hub 集群中 运行此命令,其中 < drpolicy_name& gt; 替换为您的唯一名称。
$ oc get drpolicy <drpolicy_name> -o jsonpath='{.status.conditions[].reason}{"\n"}'输出示例:
Succeeded创建 DRPolicy 时,也会创建两个 DRCluster 资源。验证所有三个资源并且状态显示为
Succeeded最多可能需要 10 分钟。注意DRPolicy 不支持编辑
SchedulingInterval,ReplicationClassSelector,VolumeSnapshotClassSelector和DRClusters字段值。验证对象存储桶从 Hub 集群访问 主受管集群和次受管集群。
获取 Hub 集群上的 DRClusters 的名称。
$ oc get drclusters输出示例:
NAME AGE ocp4perf1 4m42s ocp4perf2 4m42s检查 S3 访问每个受管集群中创建的每个存储桶。使用 DRCluster 验证命令,其中 & lt;drcluster_name > 替换为您的唯一名称。
注意DRClusters 不支持对
Region和S3ProfileName字段值编辑。$ oc get drcluster <drcluster_name> -o jsonpath='{.status.conditions[2].reason}{"\n"}'输出示例:
Succeeded注意确保为 Hub 集群上的 两个 DRClusters 运行命令。
验证 OpenShift DR Cluster operator 是否在 主受管集群和次受管集群 上成功安装。
$ oc get csv,pod -n openshift-dr-system输出示例:
NAME DISPLAY VERSION REPLACES PHASE clusterserviceversion.operators.coreos.com/odr-cluster-operator.v4.15.0 Openshift DR Cluster Operator 4.15.0 Succeeded clusterserviceversion.operators.coreos.com/volsync-product.v0.8.0 VolSync 0.8.0 Succeeded NAME READY STATUS RESTARTS AGE pod/ramen-dr-cluster-operator-6467cf5d4c-cc8kz 2/2 Running 0 3d12h您还可以验证
OpenShift DR Cluster Operator是否在每个受管集群的 OperatorHub 上成功安装。验证 secret 是否在主受管集群和次受管集群上正确传播。
oc get secrets -n openshift-dr-system | grep Opaque将输出与 Hub 集群中的 s3SecretRef 匹配:
oc get cm -n openshift-operators ramen-hub-operator-config -oyaml