3.12. マネージドクラスター間のサブスクリプションベースのアプリケーションフェイルオーバー
何らかの理由でマネージドクラスターが使用できなくなったときに、フェイルオーバーを実行します。このフェイルオーバー方式はアプリケーションベースです。
前提条件
- セットアップにアクティブおよびパッシブの RHACM ハブクラスターがある場合は、Red Hat Advanced Cluster Management を使用したハブのリカバリー を参照してください。
プライマリークラスターが
Ready
以外の状態にある場合は、更新に時間がかかる可能性があるため、クラスターの実際のステータスを確認してください。-
RHACM console
Infrastructure Clusters Cluster list タブに移動します。 フェイルオーバー操作を実行する前に、両方のマネージドクラスターのステータスを個別に確認してください。
ただし、フェイルオーバー先のクラスターが Ready 状態にある場合でも、フェイルオーバー操作は実行できます。
-
RHACM console
手順
Hub cluster でフェンシングを有効にします。
CLI ターミナルを開き、DRCluster resource を編集します。<drcluster_name> は一意の名前に置き換えます。
注意マネージドクラスターがフェンスされると、アプリケーションから 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 cluster 上の プライマリーマネージドクラスター のフェンシングステータスを確認します。<drcluster_name> は、一意の識別子に置き換えます。
$ oc get drcluster.ramendr.openshift.io <drcluster_name> -o jsonpath='{.status.phase}{"\n"}'
出力例:
Fenced
Ceph クラスターにログインし、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
- ハブクラスターで、Applications に移動します。
- アプリケーション行の最後にある Actions メニューをクリックして、使用可能なアクションのリストを表示します。
- Failover application をクリックします。
- Failover application モーダルが表示されたら、障害時に関連付けられたアプリケーションがフェイルオーバーする ポリシー と ターゲットクラスター を選択します。
Select subscription group ドロップダウンをクリックして、デフォルトの選択を確認するか、この設定を変更します。
デフォルトでは、アプリケーションリソースをレプリケートするサブスクリプショングループが選択されています。
フェイルオーバーの準備 状況を確認します。
-
ステータスが
Ready
で緑色のチェックマークが付いている場合は、ターゲットクラスターでフェイルオーバーを開始する準備ができていることを示しています。手順 7 に進みます。 -
ステータスが
Unknown
またはNot ready
の場合は、ステータスがReady
に変わるまで待ちます。
-
ステータスが
- Initiate をクリックします。busybox アプリケーションが現在、セカンダリーで管理されているクラスター にフェイルオーバーしています。
- モーダルウィンドウを閉じ、Applications ページの Data policy 列を使用してステータスを追跡します。
アプリケーションのアクティビティーステータスが FailedOver と表示されていることを確認します。
-
Applications
Overview タブに移動します。 - Data policy 列で、ポリシーを適用したアプリケーションの policy リンクをクリックします。
- Data policy ポップオーバーで、View more details リンクをクリックします。
-
Applications