Pianificare una serie di backup

Questa pagina descrive come creare e gestire i piani di backup per i carichi di lavoro del cluster in Google Distributed Cloud (GDC) air-gapped.

I piani di backup forniscono le funzioni di configurazione, posizione e gestione per una sequenza di backup. Un piano di backup contiene una configurazione di backup, inclusi il cluster di origine e la selezione dei workload di cui eseguire il backup. Google consiglia di fornire a ogni cluster almeno un piano di backup.

Puoi creare uno o più piani di backup per ogni cluster. Potresti voler partizionare i backup del cluster per uno dei seguenti motivi:

  • Anziché un unico backup molto grande eseguito in un determinato momento della giornata, vuoi più backup più piccoli distribuiti nell'arco della giornata.
  • Vuoi eseguire il backup di alcune parti del cluster più spesso di altre, ad esempio backup giornalieri per alcuni spazi dei nomi e backup orari per altri.

Un singolo cluster o una singola macchina virtuale (VM) può appartenere a uno o più piani di backup. Un piano di backup non può estendersi a più di un cluster; tuttavia, un singolo piano di backup può acquisire più VM se si trovano nello stesso cluster. Devi associare tutte le risorse di backup e ripristino a un nome di progetto.

Prima di iniziare

Per creare un piano di backup, devi disporre di:

  • Il ruolo di identità e accesso necessario:
    • 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 saperne di più, consulta Definizioni dei ruoli.
  • Se sei un operatore di applicazioni, chiedi all'amministratore con privilegi di amministratore dei backup del cluster utente di creare un piano di backup per te.
  • Quando esegui il backup di un cluster utente, assicurati di collegare il progetto utilizzato per creare il piano di backup a quel cluster.

Crea un piano di backup

Ti consigliamo di definire una pianificazione cron per il piano di backup, in modo che i backup vengano creati automaticamente in base a questa pianificazione. Puoi anche eseguire manualmente il backup dei tuoi carichi di lavoro. Per saperne di più, vedi Creare un backup manuale.

Crea piani di backup utilizzando la console GDC o l'API.

Console

  1. Accedi alla console GDC.
  2. Nel menu di navigazione, fai clic su Backup per i cluster.
  3. Fai clic su Crea piano di backup.
  4. Nella sezione Dettagli del piano, completa i seguenti passaggi e fai clic su Continua:
    1. Nell'elenco Cluster, seleziona il cluster di cui eseguire il backup.
    2. Nell'elenco Progetto, seleziona il progetto.
    3. Nel campo Nome piano di backup, inserisci il nome del piano di backup che hai scelto.
    4. (Facoltativo) In Descrizione del piano di backup, inserisci una descrizione del piano di backup.
    5. Nel campo Backup repo, seleziona un repository di backup. I repository di backup sono un insieme di implementazioni di archiviazione di oggetti.
    6. Fai clic su Avanti.
  5. Nella sezione Ambito e crittografia, completa i seguenti passaggi e fai clic su Continua:

    1. Seleziona uno dei seguenti ambiti per il piano di backup:

      1. Fai clic su Intero cluster per eseguire il backup di tutte le risorse dello spazio dei nomi nel backup.
      2. Fai clic su Spazi dei nomi selezionati all'interno del cluster per scegliere gli spazi dei nomi nel cluster di cui eseguire il backup.
        1. Fai clic su Modifica spazio dei nomi del cluster e poi su Aggiungi spazio dei nomi del cluster per inserire uno spazio dei nomi.
      3. Fai clic su Applicazioni protette selezionate all'interno di questo cluster per aggiungere risorse specificando lo spazio dei nomi e il nome dell'applicazione.
        1. Fai clic su Modifica applicazioni protette, quindi su Aggiungi applicazione protetta per inserire uno spazio dei nomi e un'applicazione protetta.
    2. Fai clic su Includi secret per includere le risorse Secret di Kubernetes.

    3. Fai clic su Includi dati di volumi permanenti se vuoi includere i dati del volume nel backup. Deseleziona questa casella di controllo se vuoi creare volumi vuoti durante il backup.

  6. Nella sezione Pianificazione e conservazione, completa i seguenti passaggi e fai clic su Continua:

    1. Per definire una pianificazione, inserisci un'espressione utilizzando la sintassi cron standard nel campo Stringa CRON. Ad esempio, l'espressione 10 3 * * * crea un backup alle 03:10 ogni giorno. Tutti gli orari vengono interpretati come UTC. L'intervallo minimo tra i backup pianificati è di 10 minuti.
    2. Nel campo Elimina i backup dopo, imposta il numero di giorni per cui conservare il backup. Una volta raggiunto il numero di giorni, il backup viene eliminato automaticamente.
    3. Imposta il numero di giorni durante i quali i backup non possono essere eliminati.
    4. Per bloccare la norma di conservazione, fai clic sull'icona lucchetto per impostare il lucchetto da Off a On.
  7. Rivedi i dettagli del piano di backup e fai clic su Crea piano.

