高度なカスタムリソースのリストア設定を使用する
注釈、名前空間設定、ストレージ オプションなどの詳細設定を使用して、特定の要件を満たすように復元操作をカスタマイズできます。
リストアおよびフェイルオーバー処理中のネームスペースのアノテーションとラベル
復元およびフェイルオーバー処理中に、デスティネーションネームスペースのラベルとアノテーションは、ソースネームスペースのラベルとアノテーションと一致するように作成されます。デスティネーションネームスペースに存在しないソースネームスペースのラベルまたはアノテーションが追加され、既存のラベルまたはアノテーションはソースネームスペースの値と一致するように上書きされます。デスティネーションネームスペースにのみ存在するラベルまたはアノテーションは変更されません。
|
|
Red Hat OpenShiftを使用する場合は、OpenShift環境における名前空間アノテーションの重要な役割に注意することが重要です。名前空間アノテーションにより、リストアされたポッドがOpenShiftセキュリティコンテキスト制約(SCC)で定義された適切な権限とセキュリティ設定に準拠し、権限の問題なくボリュームにアクセスできるようになります。詳細については、"OpenShiftセキュリティコンテキスト制約ドキュメント"を参照してください。 |
リストアまたはフェイルオーバー処理を実行する前にKubernetes環境変数 `RESTORE_SKIP_NAMESPACE_ANNOTATIONS`を設定することで、デスティネーションネームスペース内の特定のアノテーションが上書きされるのを防ぐことができます。例:
helm upgrade trident-protect -n trident-protect netapp-trident-protect/trident-protect \
--set-string restoreSkipNamespaceAnnotations="{<annotation_key_to_skip_1>,<annotation_key_to_skip_2>}" \
--reuse-values
|
|
復元またはフェイルオーバー操作を実行する場合、 `restoreSkipNamespaceAnnotations`および `restoreSkipNamespaceLabels`で指定されたネームスペースのアノテーションとラベルは、復元またはフェイルオーバー操作から除外されます。これらの設定がHelmの初期インストール時に構成されていることを確認してください。詳細については、"追加のTrident Protectヘルムチャート設定を構成する"を参照してください。 |
Helm を使用して `--create-namespace`フラグを指定してソースアプリケーションをインストールした場合、 `name`ラベルキーには特別な処理が適用されます。リストアまたはフェイルオーバープロセス中に、 Trident Protect はこのラベルをデスティネーションネームスペースにコピーしますが、ソースからの値がソースネームスペースと一致する場合は、値をデスティネーションネームスペースの値に更新します。この値がソースネームスペースと一致しない場合は、変更されずにデスティネーションネームスペースにコピーされます。
例
次の例は、それぞれ異なる注釈とラベルを持つソース名前空間と宛先名前空間を示しています。操作の前後の宛先名前空間の状態や、宛先名前空間で注釈とラベルがどのように結合または上書きされるかを確認できます。
リストアまたはフェイルオーバー処理の前に
次の表は、リストアまたはフェイルオーバー処理前のサンプルのソースネームスペースとデスティネーションネームスペースの状態を示しています:
| ネームスペース | アノテーション | ラベル |
|---|---|---|
ネームスペースns-1(ソース) |
|
|
ネームスペースns-2(宛先) |
|
|
リストア処理後
次の表は、復元またはフェイルオーバー操作後の宛先名前空間の例の状態を示しています。いくつかのキーが追加され、いくつかは上書きされ、 `name`ラベルは宛先名前空間と一致するように更新されました:
| ネームスペース | アノテーション | ラベル |
|---|---|---|
ネームスペースns-2(宛先) |
|
|
サポートされているフィールド
このセクションでは、復元操作に使用できる追加のフィールドについて説明します。
ストレージクラスのマッピング
`spec.storageClassMapping`属性は、ソース アプリケーションに存在するストレージ クラスからターゲット クラスタ上の新しいストレージ クラスへのマッピングを定義します。異なるストレージ クラスを持つクラスタ間でアプリケーションを移行する場合や、BackupRestore操作のストレージ バックエンドを変更する場合にこれを使用できます。
例:
storageClassMapping:
- destination: "destinationStorageClass1"
source: "sourceStorageClass1"
- destination: "destinationStorageClass2"
source: "sourceStorageClass2"
サポートされているアノテーション
このセクションでは、システム内のさまざまな動作を構成するためにサポートされているアノテーションを一覧表示します。ユーザーがアノテーションを明示的に設定しない場合、システムはデフォルト値を使用します。
| 注釈 | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
protect.trident.netapp.io/data-mover-timeout-sec |
string |
データ ムーバー処理が停止する最大時間(秒単位)。 |
"300" |
protect.trident.netapp.io/kopia-content-cache-size-limit-mb |
string |
Kopia コンテンツ キャッシュの最大サイズ制限(メガバイト単位)。 |
"1000" |
protect.trident.netapp.io/pvc-bind-timeout-sec |
string |
新しく作成されたPersistentVolumeClaims(PVC)が `Bound`フェーズに到達するまで待機する最大時間(秒単位)。この時間を超えると処理は失敗します。環境:すべてのリストアCRタイプ(BackupRestore、BackupInplaceRestore、SnapshotRestore、SnapshotInplaceRestore)。ストレージバックエンドまたはクラスターで処理に時間がかかることが多い場合は、より大きい値を使用してください。 |
「1200」(20分) |