3.13. 受管集群之间的基于 ApplicationSet 的应用程序故障切换
当受管集群因任何原因而不可用时,执行故障转移。此故障转移方法是基于应用程序的。
先决条件
- 如果您的设置有主动和被动 RHACM hub 集群,请参阅使用 Red Hat Advanced Cluster Management 进行 Hub 恢复。
当主集群处于
Ready以外的状态时,检查集群的实际状态,因为可能需要一些时间来更新。-
导航到 RHACM 控制台
Infrastructure Clusters Cluster list 选项卡。 在执行故障转移操作前,单独检查两个受管集群的状态。
但是,当您切换到的集群处于 Ready 状态时,仍可执行故障转移操作。
-
导航到 RHACM 控制台
流程
在 Hub 集群上启用 隔离。
打开 CLI 终端并编辑 DRCluster 资源,其中 < ;drcluster_name& gt; 是您的唯一名称。
Important隔离受管集群后,所有应用程序 与 OpenShift Data Foundation 外部存储集群的通信都将失败,一些 Pod 将处于不健康状态(例如:
CreateContainerError,CrashLoopBackOff)。$ oc edit drcluster <drcluster_name>apiVersion: ramendr.openshift.io/v1alpha1 kind: DRCluster metadata: [...] spec: ## Add this line clusterFence: Fenced cidrs: [...] [...]输出示例:
drcluster.ramendr.openshift.io/ocp4perf1 edited为 主受管集群验证 Hub 集群上的隔离状态,替换 <drcluster_name> 是您的唯一标识符。
$ oc get drcluster.ramendr.openshift.io <drcluster_name> -o jsonpath='{.status.phase}{"\n"}'输出示例:
Fenced登录您的 Ceph 集群,并验证属于 OpenShift Container Platform 集群节点的 IP 现在位于 blocklist 中。
$ ceph osd blocklist ls输出示例
cidr:10.1.161.1:0/32 2028-10-30T22:30:03.585634+0000 cidr:10.1.161.14:0/32 2028-10-30T22:30:02.483561+0000 cidr:10.1.161.51:0/32 2028-10-30T22:30:01.272267+0000 cidr:10.1.161.63:0/32 2028-10-30T22:30:05.099655+0000 cidr:10.1.161.129:0/32 2028-10-30T22:29:58.335390+0000 cidr:10.1.161.130:0/32 2028-10-30T22:29:59.861518+0000
- 在 Hub 集群中,进入到 Applications。
- 单击应用程序行末尾的 Actions 菜单,以查看可用操作的列表。
- 点 Failover application。
- 显示 Failover 应用程序 模态时,验证显示的详细信息是否正确,并检查 Failover readiness 的状态。如果状态是 Ready 且带有一个绿色勾号,这表示目标集群已准备好启动故障转移。
- 单击 Initiate。busybox 资源现在在目标集群上创建。
- 关闭模态窗口,并使用 Applications 页面中的 Data policy 列跟踪状态。
验证应用程序的活动状态显示为 FailedOver。
-
导航到 Applications
Overview 选项卡。 - 在 Data policy 列中,点您要将策略应用到的应用程序的策略链接。
- 在 Data policy 弹出窗口中,验证您可以看到一个或多个策略名称和与应用程序一起使用的策略关联的持续活动。
-
导航到 Applications