Condividi tramite


Eseguire il backup di servizio Azure Kubernetes usando Backup di Azure

Questo articolo descrive come configurare ed eseguire il backup del servizio Azure Kubernetes.

Backup di Azure consente ora di eseguire il backup dei cluster del servizio Azure Kubernetes (risorse cluster e volumi permanenti collegati al cluster) usando un'estensione di backup, che deve essere installata nel cluster. L'insieme di credenziali di Backup comunica con il cluster del servizio Azure Kubernetes tramite l'estensione Backup per eseguire operazioni di backup e ripristino.

Nota

Le funzionalità di backup archiviato nell'insieme di credenziali e il ripristino tra aree per il servizio Azure Kubernetes con Backup di Azure sono attualmente in anteprima.

Prima di iniziare

  • Attualmente, il backup del servizio Azure Kubernetes supporta solo i volumi persistenti basati su Archiviazione dischi di Azure (abilitati dal driver CSI). I backup vengono archiviati solo in un archivio dati operativo (i dati di backup vengono archiviati nel tenant e non vengono spostati in un insieme di credenziali). L'insieme di credenziali di backup e il cluster del servizio Azure Kubernetes devono trovarsi nella stessa area.

  • Il backup del servizio Azure Kubernetes usa un contenitore BLOB e un gruppo di risorse per archiviare i backup. Il contenitore BLOB include le risorse del cluster del servizio Azure Kubernetes. Gli snapshot del volume permanente vengono archiviati nel gruppo di risorse. Il cluster del servizio Azure Kubernetes e le posizioni di archiviazione devono trovarsi nella stessa area. Informazioni su come creare un contenitore BLOB.

  • Attualmente, il backup del servizio Azure Kubernetes supporta il backup una volta al giorno. Supporta anche backup più frequenti (in intervalli di 4 ore, 8 ore e 12 ore) al giorno. Questa soluzione consente di conservare i dati per il ripristino per un periodo massimo di 360 giorni. Informazioni su come creare un criterio di backup.

  • È necessario installare l'estensione di backup per configurare le operazioni di backup e ripristino in un cluster del servizio Azure Kubernetes. Altre informazioni sull'estensione Backup.

  • Accertarsi che Microsoft.KubernetesConfiguration, Microsoft.DataProtectione il TrustedAccessPreview flag di funzionalità in Microsoft.ContainerService siano registrati per la sottoscrizione prima di avviare le operazioni di configurazione e ripristino del backup.

  • Assicurarsi di eseguire tutti i prerequisiti prima di avviare un'operazione di backup o ripristino per il backup del servizio Azure Kubernetes.

Per altre informazioni su scenari, limitazioni e disponibilità supportati, vedere la matrice di supporto.

Creare un insieme di credenziali per il backup

Un insieme di credenziali di Backup è un'entità di gestione che archivia i punti di ripristino creati nel tempo. Un insieme di credenziali di backup fornisce anche un'interfaccia per eseguire le operazioni di backup. Le operazioni includono l'esecuzione di backup su richiesta, l'esecuzione di ripristini e la creazione di criteri di backup. Il backup del servizio Azure Kubernetes richiede che l'insieme di credenziali di backup e il cluster del servizio Azure Kubernetes si trovino nella stessa area. Informazioni su come creare un insieme di credenziali di backup.

Nota

Un insieme di credenziali di Backup è una nuova risorsa usata per eseguire il backup di nuove origini dati supportate. Un insieme di credenziali di backup è diverso da un insieme di credenziali di Servizi di ripristino.

Se si vuole usare Backup di Azure per proteggere i cluster del servizio Azure Kubernetes da eventuali interruzioni a livello di area:

  1. Impostare il parametro Ridondanza dell'archiviazione di backup su Con ridondanza globale durante la creazione dell'insieme di credenziali. Dopo aver impostato la ridondanza per un insieme di credenziali, non è possibile disabilitarla.

    Screenshot che mostra come abilitare il parametro Ridondanza dell'archivio di backup.

  2. Impostare il parametro Ripristino tra aree in Proprietà insieme di credenziali su Abilitato. Dopo aver abilitato questo parametro, non è possibile disabilitarlo.

    Screenshot che mostra come abilitare il parametro Ripristino tra aree.

  3. Creare un'istanza di backup usando un criterio di backup con durata di conservazione impostata per l'archivio dati standard dell'insieme di credenziali. Ogni punto di ripristino inserito in questo archivio dati si troverà nell'area secondaria.

    Nota

    L'archivio dati standard dell'insieme di credenziali è attualmente in anteprima.

Creare un criterio di backup

Prima di configurare i backup, è necessario creare criteri di backup che definiscono la frequenza dei backup e la loro durata di conservazione.

