3.18. Red Hat Advanced Cluster Management を使用したハブのリカバリー [テクノロジープレビュー]
セットアップにアクティブおよびパッシブの Red Hat Advanced Cluster Management for Kubernetes (RHACM) ハブクラスターがあり、アクティブハブがダウンしている場合は、パッシブハブを使用して、障害復旧が保護されたワークロードをフェイルオーバーまたは再配置できます。
Metro-DR のハブリカバリーはテクノロジープレビュー機能であり、テクノロジープレビューのサポート制限の対象となります。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。これらの機能は、近々発表予定の製品機能をリリースに先駆けてご提供することにより、お客様は機能性をテストし、開発プロセス中にフィードバックをお寄せいただくことができます。
詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
3.18.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-operators
namespace にラベルを追加し、VolumeSyncronizationDelay
アラートの基本的な監視を有効にします。アラートの詳細は、障害復旧アラート を参照してください。$ oc label namespace openshift-operators openshift.io/cluster-monitoring='true'
3.18.2. パッシブハブクラスターへの切り替え
アクティブハブがダウンしているか到達できない場合は、この手順を使用します。
手順
パッシブハブクラスターでバックアップを復元します。詳細は、バックアップからの ハブクラスターの復元 を参照してください。
重要障害が発生したハブをパッシブインスタンスに復元すると、最後にスケジュールされたバックアップ時点のアプリケーションとその DR 保護状態のみが復元されます。最後のスケジュールされたバックアップの後に DR で保護されたアプリケーションは、新しいハブで再度保護する必要があります。
復元手順中に、ManifestWorks が正しく再生成されない場合にリソースのエビクションを回避するために、AppliedManifestWork のエビクション の猶予期間を延長することができます。
復元が完了したことを確認します。
$ oc -n <restore-namespace> wait restore <restore-name> --for=jsonpath='{.status.phase}'=Finished --timeout=120s
復元が完了したら、ハブクラスターで既存のグローバルの
KlusterletConfig
を確認します。-
グローバルの KlusterletConfig が存在する場合は、
appliedManifestWorkEvictionGracePeriod
パラメーターの値を編集して、より大きな値に設定します。たとえば、24 時間以上などです。 グローバルの KlusterletConfig が存在しない場合は、次の yaml を使用して Klusterletconfig を作成します。
apiVersion: config.open-cluster-management.io/v1alpha1 kind: KlusterletConfig metadata: name: global spec: appliedManifestWorkEvictionGracePeriod: "24h"
設定はすべてのマネージドクラスターに自動的に伝播されます。
-
グローバルの KlusterletConfig が存在する場合は、
- プライマリーおよびセカンダリーマネージドクラスターが RHACM コンソールに正常にインポートされ、アクセス可能であることを確認します。マネージドクラスターのいずれかがダウンしているか、アクセスできない場合は、正常にインポートされません。
- DRPolicy 検証が成功するまで待ちます。
DRPolicy が正常に作成されたことを確認します。作成された各 DRPolicy リソースごとに ハブクラスター でこのコマンドを実行します。<drpolicy_name> は、一意の名前に置き換えてください。
$ oc get drpolicy <drpolicy_name> -o jsonpath='{.status.conditions[].reason}{"\n"}'
出力例:
Succeeded
- アクティブハブクラスターで DR 監視ダッシュボードタブが有効になっている場合は、RHACM コンソールを更新して、そのタブにアクセスできるようにします。
-
すべてのコンポーネントが復元されたら、新しいハブ上のグローバルの KlusterletConfig を編集し、パラメーター
appliedManifestWorkEvictionGracePeriod
とその値を削除します。 - アクティブハブクラスターのみがダウンしている場合は、ハブのリカバリーを実行し、パッシブハブでバックアップを復元して、ハブを復元します。マネージドクラスターにまだアクセスできる場合は、それ以上のアクションは必要ありません。
- プライマリーマネージドクラスターがアクティブハブクラスターとともにダウンしている場合は、プライマリーマネージドクラスターからセカンダリーマネージドクラスターにワークロードをフェイルオーバーする必要があります。フェイルオーバーの手順は、ワークロードの種類に応じて、サブスクリプションベースのアプリケーション または ApplicationSet ベースのアプリケーション を参照してください。
フェイルオーバーが成功したことを確認します。プライマリーマネージドクラスターもダウンしている場合は、ダウンしたマネージドクラスターがオンラインに戻り、RHACM コンソールに正常にインポートされるまで、ワークロードの PROGRESSION ステータスが
Cleaning Up
フェーズになります。パッシブハブクラスターで次のコマンドを実行して、PROGRESSION ステータスを確認します。
$ oc get drpc -o wide -A