Pianifica un insieme di backup


Questa pagina descrive come creare un piano di backup Backup per GKE, che viene utilizzato per il backup dei carichi di lavoro in Google Kubernetes Engine (GKE).

I piani di backup offrono le funzioni di configurazione, posizione e gestione per una sequenza di backup. Un piano di backup contiene una configurazione di backup che include il cluster di origine, la selezione dei carichi di lavoro di cui eseguire il backup e la regione in cui vengono archiviati gli artefatti di backup prodotti in questo piano.

Puoi creare uno o più piani di backup per ogni cluster. Esistono due tipi principali motivi per cui potresti volere più di un piano di backup per un cluster:

  • Vuoi archiviare gli artefatti di backup in più regioni. In questo crea un piano di backup per ogni regione in cui vuoi archiviare i backup.
  • Vuoi eseguire il partizionamento dei backup del cluster, ad esempio:

    • Invece di eseguire un backup molto grande in un'unica volta si desidera distribuire più copie di backup più piccole nel corso della giornata.
    • Vuoi eseguire il backup di alcune parti del cluster più spesso rispetto ad altri (come backup giornalieri per alcuni spazi dei nomi e backup per altri utenti).

È consigliabile che ogni cluster abbia almeno un piano di backup.

Puoi creare un piano di backup con un metodo di pianificazione del backup per creare backup: pianificazione intelligente o pianificazione cron. I nostri suggerimenti pianificazione intelligente del piano di backup. In questo modo i backup vengono creati automaticamente per soddisfare i requisiti del Recovery Point Objective (RPO). Per saperne di più, consulta Creazione ed eliminazione automatici dei backup.

Se non vuoi creare un piano di backup con metodi di pianificazione del backup, devi effettuare manualmente il backup per i carichi di lavoro. Dopo aver creato un piano di backup, puoi creare un backup da quel piano.

Prima di iniziare

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare e gestire un piano di backup, chiedi all'amministratore di concederti Amministratore backup Backup per GKE (roles/gkebackup.backupAdmin), che è un sottoinsieme di Amministratore Backup per GKE (roles/gkebackup.admin) ruolo IAM per il tuo progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite la ruoli o altri ruoli predefiniti ruoli.

Crea un piano di backup

Crea un piano di backup utilizzando gcloud CLI o la console Google Cloud.

gcloud

Per creare un piano di backup con una pianificazione, esegui questo comando:

gcloud beta container backup-restore backup-plans create BACKUP_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION \
    --cluster=CLUSTER \
    --all-namespaces \
    --include-secrets \
    --include-volume-data \
    --encryption-key=ENCRYPTION_KEY
    --target-rpo-minutes=TARGET_RPO_MINUTES \
    --exclusion-windows-file=EXCLUSION_WINDOWS_FILE
    --cron-schedule=CRON_SCHEDULE \
    --backup-retain-days=RETAIN_DAYS \
    --backup-delete-lock-days=DELETE_LOCK_DAYS \
    --locked