È anche possibile creare criteri di backup quando si configura il backup stesso.

Per creare un criterio di backup:

  1. Passare a Centro backup e selezionare Criteri per creare un nuovo criterio di backup.

    Screenshot che mostra come iniziare a creare un criterio di backup.

    In alternativa, passare a Centro Backup>Criteri di backup>Aggiungi.

  2. Per Tipo di origine dati, selezionare Servizio Kubernetes e continuare.

    Screenshot che mostra la selezione del tipo di origine dati.

  3. Immettere un nome per i criteri di backup (ad esempio Criterio predefinito) e selezionare l'insieme di credenziali di backup (il nuovo insieme di credenziali di backup creato) in cui devono essere creati i criteri di backup.

    Screenshot che mostra l'impostazione del nome del criterio di backup.

  4. Nella scheda Pianificazione e conservazione definire la frequenza dei backup e per quanto tempo devono essere conservati nel livello operativo e dell'insieme di credenziali (detto anche archivio dati).

    Frequenza di backup: selezionare la frequenza di backup (oraria o giornaliera) e quindi scegliere la durata di conservazione per i backup.

    Screenshot che mostra la selezione della frequenza di backup.

    Impostazione di conservazione: un nuovo criterio di backup ha due regole di conservazione.

    Screenshot che mostra la selezione del periodo di conservazione.

    È anche possibile creare regole di conservazione aggiuntive per archiviare i backup per una durata più lunga che vengono eseguiti ogni giorno o settimana.

    • Predefinita: questa regola definisce la durata di conservazione predefinita per tutti i backup del livello operativo eseguiti. È possibile modificare questa regola ma non eliminarla.

    • Primo backup eseguito ogni giorno: oltre alla regola predefinita, ogni primo backup riuscito del giorno può essere conservato nell'archivio dati operativo e nell'archivio standard dell'insieme di credenziali. È possibile modificare ed eliminare questa regola (se si desidera conservare i backup nell'archivio dati operativo).

      Screenshot che mostra la configurazione di conservazione per il livello dell'insieme di credenziali e il livello operativo.

    È anche possibile definire regole simili per il Primo backup eseguito correttamente ogni settimana, mese e anno.

    Nota

    • Oltre al primo backup corretto del giorno, è possibile definire le regole di conservazione per il primo backup riuscito della settimana, del mese e dell'anno. In termini di priorità, l'ordine è anno, mese, settimana e giorno.
    • L'archivio dati standard dell'insieme di credenziali è attualmente in anteprima. Se non si vuole usare la funzionalità, modificare la regola di conservazione e deselezionare la casella di controllo accanto all'archivio dati standard dell'insieme di credenziali.
    • I backup archiviati nel livello insieme di credenziali possono anche essere copiati nell'area secondaria (area abbinata di Azure) che è possibile usare per ripristinare i cluster del servizio Azure Kubernetes in un'area secondaria quando quella primaria non è disponibile. Per scegliere questa funzionalità, usare un Insieme di credenziali con ridondanza geografica con il Ripristino tra aree abilitato.
  5. Quando sono configurate le impostazioni di frequenza di backup e conservazione, selezionare Avanti.

    Screenshot che mostra il completamento della creazione di criteri di backup.

  6. Nella scheda Rivedi e crea esaminare le informazioni e quindi selezionare Crea.

Configurare i backup

È possibile usare il backup del servizio Azure Kubernetes per eseguire il backup di un intero cluster o di risorse cluster specifiche distribuite nel cluster. È anche possibile proteggere un cluster più volte in base alla pianificazione e ai requisiti di conservazione dell'applicazione distribuita o ai requisiti di sicurezza.

Nota

Per configurare più istanze di backup per lo stesso cluster del servizio Azure Kubernetes:

  • Configurare il backup nello stesso insieme di credenziali di backup, ma usando criteri di backup diversi.
  • Configurare il backup in un insieme di credenziali di backup diverso.

