4.16. Red Hat Advanced Cluster Management を使用したハブのリカバリー
セットアップにアクティブおよびパッシブの Red Hat Advanced Cluster Management for Kubernetes (RHACM) ハブクラスターがあり、アクティブハブがダウンしている場合は、パッシブハブを使用して、障害復旧が保護されたワークロードをフェイルオーバーまたは再配置できます。
4.16.1. パッシブハブクラスターの設定 リンクのコピーリンクがクリップボードにコピーされました!
アクティブハブがダウンしているかアクセスできない場合にハブリカバリーを実行するには、このセクションの手順に従ってパッシブハブクラスターを設定し、障害復旧により保護されたワークロードをフェイルオーバーまたは再配置します。
手順
RHACM Operator と
MultiClusterHubがパッシブハブクラスターにインストールされていることを確認します。手順については、RHACM インストールガイド を参照してください。Operator が正常にインストールされると、Web console update is available というメッセージを含むポップアップがユーザーインターフェイスに表示されます。このポップアップから Refresh web console をクリックして、反映するコンソールを変更します。
- ハブをリカバリーする前に、バックアップとリストアを設定します。RHACM ビジネス継続性 ガイドの バックアップおよび復元 を参照してください。
- 復元の前に、マルチクラスターオーケストレーター (MCO) Operator を Red Hat OpenShift GitOps オペレーターとともにパッシブ RHACM ハブにインストールします。RHACM ハブを復元する手順は、OpenShift Data Foundation Multicluster Orchestrator Operator のインストール を参照してください。
-
Restore.cluster.open-cluster-management.ioリソースの.spec.cleanupBeforeRestoreがNoneに設定されていることを確認します。詳細は、RHACM ドキュメントの バックアップの確認中にパッシブリソースを復元する を参照してください。 - 以前のセットアップ中にクラスター間の SSL アクセスが手動で設定されていた場合は、クラスター間の SSL アクセスを再設定します。手順については、クラスター間での SSL アクセスの設定 の章を参照してください。
パッシブハブで、このコマンドを使用して、
openshift-operatorsnamespace にラベルを追加し、VolumeSyncronizationDelayアラートの基本的な監視を有効にします。アラートの詳細は、障害復旧アラート を参照してください。$ oc label namespace openshift-operators openshift.io/cluster-monitoring='true'
4.16.2. パッシブハブクラスターへの切り替え リンクのコピーリンクがクリップボードにコピーされました!
アクティブハブがダウンしているか到達できない場合は、この手順を使用します。
手順
復元手順中に、ManifestWorks が正しく再生成されない場合にリソースのエビクションを回避するために、AppliedManifestWork のエビクション の猶予期間を延長することができます。パッシブハブクラスターで、既存のグローバル
KlusterletConfigを確認します。-
グローバルの KlusterletConfig が存在する場合は、
appliedManifestWorkEvictionGracePeriodパラメーターの値を編集して、より大きな値に設定します。たとえば、24 時間以上などです。 グローバルの KlusterletConfig が存在しない場合は、次の yaml を使用して Klusterletconfig を作成します。
apiVersion: config.open-cluster-management.io/v1alpha1 kind: KlusterletConfig metadata: name: global spec: appliedManifestWorkEvictionGracePeriod: "24h"設定はすべてのマネージドクラスターに自動的に伝播されます。
-
グローバルの KlusterletConfig が存在する場合は、
パッシブハブクラスターでバックアップを復元します。詳細は、バックアップからの ハブクラスターの復元 を参照してください。
重要障害が発生したハブをパッシブインスタンスに復元すると、最後にスケジュールされたバックアップ時点のアプリケーションとその DR 保護状態のみが復元されます。最後のスケジュールされたバックアップの後に DR で保護されたアプリケーションは、新しいハブで再度保護する必要があります。
復元が完了したことを確認します。
$ oc -n <restore-namespace> wait restore <restore-name> --for=jsonpath='{.status.phase}'=Finished --timeout=120sプライマリーおよびセカンダリーマネージドクラスターが RHACM コンソールに正常にインポートされ、アクセス可能であることを確認します。マネージドクラスターのいずれかがダウンしているか、アクセスできない場合は、正常にインポートされません。
DR 操作を実行する前に、DRPolicy 検証が成功するまで待機します。
注記マネージドクラスターがパッシブハブにインポートされると、Submariner が自動的にインストールされます。
DRPolicy が正常に作成されたことを確認します。作成された各 DRPolicy リソースごとに ハブクラスター でこのコマンドを実行します。<drpolicy_name> は、一意の名前に置き換えてください。
$ oc get drpolicy <drpolicy_name> -o jsonpath='{.status.conditions[].reason}{"\n"}'出力例:
Succeeded- アクティブハブクラスターで DR 監視ダッシュボードタブが有効になっている場合は、RHACM コンソールを更新して、そのタブにアクセスできるようにします。
新しいハブクラスターで以下のコマンドを使用して DRPC 出力を確認します。
$ oc get drpc -A -o widePROGRESSIONがPAUSEDのステータスを表示する場合、一時停止を解除するには管理者の介入が必要です。PROGRESSIONは、以下の条件下でPAUSED状態になります。- クラスタークエリー障害: DRPC の調整中に、クラスターのクエリーが正常に行われませんでした。この状況は、ハブの回復中に発生する可能性があります。
- アクション不一致: DRPC アクションは、クエリーされた VRG アクションとは異なります。
クラスター不一致: DRPC アクションと VRG アクションは同じですが、プライマリー VRG は、DRPC によって予想されるクラスターとは異なるクラスターにあります。
重要一時停止の原因を診断して解決できない場合は、Red Hat カスタマーサポート にお問い合わせください。
PROGRESSIONがCompletedまたはCleaning upのいずれかである場合、続行しても安全です。
-
新しいハブでグローバル KlusterletConfig を編集し、
appliedManifestWorkEvictionGracePeriodパラメーターとその値を削除します。 アクティブなハブクラスター、または両方のアクティブなハブクラスター、プライマリーマネージドクラスターが停止しているかどうかに応じて、シナリオに基づいて次の手順に従います。
- アクティブなハブクラスターのみがダウンしていて、マネージドクラスターがまだアクセス可能な場合は、それ以上のアクションは必要ありません。
プライマリーマネージドクラスターがダウンしている場合は、アクティブなハブクラスターとともに、ワークロードをプライマリーマネージドクラスターからセカンダリーマネージドクラスターにフェイルオーバーする必要があります。
ワークロードタイプに基づくフェイルオーバーの手順は、サブスクリプションベースのアプリケーション または ApplicationSet ベース のアプリケーション を参照してください。
プライマリーマネージドクラスターがアクティブハブクラスターとともにダウンしている場合は、プライマリーマネージドクラスターからセカンダリーマネージドクラスターにワークロードをフェイルオーバーする必要があります。
フェイルオーバーの手順は、ワークロードの種類に応じて、サブスクリプションベースのアプリケーション または ApplicationSet ベースのアプリケーション を参照してください。
フェイルオーバーが成功したことを確認します。プライマリーマネージドクラスターもダウンしている場合は、ダウンしたマネージドクラスターがオンラインに戻り、RHACM コンソールに正常にインポートされるまで、ワークロードの PROGRESSION ステータスが
Cleaning Upフェーズになります。パッシブハブクラスターで次のコマンドを実行して、PROGRESSION ステータスを確認します。
$ oc get drpc -o wide -A