Trident保護を使用したアプリケーションの移行
バックアップデータまたはSnapshotデータを別のクラスタまたはストレージクラスにリストアすることで、クラスタ間またはストレージクラス間でアプリケーションを移行できます。
|
アプリケーションを移行すると、そのアプリケーション用に構成されたすべての実行フックがアプリケーションとともに移行されます。リストア後の実行フックがある場合は、リストア処理の一環として自動的に実行されます。 |
バックアップとリストアの処理
次のシナリオでバックアップとリストアの処理を実行するには、特定のバックアップとリストアのタスクを自動化します。
同じクラスタにクローニング
アプリケーションを同じクラスタにクローニングするには、Snapshotまたはバックアップを作成し、同じクラスタにデータをリストアします。
-
次のいずれかを実行します。
-
Snapshotとバックアップのどちらを作成したかに応じて、同じクラスタで次のいずれかを実行します。
別のクラスタにクローニング
アプリケーションを別のクラスタにクローニング(クラスタ間クローニングを実行)するには、ソースクラスタでバックアップを作成し、別のクラスタにリストアします。デスティネーションクラスタにTrident protectがインストールされていることを確認します。
|
を使用して、異なるクラスタ間でアプリケーションをレプリケートできます"SnapMirrorレプリケーション"。 |
-
バックアップを含むオブジェクトストレージバケットのAppVault CRがデスティネーションクラスタで設定されていることを確認します。
-
デスティネーションクラスタで、"バックアップからデータをリストア"を実行します。
あるストレージクラスから別のストレージクラスへのアプリケーションの移行
スナップショットを別のデスティネーションストレージクラスにリストアすることで、あるストレージクラスから別のストレージクラスにアプリケーションを移行できます。
たとえば、次のようになります(リストアCRのシークレットを除く)。
-
カスタムリソース(CR)ファイルを作成し、という名前を付け `trident-protect-snapshot-restore-cr.yaml`ます。
-
作成したファイルで、次の属性を設定します。
-
* metadata.name*:(required)このカスタムリソースの名前。環境に適した一意の適切な名前を選択します。
-
* spec.appArchivePath *:スナップショットの内容が格納されているAppVault内のパス。このパスを検索するには、次のコマンドを使用します。
-
* spec.appVaultRef *:(required)スナップショットコンテンツが格納されているAppVaultの名前。
-
* spec.namespaceMapping*:リストア処理のソースネームスペースとデスティネーションネームスペースのマッピング。および `my-destination-namespace`を、使用している環境の情報に置き換え `my-source-namespace`ます。
-
-
リストアするアプリケーションの特定のリソースのみを選択する必要がある場合は、特定のラベルが付いたリソースを含めるか除外するフィルタリングを追加します。
-
resourceFilter.resourceSelectionCriteria:(フィルタリングに必要)
include or exclude
resourceMatchersで定義されたリソースを含めるか除外するかを指定します。次のresourceMatchersパラメータを追加して、追加または除外するリソースを定義します。-
resourceFilter.resourceMatchers: resourceMatcherオブジェクトの配列。この配列に複数の要素を定義した場合、それらはOR演算として照合され、各要素内のフィールド(グループ、種類、バージョン)はAND演算として照合されます。
-
*resourceMatchers[].group *:(Optional)フィルタリングするリソースのグループ。
-
*resourceMatchers[].kind *:(optional)フィルタリングするリソースの種類。
-
resourceMatchers[].version:(Optional)フィルタリングするリソースのバージョン。
-
* resourceMatchers[].names *:(optional)フィルタリングするリソースのKubernetes metadata.nameフィールドの名前。
-
*resourceMatchers[].namespaces *:(optional)フィルタリングするリソースのKubernetes metadata.nameフィールドの名前空間。
-
*resourceMatchers[].labelSelectors *:(Optional)で定義されているリソースのKubernetes metadata.nameフィールドのラベルセレクタ文字列 "Kubernetes のドキュメント"。例:
"trident.netapp.io/os=linux"
。例:
-
-
-
-
ファイルに正しい値を入力したら
trident-protect-snapshot-restore-cr.yaml
、CRを適用します。