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.DataProtection
e ilTrustedAccessPreview
flag di funzionalità inMicrosoft.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:
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.
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.
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:
Passare a Centro backup e selezionare Criteri per creare un nuovo criterio di backup.
In alternativa, passare a Centro Backup>Criteri di backup>Aggiungi.
Per Tipo di origine dati, selezionare Servizio Kubernetes e continuare.
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.
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.
Impostazione di conservazione: un nuovo criterio di backup ha due regole 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).
È 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.
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.
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:
Nel portale di Azure passare al cluster del servizio Azure Kubernetes di cui si vuole eseguire il backup.
Nel menu delle risorse selezionare Backup e quindi selezionare Configura 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.
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.
Selezionare l'insieme di credenziali di backup.
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.
Nota
- Prima di abilitare l'accesso attendibile, abilitare il flag di funzionalità
TrustedAccessPreview
per il provider di risorseMicrosoft.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.
- Prima di abilitare l'accesso attendibile, abilitare il flag di funzionalità
Selezionare i criteri di backup che definiscono la pianificazione per i backup e il relativo periodo di conservazione. Quindi seleziona Avanti.
Nella scheda Origini dati selezionare Aggiungi/Modifica per definire la configurazione dell'istanza di backup.
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.
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.
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 l'origine dati e quindi selezionare Assegna ruoli mancanti.
Lo screenshot seguente mostra l'elenco dei ruoli che è possibile selezionare:
Al termine dell'assegnazione di ruolo, selezionare Avanti.
Selezionare Configura backup.
Al termine della configurazione, selezionare Avanti.
L'istanza di backup viene creata al termine della configurazione del 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 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.
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 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. Per impostazione predefinita, le risorse con ambito cluster e i volumi permanenti sono abilitati
Nota
Tutte queste impostazioni delle risorse vengono combinate e applicate tramite logica di
AND
.- 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
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 il backup per il cluster del servizio Azure Kubernetes.