- Rappresentazione JSON
- VolumeDataRestorePolicy
- ClusterResourceConflictPolicy
- NamespacedResourceRestoreMode
- ClusterResourceRestoreScope
- GroupKind
- SubstitutionRule
- TransformationRule
- TransformationRuleAction
- Operazione
- ResourceFilter
Configurazione di un ripristino. ID successivo: 12
Rappresentazione JSON |
---|
{ "volumeDataRestorePolicy": enum ( |
Campi | |
---|---|
volumeDataRestorePolicy |
Specifica il meccanismo da utilizzare per ripristinare i dati di volume. Valore predefinito: VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED (verrà trattato come NO_VOLUME_DATA_RESTORATION). |
clusterResourceConflictPolicy |
Definisce il comportamento per la gestione della situazione in cui le risorse con ambito cluster da ripristinare esistono già nel cluster di destinazione. DEVE essere impostato su un valore diverso da CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIED se il campo |
namespacedResourceRestoreMode |
Definisce il comportamento per la gestione della situazione in cui nel cluster di destinazione esistono già insiemi di risorse con spazio dei nomi da ripristinare. DEVE essere impostato su un valore diverso da NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED. |
clusterResourceRestoreScope |
Identifica le risorse con ambito cluster da ripristinare dal backup. Se non lo specifichi, NON verrà ripristinata nessuna risorsa cluster. |
substitutionRules[] |
Un elenco di regole di trasformazione da applicare alle risorse Kubernetes selezionate per il ripristino da un backup. Le regole vengono eseguite in base all'ordine definito: questo ordine è importante, poiché le modifiche apportate da una regola possono influire sulla logica di filtro delle regole successive. Se l'elenco è vuoto, non verrà eseguita alcuna sostituzione. |
transformationRules[] |
Un elenco di regole di trasformazione da applicare alle risorse Kubernetes selezionate per il ripristino da un backup. Le regole vengono eseguite in base all'ordine definito: questo ordine è importante, poiché le modifiche apportate da una regola possono influire sulla logica di filtro delle regole successive. Se l'elenco è vuoto, non verrà eseguita alcuna trasformazione. |
Campo di unione Nota: le risorse non verranno mai ripristinate in spazi dei nomi gestiti, come |
|
allNamespaces |
Ripristina tutte le risorse con spazio dei nomi nel backup se è impostato su "True". L'impostazione di questo campo su "False" è un errore. |
selectedNamespaces |
Un elenco di spazi dei nomi selezionati da ripristinare dal backup. Gli spazi dei nomi elencati e tutte le risorse al loro interno verranno ripristinati. |
selectedApplications |
Un elenco delle applicazioni protette selezionate da ripristinare. Le applicazioni ProtectedApplications elencate e tutte le risorse a cui fanno riferimento verranno ripristinate. |
noNamespaces |
Non ripristinare le risorse con spazio dei nomi se è impostato su "True". Non è consentito specificare questo campo su "False". |
excludedNamespaces |
Un elenco di spazi dei nomi selezionati esclusi dal ripristino. Tutti gli spazi dei nomi tranne quelli in questo elenco verranno ripristinati. |
VolumeDataRestorePolicy
Definisce la modalità di ripristino dei dati del volume.
Enum | |
---|---|
VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED |
Non specificato (illegale). |
RESTORE_VOLUME_DATA_FROM_BACKUP |
Per ogni PVC da ripristinare, crea un nuovo volume sottostante e un nuovo volume permanente dal VolumeBackup corrispondente contenuto nel backup. |
REUSE_VOLUME_HANDLE_FROM_BACKUP |
Per ogni richiesta di volume permanente da ripristinare, prova a riutilizzare il volume permanente originale contenuto nel backup (con il volume sottostante originale). Probabilmente questa opzione è utilizzabile solo quando ripristini un carico di lavoro nel cluster originale. |
NO_VOLUME_DATA_RESTORATION |
Per ogni PVC da ripristinare, crea una PVC senza alcuna azione specifica per ripristinare i dati. In questo caso, viene attivata la normale logica di provisioning di Kubernetes, che potrebbe determinare il provisioning dinamico dei PV vuoti o l'associazione a quelli di cui è stato eseguito il provisioning statico. |
ClusterResourceConflictPolicy
Definisce il comportamento per la gestione della situazione in cui le risorse con ambito cluster da ripristinare esistono già nel cluster di destinazione.
Enum | |
---|---|
CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIED |
Non specificato. Consentito solo se non verrà ripristinata alcuna risorsa con ambito cluster. |
USE_EXISTING_VERSION |
Non tentare di ripristinare la risorsa in conflitto. |
USE_BACKUP_VERSION |
Elimina la versione esistente prima di ricrearla dal backup. Si tratta di un'opzione pericolosa che potrebbe causare la perdita accidentale di dati se utilizzata in modo inappropriato. Ad esempio, l'eliminazione di un CRD causerà l'eliminazione di tutte le RP di quel tipo da parte di Kubernetes. |
NamespacedResourceRestoreMode
Definisce il comportamento per la gestione della situazione in cui nel cluster di destinazione esistono già insiemi di risorse con spazio dei nomi da ripristinare.
Enum | |
---|---|
NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED |
Non specificato (non valido). |
DELETE_AND_RESTORE |
Quando si verificano risorse di primo livello in conflitto (spazi dei nomi o ProtectedApplications, a seconda dell'ambito), viene prima attivata un'eliminazione della risorsa in conflitto E di TUTTE LE RISORSE DI RIFERIMENTO (ad esempio, tutte le risorse nello spazio dei nomi o tutte le risorse a cui viene fatto riferimento da ProtectedApplication) prima di ripristinare le risorse dal backup. Questa modalità deve essere utilizzata solo se intendi ripristinare uno stato precedente di una parte di un cluster. |
FAIL_ON_CONFLICT |
Se all'inizio di un processo di ripristino vengono rilevate risorse di primo livello in conflitto (spazi dei nomi o ProtectedApplications, a seconda dell'ambito), il ripristino non andrà a buon fine. Se si verifica un conflitto durante il processo di ripristino (ad esempio perché un processo fuori banda crea risorse in conflitto), verrà segnalato un conflitto. |
ClusterResourceRestoreScope
Definisce l'ambito delle risorse con ambito cluster da ripristinare.
Alcuni tipi di gruppo non sono scelte ragionevoli per un ripristino e, se selezionati qui, causeranno un errore. Qualsiasi selezione di ambito che ripristini "tutte le risorse valide" esclude automaticamente questi tipi di gruppi. - gkebackup.gke.io/BackupJob - gkebackup.gke.io/scoperteJob - metric.k8s.io/NodeMetrics - migration.k8s.io/StorageState - migration.k8s.io/StorageVersionmigration - Node - snapshot.storage.k8s.io/VolumeSnapshotContent - storage.kINodes.io/
Alcuni tipi di gruppo si basano sul ripristino della configurazione altrove e, se selezionati qui, causeranno un errore. - Spazio dei nomi - PersistentVolume
Rappresentazione JSON |
---|
{ "selectedGroupKinds": [ { object ( |
Campi | |
---|---|
selectedGroupKinds[] |
Un elenco dei tipi di gruppi di risorse con ambito cluster da ripristinare dal backup. Se specificato, verranno ripristinate solo le risorse selezionate. Si escludono a vicenda per qualsiasi altro campo nel messaggio. |
excludedGroupKinds[] |
Un elenco di tipi di gruppi di risorse con ambito cluster da NON ripristinare dal backup. Se specificato, verranno ripristinate tutte le risorse con ambito cluster valide, ad eccezione di quelle specificate nell'elenco. Si escludono a vicenda per qualsiasi altro campo nel messaggio. |
allGroupKinds |
Se il valore è true, tutte le risorse con ambito cluster valide verranno ripristinate. Si escludono a vicenda per qualsiasi altro campo nel messaggio. |
noGroupKinds |
Se il valore è true, non verrà ripristinata nessuna risorsa con ambito cluster. L'ambito del ripristino è lo stesso che se il messaggio non fosse definito. Si escludono a vicenda per qualsiasi altro campo nel messaggio. |
GroupKind
Questa è una mappa diretta al tipo GroupKind di Kubernetes GroupKind e viene utilizzata per identificare "tipi" specifici di risorse da ripristinare.
Rappresentazione JSON |
---|
{ "resourceGroup": string, "resourceKind": string } |
Campi | |
---|---|
resourceGroup |
Stringa del gruppo API di una risorsa Kubernetes, ad esempio "apiextensions.k8s.io", "storage.k8s.io" e così via. Nota: utilizza una stringa vuota per il gruppo di API principale |
resourceKind |
Tipo di risorsa Kubernetes, ad esempio "CustomResourceDefinition", "StorageClass" e così via. |
SubstitutionRule
Una regola di trasformazione da applicare alle risorse Kubernetes selezionate per il ripristino da un backup. Una regola contiene sia una logica di filtro (le risorse soggette a sostituzione) sia una logica di sostituzione.
Rappresentazione JSON |
---|
{
"targetNamespaces": [
string
],
"targetGroupKinds": [
{
object ( |
Campi | |
---|---|
targetNamespaces[] |
(Parametro di filtro) Qualsiasi risorsa soggetta a sostituzione deve essere contenuta in uno degli spazi dei nomi Kubernetes elencati nel backup. Se questo campo non viene fornito, non verrà eseguito alcun filtro dello spazio dei nomi (tutte le risorse in tutti gli spazi dei nomi, incluse tutte le risorse con ambito cluster, saranno candidati per la sostituzione). Per combinare risorse con ambito cluster e con spazio dei nomi nella stessa regola, utilizza una stringa vuota ("") come uno degli spazi dei nomi di destinazione. |
targetGroupKinds[] |
(Parametro di filtro) Qualsiasi risorsa soggetta a sostituzione deve appartenere a uno dei "tipi" elencati. Se questo campo non viene fornito, non verrà eseguito alcun filtro di tipo (tutte le risorse di tutti i tipi che corrispondono ai parametri di filtro precedenti verranno sostituite). |
targetJsonPath |
Obbligatorio. Si tratta di un'espressione JSONPath che corrisponde a campi specifici delle risorse candidate e funziona sia come parametro di filtro (le risorse che non corrispondono a questa espressione non saranno candidati per la sostituzione) e come identificatore di campo (identifica esattamente quali campi delle risorse candidate verranno modificati). |
originalValuePattern |
(Parametro di filtro) Si tratta di un'espressione regolare che viene confrontata con i campi corrispondenti dall'espressione targetJsonPath (e deve aver superato i filtri precedenti). La sostituzione non verrà eseguita con i campi il cui valore non corrisponde a questa espressione. Se questo campo NON viene specificato, TUTTI i campi corrispondenti all'espressione targetJsonPath verranno sostituiti. Tieni presente che un campo vuoto (ad es. "", anziché non specificato) per questo campo corrisponderà solo ai campi vuoti. |
newValue |
Si tratta del nuovo valore da impostare per tutti i campi che trasmettono i criteri di filtro e selezione. Per rimuovere un valore da una risorsa Kubernetes, non specificare questo campo oppure impostalo sulla stringa vuota (""). |
TransformationRule
Una regola di trasformazione da applicare alle risorse Kubernetes selezionate per il ripristino da un backup. Una regola contiene sia la logica di filtro (le risorse soggette a trasformazione) sia la logica di trasformazione.
Rappresentazione JSON |
---|
{ "fieldActions": [ { object ( |
Campi | |
---|---|
fieldActions[] |
Obbligatorio. Un elenco di azioni delle regole di trasformazione da eseguire per le risorse candidate. Le azioni vengono eseguite in base all'ordine definito: questo ordine è importante, poiché potrebbero interferire tra loro e la prima operazione potrebbe influire sul risultato della seconda. |
resourceFilter |
Questo campo viene utilizzato per specificare un insieme di campi da utilizzare per determinare su quali risorse nel backup devono essere eseguite le azioni delle regole di trasformazione fornite e questo garantisce che solo le risorse specifiche siano interessate dalle azioni delle regole di trasformazione. |
description |
La descrizione è una descrizione stringa specificata dall'utente della regola di trasformazione. |
TransformationRuleAction
TransformationRuleAction definisce un'azione TransformationRule in base alla patch JSON RFC (https://www.rfc-editor.org/rfc/rfc6902)
Rappresentazione JSON |
---|
{
"op": enum ( |
Campi | |
---|---|
op |
Obbligatorio. op specifica l'operazione da eseguire. |
fromPath |
Una stringa contenente un valore puntatore JSON che fa riferimento alla posizione nel documento di destinazione da cui spostare il valore. |
path |
Una stringa contenente un valore JSON-Pointer che fa riferimento a una posizione all'interno del documento di destinazione in cui viene eseguita l'operazione. |
value |
Una stringa che specifica il valore in formato stringa desiderato da utilizzare per la trasformazione. |
Operazione
Valori possibili per le operazioni di un'azione della regola di trasformazione.
Enum | |
---|---|
OP_UNSPECIFIED |
Operazione non specificata |
REMOVE |
L'operazione "rimuovi" rimuove il valore nella località di destinazione. |
MOVE |
L'operazione "sposta" rimuove il valore in una posizione specificata e lo aggiunge alla località target. |
COPY |
L'operazione di "copia" copia il valore in una posizione specificata nella località di destinazione. |
ADD |
L'operazione "add" esegue una delle seguenti funzioni, a seconda del riferimento alla località di destinazione: 1. Se la posizione di destinazione specifica un indice di array, un nuovo valore viene inserito nell'array in corrispondenza dell'indice specificato. 2. Se la posizione di destinazione specifica un membro dell'oggetto che non esiste già, viene aggiunto un nuovo membro all'oggetto. 3. Se la posizione di destinazione specifica un membro oggetto che esiste, il valore di quel membro viene sostituito. |
TEST |
L'operazione "di prova" verifica che un valore nella posizione target corrisponda a un valore specificato. |
REPLACE |
L'operazione "sostituisci" sostituisce il valore nella posizione di destinazione con un nuovo valore. L'oggetto dell'operazione DEVE contenere un membro "value" il cui contenuto specifica il valore sostitutivo. |
ResourceFilter
ResourceFilter specifica i criteri di corrispondenza per limitare l'ambito di una modifica a un insieme specifico di risorse Kubernetes selezionate per il ripristino da un backup.
Rappresentazione JSON |
---|
{
"namespaces": [
string
],
"groupKinds": [
{
object ( |
Campi | |
---|---|
namespaces[] |
(Parametro di filtro) Qualsiasi risorsa soggetta a trasformazione deve essere contenuta in uno degli spazi dei nomi Kubernetes elencati nel backup. Se questo campo non viene fornito, non verrà eseguito alcun filtro dello spazio dei nomi (tutte le risorse in tutti gli spazi dei nomi, incluse tutte le risorse con ambito cluster, saranno candidati per la trasformazione). Per combinare risorse con ambito cluster e con spazio dei nomi nella stessa regola, utilizza una stringa vuota ("") come uno degli spazi dei nomi di destinazione. |
groupKinds[] |
(Parametro di filtro) Qualsiasi risorsa soggetta a trasformazione deve appartenere a uno dei "tipi" elencati. Se questo campo non viene fornito, non verrà eseguito alcun filtro per tipo (tutte le risorse di tutti i tipi che corrispondono ai parametri di filtro precedenti verranno candidati per la trasformazione). |
jsonPath |
Si tratta di un'espressione JSONPath che corrisponde a campi specifici delle risorse candidate e funziona come parametro di filtro (le risorse che non corrispondono a questa espressione non saranno candidati per la trasformazione). |