3.12. 受管集群之间的应用程序故障切换
当受管集群因任何原因而不可用时,执行故障转移。这种故障转移方法是基于应用。
先决条件
- 如果您的设置具有主动和被动 RHACM hub 集群,请参阅使用 Advanced Cluster Management Hub 恢复。
当主集群处于
Ready
以外的状态时,请检查集群的实际状态,因为它可能需要一些时间才能更新。-
导航到 RHACM 控制台
Infrastructure Clusters Cluster list 选项卡。 在执行故障转移操作前,请检查两个受管集群的状态。
但是,当您故障转移的集群处于 Ready 状态时,仍可执行故障转移操作。
-
导航到 RHACM 控制台
-
为了故障转移运行所有应用的 OpenShift 集群,必须隔离所有应用,以便与外部 OpenShift Data Foundation 外部存储集群进行通信。这可以防止两个受管集群同时写入同一持久性卷。要
Fence
的 OpenShift 集群是应用当前运行的位置。
流程
在 Hub 集群上启用隔离。
打开 CLI 终端,再编辑 DRCluster 资源。
小心在隔离了受管集群后,所有 从应用程序到 OpenShift Data Foundation 外部存储集群的通信将失败,一些 Pod 都将处于不健康状态(例如:
CreateContainerError
,CrashLoopBackOff
)现已被隔离的集群。注意将 <drcluster_name> 替换为您的唯一名称。
$ 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
为 Primary 受管集群 验证 Hub 集群中的隔离状态。
注意将 <drcluster_name> 替换为您的唯一名称。
$ oc get drcluster.ramendr.openshift.io <drcluster_name> -o jsonpath='{.status.phase}{"\n"}'
输出示例:
Fenced
验证属于 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
且带有一个绿色勾号,这表示目标集群已就绪,可启动故障转移。继续执行第 7 步。 -
如果状态是
Unknown
或Not ready
,请等待到状态变为Ready
。
-
如果状态是
- 点 Initiate。busybox 资源现在在目标集群上创建。
- 关闭模态窗口,并使用 Applications 页面中的 Data policies 列跟踪状态。
验证活动状态是否为应用的 FailedOver。
-
进入 Applications
Overview 选项卡。 - 在 Data policy 列中,点您要将策略应用到的应用程序的策略链接。
- 在 Data policies 模态页面中,点 View more details 链接。
-
进入 Applications