9.7.6. OADP を使用したホステッドクラスターの復元
ホステッドクラスターを同じ管理クラスターに復元することも、新しい管理クラスターに復元することもできます。
9.7.6.1. OADP を使用してホステッドクラスターを同じ管理クラスターに復元する リンクのコピーリンクがクリップボードにコピーされました!
Restore カスタムリソース (CR) を作成することで、ホステッドクラスターを復元できます。
- インプレース 更新を使用している場合、InfraEnv にスペアノードは必要ありません。新しい管理クラスターからワーカーノードを再プロビジョニングする必要があります。
- replace 更新を使用している場合は、ワーカーノードをデプロイするために InfraEnv 用の予備ノードがいくつか必要です。
ホステッドクラスターをバックアップした後、復元プロセスを開始するには、そのクラスターを破棄する必要があります。ノードのプロビジョニングを開始するには、ホステッドクラスターを削除する前に、データプレーン内のワークロードをバックアップする必要があります。
前提条件
- コンソールを使用したクラスターの削除 のホステッドクラスターを削除する手順を完了している。
- クラスター削除後の残りのリソースの削除 の手順を完了した。
バックアッププロセスを監視および観察するには、「バックアップおよび復元プロセスの観察」を参照してください。
手順
次のコマンドを実行して、Hosted Control Plane namespace に Pod と永続ボリューム要求 (PVC) が存在しないことを確認します。
$ oc get pod pvc -n <hosted_control_plane_namespace>予想される出力
No resources foundRestoreCR を定義する YAML ファイルを作成します。restore-hosted-cluster.yamlファイルの例apiVersion: velero.io/v1 kind: Restore metadata: name: <restore_resource_name>1 namespace: openshift-adp spec: backupName: <backup_resource_name>2 restorePVs: true3 existingResourcePolicy: update4 excludedResources: - nodes - events - events.events.k8s.io - backups.velero.io - restores.velero.io - resticrepositories.velero.io次のコマンドを実行して、
RestoreCR を適用します。$ oc apply -f restore-hosted-cluster.yaml次のコマンドを実行して、
status.phaseの値がCompletedになっているかどうかを確認します。$ oc get hostedcluster <hosted_cluster_name> -n <hosted_cluster_namespace> \ -o jsonpath='{.status.phase}'復元プロセスが完了したら、コントロールプレーンワークロードのバックアップ中に一時停止した
HostedClusterリソースおよびNodePoolリソースのリコンシリエーションを開始します。次のコマンドを実行して、
HostedClusterリソースのリコンシリエーションを開始します。$ oc --kubeconfig <management_cluster_kubeconfig_file> \ patch hostedcluster -n <hosted_cluster_namespace> <hosted_cluster_name> \ --type json \ -p '[{"op": "add", "path": "/spec/pausedUntil", "value": "false"}]'次のコマンドを実行して、
NodePoolリソースのリコンシリエーションを開始します。$ oc --kubeconfig <management_cluster_kubeconfig_file> \ patch nodepool -n <hosted_cluster_namespace> <node_pool_name> \ --type json \ -p '[{"op": "add", "path": "/spec/pausedUntil", "value": "false"}]'
コントロールプレーンワークロードのバックアップ中に一時停止したエージェントプロバイダーリソースのリコンシリエーションを開始します。
次のコマンドを実行して、
AgentClusterリソースのリコンシリエーションを開始します。$ oc --kubeconfig <management_cluster_kubeconfig_file> \ annotate agentcluster -n <hosted_control_plane_namespace> \ cluster.x-k8s.io/paused- --overwrite=true --all次のコマンドを実行して、
AgentMachineリソースのリコンシリエーションを開始します。$ oc --kubeconfig <management_cluster_kubeconfig_file> \ annotate agentmachine -n <hosted_control_plane_namespace> \ cluster.x-k8s.io/paused- --overwrite=true --all
次のコマンドを実行して、
HostedClusterリソースのhypershift.openshift.io/skip-delete-hosted-controlplane-namespace-アノテーションを削除し、Hosted Control Plane namespace の手動削除を回避します。$ oc --kubeconfig <management_cluster_kubeconfig_file> \ annotate hostedcluster -n <hosted_cluster_namespace> <hosted_cluster_name> \ hypershift.openshift.io/skip-delete-hosted-controlplane-namespace- \ --overwrite=true --all