Crea un ripristino granulare

Questa pagina descrive come creare un ripristino granulare per un backup in Google Distributed Cloud (GDC) air-gapped.

La funzionalità di ripristino granulare consente di ripristinare un sottoinsieme di risorse da un backup. Questa funzionalità offre la flessibilità per perfezionare l'ambito di ripristino definito nel piano di ripristino.

Prima di iniziare

Per creare un ripristino granulare per un backup, devi disporre di:

  • Un backup esistente. Per ulteriori informazioni, vedi Pianificare un insieme di backup.
  • Il ruolo di identità e accesso necessario:

    • Per gli utenti PA:
      • Amministratore backup cluster utente: gestisce le risorse di backup come i piani di backup e ripristino nei cluster utente. Chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Amministratore backup cluster utente (user-cluster-backup-admin).
    • Per gli utenti di AO:
      • Backup Creator: crea backup manuali ed esegue ripristini. Chiedi all'amministratore IAM del progetto di concederti il ruolo Autore backup (backup-creator).
    • Per ulteriori informazioni, vedi Definizioni dei ruoli.

Crea un ripristino granulare

Per creare un ripristino con un filtro granulare:

  1. Crea i filtri di ripristino granulare. Puoi utilizzare il seguente esempio di YAML.

    inclusionFilters:
      - groupKind:
          group: foo.io
          kind: Bar
        name: name1
        namespace: ns1
    exclusionFilters:
      - labels:
          key1: value1
          key2: value2
    
  2. Crea una risorsa personalizzata ManualRestoreRequest per pianificare i ripristini da un Backups esistente. Ecco un esempio di ManualRestoreRequest:

    apiVersion: backup.gdc.goog/v1
    kind: ManualRestoreRequest
    metadata:
      name: RESTORE_NAME
      namespace: PROJECT_NAMESPACE
    spec:
      restoreName: RESTORE_NAME
      restorePlanName: RESTORE_PLAN
      backupName: BACKUP_NAME
      filter:
        FINE_GRAINED_RESTORE_FILTERS
    

Sostituisci quanto segue:

  • RESTORE_NAME: il nome del ripristino che vuoi creare.
  • PROJECT_NAMESPACE: il nome del tuo progetto GDC.
  • RESTORE_PLAN: il nome del piano di ripristino da cui deriva questo ripristino.
  • BACKUP_NAME: il backup da ripristinare. Questo backup deve essere associato al piano di backup a cui fa riferimento il piano di ripristino. Per saperne di più, vedi Pianificare un insieme di ripristini.
  • FINE_GRAINED_RESTORE_FILTER: i filtri di ripristino granulare. Per alcuni esempi, consulta Esempi di filtri di ripristino granulare.

Esempi di filtri di ripristino granulare

Gli esempi seguenti sono forniti nel formato YAML utilizzato da Google Cloud CLI.

Ripristina una singola risorsa con ambito di spazio dei nomi

Questo esempio ripristina una risorsa ConfigMap con il nome nginx-vars nello spazio dei nomi webserver, utilizzando il ripristino granulare inclusionFilters per selezionare la risorsa. Se vuoi scegliere risorse nel gruppo principale, utilizza una stringa vuota per il campo group.

filter:
  inclusionFilters:
  - groupKind:
      kind: ConfigMap
    name: nginx-vars
    namespace: webserver

Escludere una singola risorsa con ambito cluster

Questo esempio ripristina tutte le risorse disponibili tranne una groupKind con il nome sc1, utilizzando il ripristino granulare exclusionFilters per escludere la risorsa.

filter:
  exclusionFilters:
  - groupKind:
      group: storage.k8s.io
      kind: StorageClass
    name: sc1

Ripristinare le risorse con due etichette

Questo esempio ripristina le risorse che hanno entrambe le etichette key1:value1 e key2:value2, utilizzando il ripristino granulare inclusionFilters per selezionare le risorse.

filter:
  inclusionFilters:
  - labels:
      key1: value1
      key2: value2

Escludi tutte le risorse di alcuni GroupKind

Questo esempio ripristina tutte le risorse disponibili, ad eccezione delle risorse groupKind di ConfigMap e storage.k8s.io/StorageClass, utilizzando il ripristino granulare exclusionFilters per escludere questi due GroupKind.

filter:
  exclusionFilters:
  - groupKind:
      kind: ConfigMap
  - groupKind:
      group: storage.k8s.io
      kind: StorageClass

Passaggi successivi