API

Crea una risorsa personalizzata ClusterBackupPlan nel cluster per pianificare i backup. Un piano di backup pianifica periodicamente i backup in base a backupSchedule. Le risorse ClusterBackupPlan sono risorse dello spazio dei nomi. Ecco un esempio di ClusterBackupPlan:

apiVersion: backup.gdc.goog/v1
kind: ClusterBackupPlan
metadata:
  name: CLUSTER_BACKUP_PLAN
  namespace: PROJECT_NAME
spec:
  targetCluster:
    targetClusterType: UserCluster
    targetClusterName:
      kind: "Cluster"
      name: CLUSTER_NAME
  backupSchedule:
    cronSchedule: CRON_SCHEDULE
    paused: BACKUP_SCHEDULE_STATUS
  clusterBackupConfig:
    backupScope:
      selectedNamespaces:
        namespaces: [NAME_SPACE]
    clusterBackupRepositoryName: CLUSTER_BACKUP_REPOSITORY
    includeVolumeData: VOLUME_DATA_INCLUDED
    volumeStrategy: VOLUME_STRATEGY
    includeSecrets: SECRETS_INCLUDED
  retentionPolicy:
    backupDeleteLockDays: BACKUP_DELETE_LOCK_DAYS
    backupRetainDays: BACKUP_RETAIN_DAYS
  description: BACKUP_PLAN_DESCRIPTION