Sostituisci quanto segue:

  • BACKUP_PLAN: il nome del piano di backup che vuoi creare.
  • PROJECT_ID: l'ID del tuo account Google Cloud progetto.
  • LOCATION: il valore regione di computing per la risorsa, ad esempio us-central1. Vedi Informazioni delle risorse.
  • CLUSTER: il percorso relativo del cluster:
    • Cluster a livello di regione: projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_NAME
    • Cluster di zona: projects/PROJECT_ID/locations/ZONE/clusters/CLUSTER_NAME
  • CLUSTER_NAME: il nome del cluster di cui eseguire il backup.
  • --all-namespaces: esegue il backup di tutti gli spazi dei nomi per il cluster.

    In alternativa, specifica:

    • --selected-applications con un elenco di ProtectedApplications come NAMESPACE1/APP1,NAMESPACE2/APP2,... di cui eseguire il backup.
    • --selected-namespaces con un elenco di spazi dei nomi come NAMESPACE1,NAMESPACE2,... di cui eseguire il backup.

    Quando crei un piano di backup, devi specificare una di queste opzioni.

  • --include-secrets: un argomento facoltativo per includere le risorse Secret, se sono nell'ambito del backup.

  • --include-volume-data: un argomento facoltativo per includere dati di volumi permanenti in il backup. Non impostare questo argomento se vuoi creare volumi vuoti durante ripristinare.

  • ENCRYPTION_KEY: un argomento facoltativo per definire il percorso di una e la chiave di crittografia gestita dal cliente. Vedi Informazioni sulla crittografia CMEK.

  • TARGET_RPO_MINUTES: argomento richiesto se EXCLUSION_WINDOWS_FILE è impostato. Specifica RPO target in minuti. La pianificazione intelligente utilizza questo valore per creare automaticamente i backup. Il tempo minimo è 60 minuti (1 ora) e il massimo è 86.400 minuti (60 giorni). Non puoi impostare sia TARGET_RPO_MINUTES sia CRON_SCHEDULE contemporaneamente in un unico piano di backup.

  • EXCLUSION_WINDOWS_FILE: un argomento facoltativo per Definire le finestre temporali durante le quali non può avvenire il backup. Fuso orario interpretabile come UTC. Questo argomento è disponibile solo quando Impostazione TARGET_RPO_MINUTES impostata.

  • CRON_SCHEDULE: un argomento facoltativo per definire una pianificazione cron che crea automaticamente backup e supporta cron standard a riga di comando. Ad esempio, "10 3 * * *" crea un backup ogni giorno alle 03:10. Tutti e orari sono interpretati come UTC. L'intervallo minimo tra gli eventi pianificati è di 10 minuti. Non puoi impostare entrambi CRON_SCHEDULE e TARGET_RPO_MINUTES contemporaneamente in un unico piano di backup.

  • RETAIN_DAYS: argomento obbligatorio se TARGET_RPO_MINUTES o CRON_SCHEDULE è impostata. Specifica il numero di giorni di conservazione del backup. I backup per questo piano sono eliminati automaticamente alla scadenza del periodo di conservazione.

  • DELETE_LOCK_DAYS: un argomento facoltativo per specificare il numero di giorni durante i quali non possono essere eliminati i backup. Se questo valore è impostato, allora i backup creati per quel piano non possono essere eliminati (automaticamente o manualmente) fino alla scadenza di quel periodo.

  • --locked: un argomento facoltativo per bloccare il criterio di conservazione per il piano di backup.

Per l'elenco completo delle opzioni, consulta gcloud beta container backup-restore backup-plans create documentazione.

Crea un piano di backup per tutti gli spazi dei nomi con un RPO di 24 ore e una singola finestra di esclusione

Crea un file window.yaml contenente un array YAML di exclusionWindows.

exclusionWindows:
- startTime:
    hours: 1
    minutes: 0
  duration: "3600s"
  singleOccurrenceDate:
    day: 1
    month: 3
    year: 2024

Il comando seguente crea un piano di backup per tutti gli spazi dei nomi con un RPO target di 24 ore e nessun backup consentito dalle 01:00 alle 02:00 del 1° marzo 2024. I backup vengono conservati per sette giorni e bloccati per tre giorni dopo la creazione:

gcloud beta container backup-restore backup-plans create BACKUP_PLAN \
    --location=LOCATION \
    --cluster=CLUSTER \
    --all-namespaces \
    --include-secrets \
    --include-volume-data \
    --target-rpo-minutes=1440 \
    --exclusion-windows-file=window.yaml \
    --backup-retain-days=7 \
    --backup-delete-lock-days=3 \
    --locked

Crea un piano di backup per tutti gli spazi dei nomi con 2 ore di RPO e più finestre di esclusione

Crea un file window.yaml contenente un array YAML di exclusionWindows: una finestra settimanale e una singola occorrenza.

exclusionWindows:
- startTime:
    hours: 15
    minutes: 0
  duration: "5400s"
  daysOfWeek:
    daysOfWeek:
    - MONDAY
    - FRIDAY
