3.16.4. 検出対象アプリケーションのフェイルオーバーと再配置
保護された検出対象アプリケーションは、マネージドアプリケーション と同様に、ピアクラスターに フェイルオーバー または 再配置 できます。ただし、アプリケーションのライフサイクルがマネージドアプリケーションのように RHACM によって管理されないため、検出対象アプリケーションには追加の手順がいくつかあります。
このセクションでは、保護された検出対象アプリケーションのフェイルオーバーおよび再配置プロセスを説明します。
1 つまたは両方のリソースタイプが Warning または Critical ステータスにある場合は、アプリケーションのフェイルオーバーまたは再配置を開始しないでください。
3.16.4.1. 障害復旧により保護された検出対象アプリケーションのフェイルオーバー リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、障害復旧により保護された検出対象アプリケーションをフェイルオーバーする方法を説明します。
前提条件
-
両方のマネージドクラスターにアプリケーションの namespace が作成されていることを確認する (例:
busybox-discovered)。
手順
Hub cluster でフェンシングを有効にします。
CLI ターミナルを開き、DRCluster resource を編集します。<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 editedHub cluster 上の Primary managed cluster のフェンシングステータスを確認します。<drcluster_name> は、一意の識別子に置き換えます。
$ oc get drcluster.ramendr.openshift.io <drcluster_name> -o jsonpath='{.status.phase}{"\n"}'出力例:
FencedCeph クラスターにログインし、OpenShift Container Platform クラスターノードに属する IP がブロックリストに含まれていることを確認します。
$ 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
-
RHACM コンソールで、Disaster Recovery
Protected applications タブに移動します。 - アプリケーション行の最後で、Actions メニューをクリックし、フェイルオーバー の開始を選択します。
- Failover application モーダルウィンドウで、アプリケーションとターゲットクラスターのステータスを確認します。
-
Initiate をクリックします。
Failoverプロセスが完了するまで待ちます。 セカンダリーマネージドクラスター で busybox アプリケーションが実行されていることを確認します。
$ oc get pods,pvc -n busybox-discovered NAME READY STATUS RESTARTS AGE pod/busybox-796fccbb95-qmxjf 1/1 Running 0 2m46s NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS VOLUMEATTRIBUTESCLASS AGE persistentvolumeclaim/busybox-pvc Bound pvc-b20e4129-902d-47c7-b962-040ad64130c4 1Gi RWO ocs-storagecluster-ceph-rbd <unset> 2m57s結果が
WaitOnUserToCleanupになるまで、フェイルオーバーの進行状況を確認します。DRPC 名は、前の手順で設定した一意の名前 (例:busybox-rbd) によって識別できます。$ oc get drpc {drpc_name} -n openshift-dr-ops -o jsonpath='{.status.progression}{"\n"}' WaitOnUserToCleanUpプライマリーマネージドクラスター から busybox アプリケーションを削除し、
Failoverプロセスを完了します。- Protected applications タブに移動します。アプリケーションを削除するためのメッセージが表示されます。
busyboxのクローンリポジトリーに移動し、フェイルオーバー元の プライマリーマネージドクラスター で次のコマンドを実行します。アプリケーションの作成に使用したのと同じディレクトリー (odr-metro-rbdなど) を使用します。$ cd ~/ocm-ramen-samples/ $ git branch * main $ oc delete -k workloads/deployment/odr-metro-rbd -n busybox-discovered persistentvolumeclaim "busybox-pvc" deleted deployment.apps "busybox" deleted
- アプリケーションを削除した後、Protected applications タブに移動し、busybox リソースが両方とも Healthy 状態であることを確認します。