- JSON 表現
- VolumeDataRestorePolicy
- ClusterResourceConflictPolicy
- NamespacedResourceRestoreMode
- ClusterResourceRestoreScope
- GroupKind
- SubstitutionRule
- TransformationRule
- TransformationRuleAction
- Op
- ResourceFilter
復元の構成。次の ID: 12
JSON 表現 |
---|
{ "volumeDataRestorePolicy": enum ( |
フィールド | |
---|---|
volumeDataRestorePolicy |
ボリューム データの復元に使用するメカニズムを指定します。デフォルト: VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED(NO_VOLUME_DATA_RESTORATION として扱われます)。 |
clusterResourceConflictPolicy |
復元するクラスタ スコープのリソースがターゲット クラスタにすでに存在する場合の処理方法を定義します。 |
namespacedResourceRestoreMode |
復元する Namespace 付きリソースのセットがターゲット クラスタにすでに存在する場合の処理方法を定義します。これは、NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED 以外の値に設定する必要があります。 |
clusterResourceRestoreScope |
Backup から復元するクラスタ スコープのリソースを指定します。指定しなかった場合、クラスタ リソースは復元されません。 |
substitutionRules[] |
Backup からの復元に選択された Kubernetes リソースに適用する変換ルールのリスト。ルールは定義された順序で実行されます。ルールによる変更が後続のルールのフィルタリング ロジックに影響する可能性があるため、この順序は重要です。リストが空の場合、置換は行われません。 |
transformationRules[] |
Backup からの復元に選択された Kubernetes リソースに適用する変換ルールのリスト。ルールは定義された順序で実行されます。ルールによる変更が後続のルールのフィルタリング ロジックに影響する可能性があるため、この順序は重要です。リストが空の場合、変換は行われません。 |
共用体フィールド 注: リソースは、 |
|
allNamespaces |
True に設定されている場合は、Backup 内のすべての Namespace 付きリソースを復元します。このフィールドに False を指定するとエラーになります。 |
selectedNamespaces |
Backup から復元する Namespace のリスト。リストされた Namespace と、それらに含まれるすべてのリソースが復元されます。 |
selectedApplications |
復元に選択した ProtectedApplications のリスト。リストされた ProtectedApplication と、それらが参照するすべてのリソースが復元されます。 |
noNamespaces |
True に設定されている場合、Namespace 付きリソースは復元されません。このフィールドに False を指定することはできません。 |
excludedNamespaces |
復元の対象外として選択された Namespace のリスト。このリストにある Namespace を除くすべての Namespace が復元されます。 |
VolumeDataRestorePolicy
ボリューム データの復元方法を定義します。
列挙型 | |
---|---|
VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED |
指定なし(不正)。 |
RESTORE_VOLUME_DATA_FROM_BACKUP |
復元する PVC ごとに、Backup 内の対応する VolumeBackup から新しい基盤となるボリュームと PV を作成します。 |
REUSE_VOLUME_HANDLE_FROM_BACKUP |
復元する PVC ごとに、Backup に含まれている元の PV を(元の基盤となるボリュームとともに)再利用しようとします。このオプションは、ワークロードを元のクラスタに復元する場合にのみ使用できます。 |
NO_VOLUME_DATA_RESTORATION |
復元する PVC ごとに、データを復元するための特別な操作を行わずに PVC を作成します。この場合、通常の Kubernetes プロビジョニング ロジックが開始し、空の PV が動的にプロビジョニングされるか、静的にプロビジョニングされた PV にバインドされる可能性があります。 |
ClusterResourceConflictPolicy
復元するクラスタ スコープのリソースがターゲット クラスタにすでに存在する場合の処理方法を定義します。
列挙型 | |
---|---|
CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIED |
指定なし。クラスタ スコープのリソースが復元されない場合にのみ許可されます。 |
USE_EXISTING_VERSION |
競合するリソースを復元しません。 |
USE_BACKUP_VERSION |
Backup から再作成する前に、既存のバージョンを削除します。これは、不適切に使用すると意図しないデータ損失につながる恐れがある危険なオプションです。たとえば、CRD を削除すると、Kubernetes でそのタイプのすべての CR が削除されます。 |
NamespacedResourceRestoreMode
復元する Namespace 付きリソースのセットがターゲット クラスタにすでに存在する場合の処理方法を定義します。
列挙型 | |
---|---|
NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED |
指定なし(無効)。 |
DELETE_AND_RESTORE |
競合するトップレベル リソース(スコープに応じて Namespace または ProtectedApplication)が検出されると、まず、競合するリソースと、そのリソースが参照するすべてのリソース(Namespace 内のすべてのリソース、ProtectedApplication によって参照されるすべてのリソースなど)の削除がトリガーされ、その後で Backup からリソースが復元されます。このモードは、クラスタの一部を以前の状態に戻す場合にのみ使用してください。 |
FAIL_ON_CONFLICT |
復元プロセスの開始時に競合するトップレベル リソース(スコープに応じて Namespaces または ProtectedApplications)が見つかった場合、復元は失敗します。復元プロセス自体で競合が発生した場合(帯域外のプロセスが競合するリソースを作成した場合など)、競合が報告されます。 |
ClusterResourceRestoreScope
復元するクラスタ スコープのリソースのスコープが定義されます。
一部の種類のグループは復元に適さないため、ここで選択するとエラーが発生します。有効なすべてのリソースを復元するスコープ選択では、こうした種類のグループは自動的に除外されます。- gkebackup.gke.io/BackupJob - gkebackup.gke.io/RestoreJob - metrics.k8s.io/NodeMetrics - migration.k8s.io/StorageState - migration.k8s.io/StorageVersionMigration - Node - snapshot.storage.k8s.io/VolumeSnapshotContent - storage.k8s.io/CSINode
一部の種類のグループは、他の場所の復元構成に依存するため、ここで選択するとエラーが発生します。- Namespace - PersistentVolume
JSON 表現 |
---|
{ "selectedGroupKinds": [ { object ( |
フィールド | |
---|---|
selectedGroupKinds[] |
バックアップから復元するクラスタ スコープのリソース グループの種類のリスト。指定した場合、選択したリソースのみが復元されます。メッセージ内の他のフィールドとは相互に排他的です。 |
excludedGroupKinds[] |
バックアップから復元しないクラスタ スコープのリソース グループの種類のリスト。指定した場合、リストに指定されたリソースを除く、有効なクラスタ スコープのリソースがすべて復元されます。メッセージ内の他のフィールドとは相互に排他的です。 |
allGroupKinds |
True の場合、有効なクラスタ スコープのリソースがすべて復元されます。メッセージ内の他のフィールドとは相互に排他的です。 |
noGroupKinds |
True の場合、クラスタ スコープのリソースは復元されません。これは、メッセージが定義されていない場合と同じ復元スコープになります。メッセージ内の他のフィールドとは相互に排他的です。 |
GroupKind
これは Kubernetes GroupKind タイプ GroupKind への直接マッピングであり、復元するリソースの特定のタイプを識別するために使用されます。
JSON 表現 |
---|
{ "resourceGroup": string, "resourceKind": string } |
フィールド | |
---|---|
resourceGroup |
Kubernetes リソースの API グループ文字列(apiextensions.k8s.io、storage.k8s.io など)。注: コア API グループには空の文字列を使用します。 |
resourceKind |
Kubernetes リソースの種類(CustomResourceDefinition、StorageClass など)。 |
SubstitutionRule
Backup からの復元に選択された Kubernetes リソースに適用される変換ルール。ルールには、フィルタリング ロジック(置換対象リソースの条件)と置換ロジックの両方が含まれています。
JSON 表現 |
---|
{
"targetNamespaces": [
string
],
"targetGroupKinds": [
{
object ( |
フィールド | |
---|---|
targetNamespaces[] |
(フィルタリング パラメータ)置換の対象となるリソースは、Backup にリストされている Kubernetes Namespace のいずれかに含まれている必要があります。このフィールドが指定されていない場合、Namespace のフィルタリングは実行されません(すべてのクラスタ スコープのリソースを含む、すべての Namespace 内のすべてのリソースが置換対象になります)。同じルールでクラスタ スコープのリソースと Namespace 付きリソースを混在させるには、ターゲット Namespace の 1 つとして空の文字列("")を使用します。 |
targetGroupKinds[] |
(フィルタリング パラメータ)置換の対象となるリソースは、リスト内のいずれかのタイプに属している必要があります。このフィールドが指定されていない場合、タイプのフィルタリングは実行されません(前のフィルタリング パラメータと一致するすべてのタイプのすべてのリソースが置換対象になります)。 |
targetJsonPath |
必須。これは、候補リソースの特定のフィールドと一致する JSONPath 式です。これは、フィルタリング パラメータ(この式と一致するリソースを置換)とフィールド識別子(候補のリソースのうち、どのフィールドを変更するかを正確に識別)の両方として機能します。 |
originalValuePattern |
(フィルタリング パラメータ)targetJsonPath 式で一致するフィールドと比較される正規表現です(また、前のフィルタも通過している必要があります)。この式に一致しない値のフィールドは置換されません。このフィールドが指定されていない場合、targetJsonPath 式に一致するすべてのフィールドが置換されます。空の値(未指定ではなく、"")を指定すると、空のフィールドにのみ一致するようになります。 |
newValue |
これは、フィルタリングと選択の条件を渡すすべてのフィールドに設定できる新しい値です。Kubernetes リソースから値を削除するには、このフィールドを指定しないか、空の文字列("")に設定します。 |
TransformationRule
Backup からの復元に選択された Kubernetes リソースに適用される変換ルール。ルールには、フィルタリング ロジック(変換対象リソースの条件)と変換ロジックの両方が含まれています。
JSON 表現 |
---|
{ "fieldActions": [ { object ( |
フィールド | |
---|---|
fieldActions[] |
必須。候補リソースに対して実行する変換ルール アクションのリスト。アクションは定義された順序で実行されます。この順序は重要です。アクションは相互に干渉し、最初のオペレーションが 2 番目のオペレーションの結果に影響する可能性があります。 |
resourceFilter |
このフィールドは、指定された変換ルールのアクションを適用するバックアップ内のリソースを決定するための一連のフィールドを指定するために使用されます。これにより、変換ルールのアクションが特定のリソースにのみ影響します。 |
description |
説明は、変換ルールに対するユーザー指定の説明(文字列)です。 |
TransformationRuleAction
TransformationRuleAction は、JSON Patch RFC(https://www.rfc-editor.org/rfc/rfc6902)に基づく TransformationRule アクションを定義します。
JSON 表現 |
---|
{
"op": enum ( |
フィールド | |
---|---|
op |
必須。op は、実行するオペレーションを指定します。 |
fromPath |
値を移動するターゲット ドキュメント内の場所を参照する JSON ポインタ値を含む文字列。 |
path |
オペレーションが実行されるターゲット ドキュメント内の場所を参照する JSON ポインタ値を含む文字列。 |
value |
変換に使用する値を文字列形式で指定する文字列。 |
Op
変換ルール アクションのオペレーションの有効な値。
列挙型 | |
---|---|
OP_UNSPECIFIED |
オペレーションの指定なし |
REMOVE |
remove オペレーションは、ターゲットの場所の値を削除します。 |
MOVE |
move オペレーションは、指定された場所の値を削除し、ターゲットの場所に追加します。 |
COPY |
copy オペレーションは、指定された場所の値をターゲットの場所にコピーします。 |
ADD |
add オペレーションは、ターゲットの場所が参照する内容に応じて、次のいずれかを実行します。1. ターゲットの場所で配列インデックスを指定している場合は、指定されたインデックスの配列に新しい値が挿入されます。2. ターゲットの場所で、まだ存在しないオブジェクト メンバーを指定している場合は、新しいメンバーがオブジェクトに追加されます。3. ターゲットの場所で既存のオブジェクト メンバーを指定している場合は、そのメンバーの値が置き換えられます。 |
TEST |
test オペレーションは、ターゲットの場所の値が指定された値と等しいことをテストします。 |
REPLACE |
replace オペレーションは、ターゲットの場所の値を新しい値に置き換えます。オペレーション オブジェクトには、置換値を指定する value メンバーが含まれている必要があります。 |
ResourceFilter
ResourceFilter は、バックアップからの復元に選択された Kubernetes リソースの特定のセットに対する変更範囲を制限するための一致条件を指定します。
JSON 表現 |
---|
{
"namespaces": [
string
],
"groupKinds": [
{
object ( |
フィールド | |
---|---|
namespaces[] |
(フィルタリング パラメータ)変換の対象となるリソースは、Backup にリストされている Kubernetes Namespace のいずれかに含まれている必要があります。このフィールドが指定されていない場合、Namespace のフィルタリングは実行されません(すべてのクラスタ スコープのリソースを含む、すべての Namespace 内のすべてのリソースが変換対象になります)。同じルールでクラスタ スコープのリソースと Namespace 付きリソースを混在させるには、ターゲット Namespace の 1 つとして空の文字列("")を使用します。 |
groupKinds[] |
(フィルタリング パラメータ)変換の対象となるリソースは、リスト内のいずれかのタイプに属している必要があります。このフィールドが指定されていない場合、タイプのフィルタリングは実行されません(前のフィルタリング パラメータと一致するすべてのタイプのすべてのリソースが変換対象になります)。 |
jsonPath |
これは、候補リソースの特定のフィールドと一致する JSONPath 式であり、フィルタリング パラメータとして機能します(この式と一致しないリソースは変換の候補になりません)。 |