Per configurare i backup per il cluster del servizio Azure Kubernetes:

  1. Nel portale di Azure passare al cluster del servizio Azure Kubernetes di cui si vuole eseguire il backup.

  2. Nel menu delle risorse selezionare Backup e quindi selezionare Configura backup.

  3. Per preparare il cluster del servizio Azure Kubernetes per il backup o il ripristino, selezionare Installa estensione per installare l'estensione backup nel cluster.

  4. Fornire un account di archiviazione e un contenitore BLOB come input.

    I backup del cluster del servizio Azure Kubernetes vengono archiviati in questo contenitore BLOB. L'account di archiviazione deve trovarsi nella stessa area e sottoscrizione del cluster.

    Selezionare Avanti.

    Screenshot che mostra come aggiungere i dettagli di archiviazione e BLOB per il backup.

  5. Esaminare i dettagli di installazione dell'estensione e selezionare Crea.

    Viene avviata l'installazione dell'estensione.

    Screenshot che mostra come esaminare e installare l'estensione Backup.

  6. Quando l'estensione backup è installata correttamente, selezionare Configura backup per iniziare a configurare i backup per il cluster del servizio Azure Kubernetes.

    È anche possibile eseguire questa azione nel Centro backup.

    Screenshot che mostra la selezione di Configura backup.

  7. Selezionare l'insieme di credenziali di backup.

    Screenshot che mostra come scegliere un insieme di credenziali.

    Per eseguire il backup del cluster del servizio Azure Kubernetes, è necessario che l'insieme di credenziali di backup disponga dell'accesso attendibile abilitato. Per abilitare l'accesso attendibile, selezionare Concedi autorizzazione. Se è già abilitata, selezionare Avanti.

    Screenshot che mostra come procedere con il passaggio successivo dopo la concessione dell'autorizzazione.

    Nota

    • Prima di abilitare l'accesso attendibile, abilitare il flag di funzionalità TrustedAccessPreview per il provider di risorse Microsoft.ContainerServices nella sottoscrizione.
    • Se nel cluster del servizio Azure Kubernetes non è installata l'estensione di backup, è possibile eseguire il passaggio di installazione che configura il backup.
  8. Selezionare i criteri di backup che definiscono la pianificazione per i backup e il relativo periodo di conservazione. Quindi seleziona Avanti.

    Screenshot che mostra come scegliere un criterio di backup.

  9. Nella scheda Origini dati selezionare Aggiungi/Modifica per definire la configurazione dell'istanza di backup.

    Screenshot che mostra come definire la configurazione dell'istanza di backup.

  10. Nel riquadro Selezionare risorse di cui eseguire il backup definire le risorse del cluster di cui si vuole eseguire il backup.

    Altre informazioni sulle configurazioni di backup.

    Screenshot che mostra come definire le risorse del cluster per il backup.

  11. Per Gruppo di risorse snapshot, selezionare il gruppo di risorse da usare per archiviare gli snapshot del volume permanente (Archiviazione dischi di Azure). Quindi selezionare Convalida.

    Screenshot che mostra come convalidare il gruppo di risorse snapshot.

  12. Al termine della convalida, se i ruoli obbligatori non vengono assegnati all'insieme di credenziali nel gruppo di risorse snapshot, viene visualizzato un errore:

    Screenshot che mostra un errore di convalida quando non sono assegnate le autorizzazioni necessarie.

  13. Per risolvere l'errore, in Nome origine dati selezionare l'origine dati e quindi selezionare Assegna ruoli mancanti.

    Screenshot che mostra come iniziare ad assegnare i ruoli.

    Lo screenshot seguente mostra l'elenco dei ruoli che è possibile selezionare:

    Screenshot che mostra come selezionare i ruoli mancanti.

  14. Al termine dell'assegnazione di ruolo, selezionare Avanti.

    Screenshot che mostra come procedere con la configurazione di backup.

  15. Selezionare Configura backup.

  16. Al termine della configurazione, selezionare Avanti.

    Screenshot che mostra come completare la configurazione del backup.

    L'istanza di backup viene creata al termine della configurazione del backup.

    Screenshot che mostra l'elenco delle istanze di backup create.

    Screenshot che mostra i dettagli dell'istanza di backup.

Configurazioni di backup