Sostituisci quanto segue:

  • CLUSTER_BACKUP_PLAN: il nome del piano di backup del cluster.
  • PROJECT_NAME: il nome del progetto GDC.
  • CLUSTER_NAME: il nome del cluster di cui eseguire il backup. Il campo targetCluster che racchiude i componenti ha i seguenti componenti:
    • targetClusterType: il tipo di cluster di cui eseguire il backup, ad esempio UserCluster o ManagementAPI. Questo esempio utilizza UserCluster.
    • targetClusterName: contiene name, impostato da CLUSTER_NAME.
  • CRON_SCHEDULE: una pianificazione crontab che indica quando pianificare i backup, ad esempio "*/30 * * * *". L'intervallo minimo tra i backup pianificati è di 10 minuti.
  • BACKUP_SCHEDULE_STATUS: se true, i backup periodici non vengono pianificati.
  • NAME_SPACE: un elenco di spazi dei nomi da includere nel backup. Il campo clusterBackupConfig racchiuso include i dettagli di configurazione per i backup:
    • backupScope: indica quali risorse vengono sottoposte a backup. Questo esempio utilizza selectedNamespaces. I valori possibili includono:
      • allNamespaces: acquisisce tutte le risorse in tutti gli spazi dei nomi.
      • selectedNamespaces: acquisisce le risorse nell'elenco degli spazi dei nomi specificati.
      • selectedApplication: acquisisce le risorse definite da protectedApplications.
    • namespaces: applicabile se backupScope è selectedNamespaces.
  • CLUSTER_BACKUP_REPOSITORY: valore per clusterBackupRepositoryName in clusterBackupConfig. Questo è il repository di destinazione che archivia i backup e deve essere importato come ReadWrite.
  • VOLUME_DATA_INCLUDED: specifica se eseguire il backup dei dati del volume. Per impostazione predefinita, questo valore è false. Se vuoi includere i dati del volume nel backup, imposta questo valore su true.
  • VOLUME_STRATEGY: il tipo di backup del volume da eseguire. I valori possibili includono:
    • ProvisionerSpecific: sfrutta le funzionalità di backup e ripristino del provisioner di archiviazione sottostante. Utilizza questa opzione se includeVolumeData è true.
    • LocalSnapshotOnly: crea una copia point-in-time del volume solo sul sistema di archiviazione locale.
    • Portable: fornisce un modo indipendente dallo spazio di archiviazione per eseguire il backup dei dati del volume.
  • SECRETS_INCLUDED: specifica se eseguire il backup dei secret. Per impostazione predefinita, questo valore è false. Se vuoi includere le risorse Kubernetes Secret nel backup, imposta questo valore su true.
  • BACKUP_DELETE_LOCK_DAYS: impedisce l'eliminazione del backup per il numero di giorni specificato dopo la creazione del backup, ad esempio 10 days.
  • BACKUP_RETAIN_DAYS: definisce il numero totale di giorni per conservare il backup. Trascorso questo periodo, il backup viene eliminato automaticamente. L'impostazione di un valore più alto potrebbe causare l'esaurimento dello spazio di archiviazione, mentre l'impostazione di un valore più basso può aumentare il rischio di perdita di dati. Se non specificato, questo valore è impostato su 35 per impostazione predefinita. I criteri di conservazione non sostituiscono quelli della posizione di archiviazione e non possono superare i 90 giorni.
  • BACKUP_PLAN_DESCRIPTION: una descrizione del piano di backup.

Una volta creato un piano di backup, i backup vengono creati automaticamente con la configurazione specificata in base alla pianificazione del backup.

Visualizzare un piano di backup

Visualizza un piano di backup utilizzando la console GDC o l'API.

Console

  1. Accedi alla console GDC.
  2. Nel menu di navigazione, fai clic su Backup per i cluster.
  3. Fai clic su Seleziona progetto e seleziona un'organizzazione o un progetto a seconda del tuo ruolo:
    • Amministratore backup cluster utente: seleziona un'organizzazione per visualizzare tutti i piani di backup in un'organizzazione o seleziona un progetto per visualizzare tutti i piani di backup in un progetto.
    • Creatore del backup: seleziona un progetto per visualizzare tutti i piani di backup in un progetto.
  4. Fai clic sulla scheda Piani di backup.
  5. Fai clic su un piano di backup nell'elenco per visualizzarne i dettagli. Gli utenti con privilegi di amministratore dei backup del cluster di utenti possono visualizzare tutti i piani di backup dell'organizzazione. Gli utenti con il ruolo Autore backup possono visualizzare tutti i piani di backup nel progetto selezionato.

API

Per visualizzare un piano di backup, utilizza il comando kubectl get:

kubectl get clusterbackupplan CLUSTER_BACKUP_PLAN -n PROJECT_NAME -o yaml

Sostituisci quanto segue:

  • CLUSTER_BACKUP_PLAN: il nome del piano di backup da visualizzare.
  • PROJECT_NAME: il nome del progetto GDC.

Modificare un piano di backup

Modifica un piano di backup utilizzando la console GDC o l'API.