- startTime:
    hours: 1
    minutes: 0
  duration: "3600s"
  singleOccurrenceDate:
    day: 1
    month: 3
    year: 2024

Il comando seguente crea un piano di backup per tutti gli spazi dei nomi con 2 ore RPO target e nessun backup consentito dalle 01:00 alle 02:00 del 1° marzo 2024 e alle 15:00 alle 16:30 ogni lunedì e venerdì. I backup vengono conservati per sette giorni e bloccati per tre giorni dopo la creazione:

gcloud beta container backup-restore backup-plans create BACKUP_PLAN \
    --location=LOCATION \
    --cluster=CLUSTER \
    --all-namespaces \
    --include-secrets \
    --include-volume-data \
    --target-rpo-minutes=120 \
    --exclusion-windows-file=window.yaml \
    --backup-retain-days=7 \
    --backup-delete-lock-days=3 \
    --locked

Crea un piano di backup per tutti gli spazi dei nomi con una pianificazione cron giornaliera

Il comando seguente crea un piano di backup per pianificare il backup giornaliero per tutti gli spazi dei nomi alle 05:20 di ogni giorno. I backup vengono conservati per sette giorni e bloccato per tre giorni dopo la creazione:

gcloud beta container backup-restore backup-plans create BACKUP_PLAN \
    --location=LOCATION \
    --cluster=CLUSTER \
    --all-namespaces \
    --include-secrets \
    --include-volume-data \
    --cron-schedule="20 5 * * *" \
    --backup-retain-days=7 \
    --backup-delete-lock-days=3 \
    --locked

Crea un piano di backup per uno spazio dei nomi selezionato con una pianificazione cron oraria

Il comando seguente crea un piano di backup per pianificare il backup orario per lo spazio dei nomi selezionato ( my-ns ) al minuto 15 ogni ora. I backup sono vengono conservati per tre giorni dopo la creazione:

gcloud beta container backup-restore backup-plans create BACKUP_PLAN \
    --location=LOCATION \
    --cluster=CLUSTER \
    --selected-namespaces=my-ns \
    --include-secrets \
    --include-volume-data \
    --cron-schedule="15 * * * *" \
    --backup-retain-days=3

Crea un piano di backup per un ProtectedApplication selezionato

Il comando seguente crea un piano di backup per selezionare ProtectedApplication ( my-ns/my-app ).

gcloud beta container backup-restore backup-plans create BACKUP_PLAN \
    --location=LOCATION \
    --cluster=CLUSTER \
    --selected-applications=my-ns1/my-app1,my-ns2/my-app2 \
    --include-secrets \
    --include-volume-data

Console