Backup di Azure per il servizio Azure Kubernetes consente di definire il limite dell'applicazione all'interno del cluster del servizio Azure Kubernetes di cui si vuole eseguire il backup. È possibile usare i filtri disponibili nelle configurazioni di backup per scegliere le risorse di cui eseguire il backup e anche per eseguire hook personalizzati. La configurazione di backup definita fa riferimento al valore per Nome dell'istanza di backup. I filtri seguenti sono disponibili per definire il limite dell'applicazione:

  1. Selezionare spazi dei nomi per il backup, è possibile selezionare Tutti per eseguire il backup di tutti gli spazi dei nomi esistenti e futuri nel cluster oppure selezionare Scegli dall'elenco per selezionare spazi dei nomi specifici per il backup.

    Screenshot che mostra come selezionare gli spazi dei nomi da includere nel backup.

  2. Espandere Impostazioni risorse aggiuntive per visualizzare i filtri che è possibile usare per scegliere le risorse del cluster di cui eseguire il backup. È possibile scegliere di eseguire il backup delle risorse in base alle categorie seguenti:

    • Etichette: è possibile filtrare le risorse del servizio Azure Kubernetes usando etichette assegnate ai tipi di risorse. Immettere le etichette sotto forma di coppie chiave/valore. Combinare più etichette usando la logica AND.

    Ad esempio, se si immettono le etichette env=prod;tier!=web, il processo seleziona le risorse con un'etichetta con la chiave env e il valore prod e un'etichetta con la chiave tier per cui il valore non è web.

    • Gruppi di API: è anche possibile includere risorse fornendo il gruppo e il tipo di API del servizio Azure Kubernetes. Ad esempio, è possibile scegliere per le risorse del servizio Azure Kubernetes di backup, ad esempio Distribuzioni. È possibile accedere all'elenco dei gruppi di API definiti da Kubernetes qui.

    • Altre opzioni: è possibile abilitare o disabilitare il backup per risorse con ambito cluster, volumi persistenti e segreti. Per impostazione predefinita, le risorse con ambito cluster e i volumi permanenti sono abilitati

    Screenshot che mostra il riquadro Impostazioni risorse aggiuntive.

    Nota

    Tutte queste impostazioni delle risorse vengono combinate e applicate tramite logica di AND.

Nota

È necessario aggiungere le etichette a ogni singolo file YAML distribuito e di cui eseguire il backup. Sono incluse risorse con ambito spazio dei nomi come attestazioni di volume persistente e risorse con ambito cluster come volumi persistenti.

Screenshot che mostra varie configurazioni di backup.

Usare hook durante il backup del servizio Azure Kubernetes

Questa sezione descrive come usare un hook di backup per creare uno snapshot coerente con l'applicazione del cluster del servizio Azure Kubernetes con MySQL distribuito (un volume permanente che contiene l'istanza di MySQL).

È possibile usare hook personalizzati nel backup del servizio Azure Kubernetes per eseguire snapshot coerenti con l'applicazione dei volumi. I volumi vengono usati per i database distribuiti come carichi di lavoro in contenitori.

Usando un hook di backup, è possibile definire i comandi per bloccare e sbloccare un pod MySQL in modo che sia possibile acquisire uno snapshot dell'applicazione del volume. L'estensione Backup orchestra quindi i passaggi dell'esecuzione dei comandi negli hook e acquisisce lo snapshot del volume.

Uno snapshot coerente con l'applicazione di un volume con MySQL distribuito viene eseguito con le azioni seguenti:

  1. Il pod che esegue MySQL è bloccato in modo che non venga eseguita alcuna nuova transazione nel database.
  2. Viene creato uno snapshot come backup del volume.
  3. Il pod che esegue MySQL viene sbloccato in modo che le transazioni possano essere eseguite di nuovo nel database.

Per abilitare un hook di backup come parte del flusso di configurazione del backup per eseguire il backup di MySQL:

  1. Scrivere la risorsa personalizzata per l'hook di backup con i comandi per bloccare e sbloccare un pod PostgreSQL.

    È anche possibile usare lo script YAML di esempio seguente postgresbackuphook.yaml, con comandi predefiniti:

    apiVersion: clusterbackup.dataprotection.microsoft.com/v1alpha1
    kind: BackupHook
    metadata:
    # BackupHook CR Name and Namespace
    name: bkphookname0
    namespace: default
    spec:
    # BackupHook Name. This is the name of the hook that will be executed during backup.
    # compulsory
    name: hook1
    # Namespaces where this hook will be executed.
    includedNamespaces: 
    - hrweb
    excludedNamespaces:
    labelSelector:
    # PreHooks is a list of BackupResourceHooks to execute prior to backing up an item.
    preHooks:
       - exec:
          command:
          - /sbin/fsfreeze
          - --freeze
          - /var/lib/postgresql/data
          container: webcontainer
          onError: Continue
    # PostHooks is a list of BackupResourceHooks to execute after backing up an item.
    postHooks:
       - exec:
          container: webcontainer
          command:
             - /sbin/fsfreeze
             - --unfreeze
          onError: Fail
          timeout: 10s
    
    
    
  2. Prima di configurare un backup, è necessario distribuire la risorsa personalizzata hook di backup nel cluster del servizio Azure Kubernetes.

    Per distribuire lo script, eseguire il comando seguente:

    kubectl apply -f mysqlbackuphook.yaml
    
    
  3. Al termine della distribuzione, è possibile configurare il backup per il cluster del servizio Azure Kubernetes.

    Nota

    Come parte di una configurazione di backup, è necessario specificare il nome della risorsa personalizzata e lo spazio dei nomi in cui la risorsa viene distribuita come input.

    Screenshot che mostra come aggiungere lo spazio dei nomi per la configurazione di backup.

Passaggi successivi