3.13. 受管集群之间基于 ApplicationSet 的应用程序故障切换
当受管集群因任何原因而不可用时,执行故障转移。这个故障转移方法基于应用程序。
先决条件
- 如果您的设置有主动和被动 RHACM hub 集群,请参阅使用 Red Hat Advanced Cluster Management 进行 Hub 恢复。
当主集群处于
Ready以外的状态时,请检查集群的实际状态,因为它可能需要一些时间才能更新。-
进入到 RHACM 控制台
Infrastructure Clusters Cluster list 选项卡。 在执行故障转移操作前,请检查两个受管集群的状态。
但是,当您切换到的集群处于 Ready 状态时,故障转移操作仍然可以运行。
-
进入到 RHACM 控制台
流程
在 Hub 集群上启用隔离。
打开 CLI 终端并编辑 DRCluster 资源,其中 <drcluster_name> 是您的唯一名称。
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 policies 列跟踪状态。
验证活动状态是否为应用的 FailedOver。
-
进入 Applications
Overview 选项卡。 - 在 Data policy 列中,点您要将策略应用到的应用程序的策略链接。
- 在 Data policy 弹出窗口中,验证您可以看到一个或多个策略名称以及与应用程序中使用的策略关联的持续活动。
-
进入 Applications