Segui queste istruzioni per creare un piano di backup nella console Google Cloud:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Nel menu di navigazione, fai clic su Backup per GKE.

  3. Fai clic su Crea un piano di backup.

  4. Nella sezione Dettagli piano, procedi nel seguente modo:

    1. Seleziona il cluster di cui eseguire il backup.
    2. Inserisci il nome del piano di backup e la descrizione facoltativa.
    3. Scegli una posizione per il backup.
  5. Per creare automaticamente i backup, seleziona Abilita pianificazione backup nella sezione Pianificazione backup. casella di controllo, quindi scegli uno dei seguenti metodi:

    1. Seleziona Programmazione intelligente ed effettua le seguenti operazioni:

      1. Nel campo RPO target, inserisci l'RPO per il piano di backup. e seleziona il valore RPO in Minuti, Ore o Giorni dal menu a discesa.
      2. (Facoltativo) Seleziona la casella di controllo Definisci una singola finestra di esclusione del backup ricorrente per l'esclusione del backup.
        1. Nella finestra di esclusione, scegli Giornaliera o Settimanale.
        2. Nella sezione Si ripete il giorno, seleziona i giorni della settimana da escludere dal piano di backup. Questo campo viene visualizzato solo per la finestra di esclusione settimanale.
        3. Nel campo Ora di inizio finestra, inserisci l'ora di inizio per l'esclusione del piano di backup.
        4. Nel campo Durata, inserisci la durata dell'esclusione del piano di backup e seleziona Secondi, Minuti oppure Ore dal menu a discesa.
      3. (Facoltativo) Se vuoi creare una o più finestre di esclusione del backup per occorrenza singola, seleziona la casella di controllo Definisci una o più date di esclusione backup e procedi nel seguente modo:
          .
        1. Fai clic su Aggiungi la data di esclusione.
        2. Nel campo Data e ora di inizio per la finestra di esclusione, fai clic sul e seleziona la Data e l'Ora per i backup.
        3. Nel campo Durata, inserisci la durata dell'esclusione del piano di backup e seleziona Secondi, Minuti oppure Ore dal menu a discesa.
    2. Seleziona Pianificazione Cron e inserisci un'espressione CRON utilizzando la sintassi cron standard. Ad esempio, 10 3 * * * crea un backup ogni giorno alle 03:10. L'intervallo minimo tra i backup pianificati è di 10 minuti.

  6. Nella sezione Criterio di conservazione, segui questi passaggi:

    1. Imposta il numero di giorni per cui il backup deve essere conservato prima che venga eseguito eliminati automaticamente.
    2. Imposta il numero di giorni durante il quale non è possibile eliminare i backup.
    3. Per bloccare il criterio di conservazione, fai clic sull'icona lucchetto per attivare il blocco da Off a On.
  7. Nella sezione Configura l'ambito e la crittografia del backup, segui questi passaggi:

    1. Seleziona l'ambito per il piano di backup:

      • Fai clic su Intero cluster (inclusi tutti gli spazi dei nomi) per eseguire il backup di tutti gli spazi dei nomi risorse nel backup.
      • Fai clic su Spazi dei nomi selezionati all'interno di questo cluster per scegli quelli da includere nel piano di backup.
      • Fai clic su Applicazioni protette selezionate all'interno di questo cluster per aggiungere risorse specificando lo spazio dei nomi e il nome dell'applicazione.
    2. Fai clic sulla casella di controllo Secret per includere Secret Kubernetes Google Cloud.

    3. Se vuoi, fai clic sulla casella di controllo Dati del volume permanente. i dati del volume nel backup. Se scegli di saltare i dati di volume, non puoi ripristinare i dati di volume durante il ripristino. Tuttavia, puoi scegliere tra due opzioni per scegliere i dati del volume durante il ripristino: Esegui il provisioning di nuovi volumi o Riutilizza volumi esistenti.

    4. Per abilitare la crittografia CMEK, devi prima concedere l'accesso alla CMEK appropriata (vedi Informazioni sulla crittografia CMEK).

      1. Fai clic sulla casella di controllo Utilizza una chiave di crittografia gestita dal cliente. per selezionare una chiave.
  8. Esamina i dettagli del piano di backup e fai clic su Crea piano.

Terraform

Crea una risorsa google_gke_backup_backup_plan.

resource "google_gke_backup_backup_plan" "basic" {
   name = "BACKUP_PLAN"
   cluster = google_container_cluster.CLUSTER.id
   location = "LOCATION"
   retention_policy {
     backup_retain_days = 7
   }
   backup_schedule {
     cron_schedule = "17 3 * * *"
   }
   backup_config {
     include_volume_data = true
     include_secrets = true
     all_namespaces = true
   }
}

Sostituisci quanto segue:

  • BACKUP_PLAN: il nome del piano di backup che vuoi creare.
  • CLUSTER: il nome del tuo google_container_cluster risorsa.
  • LOCATION: la regione in cui vuoi archiviare i backup.

Per ulteriori informazioni, vedi gke_backup_backup_plan.

Visualizzare un piano di backup

Visualizza un piano di backup e i relativi dettagli utilizzando gcloud CLI o nella console Google Cloud.

gcloud