Console

  1. Accedi alla console GDC.
  2. Nel menu di navigazione, fai clic su Backup per i cluster.
  3. Fai clic su Seleziona progetto e seleziona un'organizzazione o un progetto a seconda del tuo ruolo:
    • Amministratore backup cluster utente: seleziona un'organizzazione per visualizzare tutti i piani di backup in un'organizzazione oppure seleziona un progetto per visualizzare tutti i piani di backup in un progetto.
    • Creatore di backup: seleziona un progetto per visualizzare tutti i piani di backup in un progetto.
  4. Fai clic sulla scheda Piani di backup.
  5. Fai clic sul nome del piano di backup da modificare.
  6. Fai clic sulla scheda Configurazione piano per visualizzare i campi che possono essere modificati.
  7. Fai clic sull'icona Modifica per Pianificazione e conservazione per modificare la risorsa:

    1. Per aggiornare una pianificazione, inserisci un'espressione utilizzando la sintassi cron standard nel campo Stringa CRON. Ad esempio, l'espressione 10 3 * * * crea un backup alle 03:10 ogni giorno. Tutti gli orari vengono interpretati come UTC. L'intervallo minimo tra i backup pianificati è di 10 minuti.
    2. Nel campo Elimina i backup dopo, imposta il numero di giorni per cui conservare il backup. Una volta raggiunto il numero di giorni, il backup viene eliminato automaticamente.
    3. Nel campo Impedisci eliminazione per, imposta il numero di giorni durante i quali i backup non possono essere eliminati.

    4. Per bloccare la policy di conservazione, fai clic sull'icona lucchetto da Off a On.

    5. Fai clic sul pulsante Salva per confermare le modifiche.

API

Per modificare un piano di backup, utilizza il comando kubectl edit per modificare la risorsa personalizzata ClusterBackupPlan. Questo comando apre la configurazione YAML della risorsa nell'editor di testo predefinito.

kubectl edit clusterbackupplan CLUSTER_BACKUP_PLAN -n PROJECT_NAME

Sostituisci quanto segue:

  • CLUSTER_BACKUP_PLAN: il nome del piano di backup da modificare.
  • PROJECT_NAME: il nome del progetto GDC.

Nell'editor, puoi modificare campi come i seguenti:

  • spec.backupSchedule.cronSchedule: aggiorna la frequenza di backup.
  • spec.backupSchedule.paused: abilita o disabilita la pianificazione del backup.
  • spec.retentionPolicy.backupRetainDays: modifica il periodo di conservazione dei backup.
  • spec.retentionPolicy.backupDeleteLockDays: modifica il periodo di blocco dell'eliminazione.
  • spec.retentionPolicy.locked: blocca il criterio di conservazione.
  • spec.deactivated: disattiva il piano di backup. Se questo campo è impostato su "true", la creazione del backup e gli aggiornamenti successivi vengono impediti.

Disattivare un piano di backup

Disattiva un piano di backup utilizzando la console GDC o l'API:

Console

  1. Accedi alla console GDC.
  2. Nel menu di navigazione, fai clic su Backup per i cluster.
  3. Fai clic su Seleziona progetto e seleziona un'organizzazione o un progetto a seconda del tuo ruolo:
    • Amministratore backup cluster utente: seleziona un'organizzazione per visualizzare tutti i piani di backup in un'organizzazione o seleziona un progetto per visualizzare tutti i piani di backup in un progetto.
    • Creatore del backup: seleziona un progetto per visualizzare tutti i piani di backup in un progetto.
  4. Fai clic sulla scheda Piani di backup.
  5. Fai clic sul nome del piano di backup che vuoi disattivare.
  6. Fai clic sul pulsante Disattiva piano.
  7. Inserisci il nome del piano di backup che stai disattivando nel campo.
  8. Fai clic sul pulsante Disattiva per completare la disattivazione di questo piano di backup.

API

Per disattivare un piano di backup, imposta il campo deactivated su true:

kubectl patch clusterbackupplan CLUSTER_BACKUP_PLAN -n PROJECT_NAME -p '{"spec":{"deactivated":true}}' --type=merge

Sostituisci quanto segue:

  • CLUSTER_BACKUP_PLAN: il nome del piano di backup da disattivare.
  • PROJECT_NAME: il nome del progetto GDC.

Passaggi successivi