バックアップからアプリを復元する
このセクションでは、バックアップからアプリを復元する方法について説明します。
前提条件
バックアップから復元するには、アプリが存在していた名前空間が誤って削除されたと仮定します。
同じ名前空間に復元する
作成したバックアップから復元するには、復元カスタム リソース (CR) を作成する必要があります。名前を付け、復元元のバックアップの名前を指定して、restorePVs を true に設定する必要があります。追加のパラメータは、"ドキュメント" 。 「作成」ボタンをクリックします。
apiVersion: velero.io/v1 kind: Restore apiVersion: velero.io/v1 metadata: name: restore namespace: openshift-adp spec: backupName: backup-postgresql-ontaps3 restorePVs: true
フェーズが完了したことが表示されると、アプリがスナップショットが取得された時点の状態に復元されたことがわかります。アプリは同じ名前空間に復元されます。
別の名前空間に復元する
アプリを別の名前空間に復元するには、復元 CR の yaml 定義で namespaceMapping を指定できます。
次のサンプル yaml ファイルは、アプリとその永続ストレージを postgresql 名前空間から新しい名前空間 postgresql-restored に復元するための復元 CR を作成します。
apiVersion: velero.io/v1 kind: Restore metadata: name: restore-to-different-ns namespace: openshift-adp spec: backupName: backup-postgresql-ontaps3 restorePVs: true includedNamespaces: - postgresql namespaceMapping: postgresql: postgresql-restored
フェーズが完了したことが表示されると、アプリがスナップショットが取得された時点の状態に復元されたことがわかります。アプリは、yaml で指定された別の名前空間に復元されます。
別のストレージクラスに復元する
Velero は、json パッチを指定して復元中にリソースを変更する一般的な機能を提供します。リソースが復元される前に、json パッチが適用されます。 json パッチは configmap で指定され、configmap は復元コマンドで参照されます。この機能を使用すると、異なるストレージ クラスを使用して復元できます。
以下の例では、アプリはデプロイメント中に、永続ボリュームのストレージ クラスとして ontap-nas を使用します。 「backup-postgresql-ontaps3」という名前のアプリのバックアップが作成されます。
アプリをアンインストールして、アプリの損失をシミュレートします。
別のストレージ クラス (ontap-nas-eco ストレージ クラスなど) を使用して VM を復元するには、次の 2 つの手順を実行する必要があります。
ステップ1
次のように、openshift-adp 名前空間に構成マップ (コンソール) を作成します。スクリーンショットに示すように詳細を入力します。名前空間を選択: openshift-adp 名前: change-ontap-sc (任意の名前にすることができます) キー: change-ontap-sc-config.yaml: 値:
version: v1 resourceModifierRules: - conditions: groupResource: persistentvolumeclaims resourceNameRegex: "data-postgresql*" namespaces: - postgresql patches: - operation: replace path: "/spec/storageClassName" value: "ontap-nas-eco"
結果の構成マップ オブジェクトは次のようになります (CLI)。
この構成マップは、復元の作成時にリソース修飾子ルールを適用します。 rhel で始まるすべての永続ボリューム要求のストレージ クラス名を ontap-nas-eco に置き換えるパッチが適用されます。
ステップ2
VM を復元するには、Velero CLI から次のコマンドを使用します。
#velero restore create restore1 --from-backup backup1 --resource-modifier-configmap change-storage-class-config -n openshift-adp
アプリは、ストレージ クラス ontap-nas-eco を使用して作成された永続ボリューム要求と同じ名前空間に復元されます。