Per elencare tutti i piani di backup all'interno del progetto e della regione, esegui seguente comando:

gcloud beta container backup-restore backup-plans list \
    --project=PROJECT_ID \
    --location=LOCATION

Solo per i comandi list, puoi fornire - come valore per qualsiasi parametri, tranne PROJECT_ID. Il valore - agisce come carattere jolly. Il valore - è il valore predefinito per qualsiasi parametro se non specifichi un l'opzione della riga di comando o impostare una proprietà.

Per l'elenco completo delle opzioni, consulta gcloud beta container backup-restore backup-plans list documentazione.

Per visualizzare i dettagli di un piano di backup, esegui questo comando:

gcloud beta container backup-restore backup-plans describe BACKUP_PLAN \
     --project=PROJECT_ID \
     --location=LOCATION

Per l'elenco completo delle opzioni, consulta gcloud beta container backup-restore backup-plans describe documentazione.

Console

Segui queste istruzioni per visualizzare un piano di backup nella console Google Cloud:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine.

  2. Nel menu di navigazione, fai clic su Backup per GKE.

  3. Fai clic sulla scheda Piani di backup.

  4. Espandi il cluster e fai clic sul nome del piano.

  5. Fai clic sulla scheda Dettagli per visualizzare i dettagli del piano.

Aggiorna un piano di backup

Aggiorna un piano di backup utilizzando gcloud CLI o nella console Google Cloud.

gcloud

Per aggiornare un piano di backup, ad esempio aggiungendo una nuova descrizione, esegui il seguente comando:

gcloud beta container backup-restore backup-plans update BACKUP_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION \
    --description=DESCRIPTION

Per l'elenco completo delle opzioni, consulta gcloud beta container backup-restore backup-plans update documentazione.

Console

Segui queste istruzioni per aggiornare un piano di backup nella console Google Cloud:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Nel menu di navigazione, fai clic su Backup per GKE.

  3. Fai clic sulla scheda Piani di backup.

  4. Espandi il cluster e fai clic sul nome del piano.

  5. Fai clic sulla scheda Dettagli per modificare i dettagli del piano.

  6. Fai clic su Modifica per modifica la sezione di un piano e fai clic su Salva modifiche.

Metti in pausa una pianificazione del backup

Puoi mettere in pausa la pianificazione del backup. Mentre la pianificazione è in pausa, vengono eseguiti i backup non vengono creati. Puoi comunque creare backup manualmente.

gcloud

Per mettere in pausa una pianificazione del backup, esegui questo comando:

gcloud beta container backup-restore backup-plans update BACKUP_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION \
    --paused

Per l'elenco completo delle opzioni, consulta gcloud beta container backup-restore backup-plans update documentazione.

Console

Segui queste istruzioni per mettere in pausa una pianificazione del backup nella console Google Cloud:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Nel menu di navigazione, fai clic su Backup per GKE.

  3. Fai clic sulla scheda Piani di backup.

  4. Espandi il cluster e fai clic sul nome del piano.

  5. Fai clic su Metti in pausa la pianificazione, quindi su Metti in pausa la pianificazione nella finestra di dialogo di conferma.

Eliminare un piano di backup

Puoi eliminare un piano di backup utilizzando gcloud CLI o nella console Google Cloud. Non puoi eliminare un piano di backup se contiene backup.

gcloud

Per eliminare un piano di backup, esegui questo comando:

gcloud beta container backup-restore backup-plans delete BACKUP_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION

Per l'elenco completo delle opzioni, consulta gcloud beta container backup-restore backup-plans delete documentazione.

Console

Segui queste istruzioni per eliminare un piano di backup nella console Google Cloud:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Nel menu di navigazione, fai clic su Backup per GKE.

  3. Fai clic sulla scheda Piani di backup.

  4. Espandi il cluster e fai clic sul nome del piano.

  5. Fai clic su Elimina piano.

  6. Digita il nome del piano di backup e fai clic su Elimina piano di backup nella finestra di dialogo di conferma.

Passaggi successivi