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.
Prerequisiti
Aspetti da assicurarsi prima di configurare il backup per il cluster del servizio Azure Kubernetes:
- 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 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 backup per configurare le operazioni di backup e ripristino per un cluster del servizio Azure Kubernetes. Altre informazioni sull'estensione Backup.
- Assicurarsi di disporre di
Microsoft.KubernetesConfiguration
,Microsoft.DataProtection
eMicrosoft.ContainerService
registrati per la sottoscrizione prima di avviare le operazioni di configurazione e ripristino del backup. - Assicurarsi di completare 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 trovano 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, è possibile abilitare il ripristino tra aree. Per abilitare il ripristino tra aree, è necessario:
Impostare il parametro Ridondanza archiviazione di backup come con ridondanza geografica durante la creazione dell'insieme di credenziali. Dopo aver impostato la ridondanza per un insieme di credenziali, non è possibile disabilitarla.
Impostare il parametro Ripristino tra aree in Proprietà insieme di credenziali su Abilitato. Dopo aver abilitato questo parametro, non è possibile disabilitarlo.
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.
Creare un criterio di backup
Prima di configurare i backup, è necessario creare criteri di backup che definiscono la frequenza dei backup e la durata di conservazione dei backup.
Per creare un criterio di backup:
Passare all'insieme di credenziali di backup creato e selezionare Gestisci>criteri>di backup Aggiungi.
Immettere un nome per i criteri di backup.
Per Tipo di origine dati selezionare Servizi Kubernetes.
Nella scheda Pianificazione e conservazione definire la pianificazione del backup.
- Frequenza di backup: selezionare la frequenza di backup (oraria o giornaliera) e quindi scegliere la durata di conservazione per i backup.
- Impostazione conservazione: per impostazione predefinita è definita la regola predefinita per un nuovo criterio di backup. È possibile modificare questa regola e non eliminarla. La regola predefinita definisce la durata di conservazione per tutti i backup del livello operativo eseguiti. È anche possibile creare regole di conservazione aggiuntive per archiviare i backup per una durata più lunga che vengono eseguiti ogni giorno o settimana.
È anche possibile creare regole di conservazione aggiuntive per archiviare i backup per una durata più lunga che vengono eseguite ogni giorno o ogni settimana.
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.
- È possibile copiare i backup nell'area secondaria (area abbinata di Azure) archiviata nel livello insieme di credenziali, che è possibile usare per ripristinare i cluster del servizio Azure Kubernetes in un'area secondaria quando l'area primaria non è disponibile. Per scegliere questa funzionalità, usare un Insieme di credenziali con ridondanza geografica con il Ripristino tra aree abilitato.
Quando sono configurate le impostazioni di frequenza di backup e conservazione, selezionare Avanti.
Nella scheda Rivedi e crea esaminare le informazioni e quindi selezionare Crea.
Installare l'estensione backup e configurare il 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.
Installare l'estensione backup
Per configurare i backup per un cluster del servizio Azure Kubernetes:
Nel portale di Azure passare al cluster del servizio Azure Kubernetes di cui si vuole eseguire il backup.
Nel menu del servizio, in Impostazioni, selezionare Backup.
Per preparare il cluster del servizio Azure Kubernetes per il backup o il ripristino, selezionare Installa estensione per installare l'estensione backup nel cluster.
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. Esaminare i dettagli di installazione dell'estensione e selezionare Crea.
Viene avviata l'installazione dell'estensione.
Configurare il backup
Quando l'estensione backup è installata correttamente, selezionare Configura backup.
Selezionare l'insieme di credenziali di backup creato in precedenza. 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.
Nella scheda Criteri di backup selezionare i criteri di backup, che definiscono la pianificazione per i backup e il relativo periodo di conservazione, quindi selezionare Avanti.
Nella scheda Origini dati selezionare Aggiungi/Modifica per definire la configurazione dell'istanza di backup.
Nel riquadro Seleziona risorse da eseguire il backup definire le risorse del cluster di cui si vuole eseguire il backup.
Altre informazioni sulle configurazioni di backup.
Per Gruppo di risorse snapshot selezionare il gruppo di risorse da usare per archiviare gli snapshot del volume permanente (Archiviazione dischi di Azure) e quindi selezionare Convalida.
Al termine della convalida, se i ruoli obbligatori non vengono assegnati all'insieme di credenziali nel gruppo di risorse snapshot, viene visualizzato un errore:
Per risolvere l'errore, in Nome origine dati selezionare la casella di controllo per l'origine dati e quindi selezionare Assegna ruoli mancanti.
Al termine dell'assegnazione di ruolo, selezionare Avanti>Configura 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:
Selezionare Seleziona spazi dei nomi di cui eseguire il backup. È possibile selezionare Tutti per eseguire il backup di tutti gli spazi dei nomi esistenti e futuri nel cluster oppure selezionare spazi dei nomi specifici per il backup.
Gli spazi dei nomi seguenti vengono ignorati dalle configurazioni di backup:
kube-system
,kube-node-lease
ekube-public
.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. È possibile combinare più etichette usando la
AND
logica. Ad esempio, se si immettono le etichetteenv=prod;tier!=web
, il processo seleziona le risorse con un'etichetta con la chiaveenv
e il valoreprod
e un'etichetta con la chiavetier
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. Le risorse con ambito cluster e i volumi permanenti sono abilitati per impostazione predefinita.
- 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. È possibile combinare più etichette usando la
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.
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:
- Il pod che esegue MySQL è bloccato in modo che non venga eseguita alcuna nuova transazione nel database.
- Viene creato uno snapshot come backup del volume.
- 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:
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
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
Al termine della distribuzione, è possibile configurare i 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.