4.14. 使用 Red Hat Advanced Cluster Management 进行 hub 恢复 [技术预览]
当您的设置有主动和被动 Red Hat Advanced Cluster Management for Kubernetes (RHACM) hub 集群时,如果活跃 hub 停机,您可以使用被动 hub 故障切换或重新定位灾难恢复保护的工作负载。
hub 恢复是一个技术预览功能,受技术预览支持限制。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
如需更多信息,请参阅技术预览功能支持范围。
4.14.1. 配置被动 hub 集群
在活跃 hub 停机或无法访问时执行 hub 恢复,请按照本节中的步骤配置被动 hub 集群,然后故障转移或重新定位灾难恢复受保护的工作负载。
流程
确保在被动 hub 集群上安装 RHACM operator 和
MultiClusterHub
。具体步骤请查看 RHACM 安装指南。成功安装 Operator 后,用户界面中会显示一个带有 Web 控制台更新可用消息的弹出窗口。点此弹出窗口中的 Refresh Web 控制台来反映控制台更改。
- 在 hub 恢复前,配置备份和恢复。请参阅 RHACM 业务连续性 指南的 备份和恢复 主题。
- 在恢复前,在被动 RHACM hub 上安装多集群编配器(MCO) Operator 和 Red Hat OpenShift GitOps operator。有关恢复 RHACM hub 的说明,请参阅安装 OpenShift Data Foundation Multicluster Orchestrator operator。
-
确保
Restore.cluster.open-cluster-management.io
资源将.spec.cleanupBeforeRestore
设置为None
。详情请参阅 RHACM 文档的检查备份一章时恢复被动资源。 - 如果在设置过程中手动配置 SSL 访问,则在集群中重新配置 SSL 访问。具体步骤请参阅 在集群中配置 SSL 访问章节。
在被动 hub 上,将标签添加到
openshift-operators
命名空间,以便使用以下命令启用VolumeSyncronizationDelay
警报的基本监控。有关警报详情,请参阅 灾难恢复警报 章节。$ oc label namespace openshift-operators openshift.io/cluster-monitoring='true'
4.14.2. 切换到被动 hub 集群
当活跃 hub 停机或无法访问时,请使用这个步骤。
流程
在被动 hub 集群上恢复备份。如需更多信息,请参阅 从备份中恢复 hub 集群。
重要将失败的 hub 恢复到其被动实例,仅将应用程序及其 DR 保护状态恢复到其上次调度的备份。在最后一次调度的备份后,任何受 DR 保护的应用程序都需要在新 hub 上再次保护。
- 在被动 hub 上导入受管集群后,Submariner 会被自动安装。
- 验证 Primary 和 Seconday 受管集群是否已成功导入到 RHACM 控制台,并可以访问它们。如果任何受管集群停机或无法访问,则不会成功导入它们。
- 等待 DRPolicy 验证成功。
验证 DRPolicy 是否已成功创建。对于创建的每个 DRPolicy 资源,在 Hub 集群 中运行这个命令,其中 < ;drpolicy_name > 替换为唯一名称。
$ oc get drpolicy <drpolicy_name> -o jsonpath='{.status.conditions[].reason}{"\n"}'
输出示例:
Succeeded
- 刷新 RHACM 控制台,以便在 Active hub 集群中启用 DR 监控仪表板标签页访问它。
- 如果只有活跃 hub 集群停机,请通过执行 hub 恢复来恢复 hub,并在被动 hub 中恢复备份。如果受管集群仍然可以访问,则不需要进一步的操作。
- 如果主受管集群与活跃 hub 集群一起停机,则需要将工作负载从主受管集群切换到二级受管集群。有关故障转移说明,根据您的工作负载类型,请参阅 基于订阅的应用程序或基于 ApplicationSet 的应用程序。
验证故障转移是否成功。当主受管集群停机时,工作负载的 PROGRESSION 状态将处于
Cleaning Up
阶段,直到 down 受管集群恢复在线并成功导入到 RHACM 控制台中。在被动 hub 集群中,运行以下命令来检查 PROGRESSION 状态。
$ oc get drpc -o wide -A
输出示例:
NAMESPACE NAME AGE PREFERREDCLUSTER FAILOVERCLUSTER DESIREDSTATE CURRENTSTATE PROGRESSION START TIME DURATION PEER READY [...] busybox cephfs-busybox-placement-1-drpc 103m cluster-1 cluster-2 Failover FailedOver Cleaning Up 2024-04-15T09:12:23Z False busybox cephfs-busybox-placement-1-drpc 102m cluster-1 Deployed Completed 2024-04-15T07:40:09Z 37.200569819s True [...]