Condividi tramite


Backup e ripristino per il servizio Azure Kubernetes

Il backup e il ripristino sono una parte essenziale della strategia operativa e di ripristino di emergenza di qualsiasi organizzazione. Un piano di backup e ripristino si basa in genere su un set diversificato di tecnologie e procedure basate sull'acquisizione periodica di copie periodiche di dati e applicazioni in un dispositivo o servizio secondario separato. Se si verifica un errore di sistema, una perdita di dati o un'emergenza, queste copie vengono usate per recuperare i dati e le applicazioni e le operazioni aziendali da cui dipendono.

Questa sezione della guida operativa del servizio Azure Kubernetes (AKS) day-2 descrive le procedure di backup e ripristino per il servizio Azure Kubernetes.

Perché il backup del cluster del servizio Azure Kubernetes è importante

Man mano che le distribuzioni native del cloud e Kubernetes continuano a crescere nell'adozione, diventa sempre più essenziale per le organizzazioni includere cluster e carichi di lavoro Kubernetes in una strategia completa di backup e ripristino.

L'implementazione di backup e ripristino nel servizio Azure Kubernetes consente di:

  • Creare una copia secondaria della configurazione e dei dati dal cluster del servizio Azure Kubernetes per usarla in caso di errore irreversibile del sistema, perdita di dati o emergenza.
  • Copiare le risorse Kubernetes e i dati dell'applicazione da un cluster del servizio Azure Kubernetes a un altro.
  • Replicare il cluster del servizio Azure Kubernetes per creare altri ambienti.
  • Creare snapshot del carico di lavoro prima delle operazioni di manutenzione, ad esempio gli aggiornamenti della versione del servizio Azure Kubernetes.
  • Rispettare i requisiti di protezione dei dati per mantenere la conformità alle normative o all'organizzazione.
  • Eseguire rapidamente il rollback a una distribuzione precedente se viene rilevato un problema relativo a una distribuzione o a una modifica recente.

Anche se i backup consentono di ripristinare il carico di lavoro se si verifica un problema, non offrono disponibilità elevata.While backups help you restore your workload if an issue, they don't provide high availability (HA).

Per quanto riguarda la disponibilità elevata all'interno dell'area e il ripristino di emergenza tra aree nel servizio Azure Kubernetes, è possibile prendere in considerazione diverse altre opzioni, ad esempio:

  • Zone di disponibilità: il servizio Azure Kubernetes supporta l'uso delle zone di disponibilità, che sono data center fisicamente separati all'interno di un'area di Azure. Distribuendo cluster del servizio Azure Kubernetes in più zone di disponibilità, è possibile garantire una maggiore resilienza e tolleranza di errore all'interno di un'area. In questo modo le applicazioni rimangono operative anche se si verifica un'interruzione di un'area.
  • Opzioni di ridondanza per volumi persistenti: il servizio Azure Kubernetes offre varie opzioni di ridondanza per i volumi persistenti. Il driver CSI del disco di Azure per Kubernetes supporta classi di archiviazione predefinite e classi di archiviazione personalizzate che usano l'archiviazione con ridondanza locale o l'archiviazione con ridondanza della zona (ZRS) per migliorare la resilienza all'interno dell'area. Per altre informazioni, vedere Parametri del driver.
  • Azure Kubernetes Fleet Manager: Azure Kubernetes Fleet Manager abilita scenari multi-cluster e su larga scala all'interno dell'area e tra aree per i cluster del servizio Azure Kubernetes.
  • Opzioni di ridondanza geografica per Registro Azure Container (Registro Azure Container): Registro Azure Container (ACR) offre funzionalità di replica geografica. Con la ridondanza geografica, le immagini del contenitore vengono replicate in aree di Azure diverse. Pertanto, anche se si verifica un'interruzione di un'area specifica, le immagini sono disponibili, che offre una disponibilità più elevata per il registro contenitori.

È anche possibile usare metodologie come Infrastructure as Code (IaC), Azure Pipelines, GitOps e Flux per ridistribuire rapidamente i carichi di lavoro in caso di emergenza.

Per altre informazioni su queste metodologie, è possibile consultare questi articoli:

Elementi di cui eseguire il backup

Quando si considerano il backup e il ripristino per i cluster del servizio Azure Kubernetes in generale, è fondamentale identificare esattamente quali componenti devono essere inclusi in un backup per garantire un ripristino riuscito. Principalmente, questi componenti critici sono costituiti da:

  • Stato del cluster: fa riferimento alla configurazione o allo stato corrente e desiderato di tutti gli oggetti Kubernetes all'interno del cluster. Include vari oggetti, ad esempio distribuzioni, pod, servizi e altro ancora. Lo stato del cluster viene archiviato in un database a coppie chiave-valore etcd a disponibilità elevata, che è spesso accessibile solo dal server API, come nel caso di cluster gestiti come il servizio Azure Kubernetes. Lo stato del cluster viene definito in modo dichiarativo ed è il risultato di tutti i file di configurazione kubernetes applicati al cluster, ad esempio i manifesti YAML.

  • Dati dell'applicazione: fa riferimento ai dati creati, gestiti o accessibili dai carichi di lavoro in contenitori in esecuzione all'interno del cluster. Per garantire la persistenza dei dati tra i riavvii di pod o contenitori, Kubernetes consiglia di archiviare i dati dell'applicazione in volumi permanenti. Questi volumi possono essere creati in modo statico o dinamico e possono essere supportati da vari tipi di archiviazione persistente, offrendo flessibilità e scalabilità per i requisiti di archiviazione e gestione dei dati.

Anche se un backup completo del cluster richiederebbe che sia lo stato del cluster che i dati dell'applicazione vengano inclusi come singola unità, la determinazione dell'ambito ottimale di ogni backup dipende da vari fattori. Ad esempio, la presenza di origini alternative, ad esempio pipeline di integrazione continua e recapito continuo (CI/CD), potrebbe consentire un ripristino più semplice dello stato del cluster. Inoltre, le dimensioni dei dati dell'applicazione svolgono un ruolo nei costi di archiviazione e nel tempo necessario per le operazioni di backup e ripristino.

La strategia ideale per il backup e il ripristino dipende in modo elevato dall'applicazione e dall'ambiente specifici. Pertanto, l'ambito del backup deve essere valutato caso per caso. Deve anche considerare fattori quali l'importanza dello stato del cluster e il volume dei dati dell'applicazione.

La destinazione di altri componenti, ad esempio singoli nodi del cluster (VM) o file system locali e volumi, in genere inclusi nei piani di backup e ripristino tradizionali per i sistemi basati su server, non è rilevante in Kubernetes. Lo stato e i dati pertinenti non vengono resi persistenti in singoli nodi o file system locali allo stesso modo dei sistemi tradizionali.

Introduzione alle opzioni di backup e ripristino per il servizio Azure Kubernetes

Esistono differenze significative tra le applicazioni monolitiche tradizionali e i carichi di lavoro in esecuzione in un cluster Kubernetes, che presentano diverse sfide per il backup e il ripristino. I carichi di lavoro Kubernetes sono progettati intenzionalmente per essere altamente dinamici e distribuiti, con i dati salvati in modo permanente in volumi permanenti esterni supportati da più risorse e servizi sottostanti.

Per supportare in modo efficace gli ambienti Kubernetes, le soluzioni di backup e ripristino devono disporre di Kubernetes e di riconoscimento delle applicazioni. Dovrebbero offrire un grado di automazione, affidabilità e integrazione, che spesso non si trova negli strumenti di backup e ripristino legacy o più convenzionali.

Sono disponibili varie soluzioni di backup e ripristino native di Kubernetes, con opzioni che vanno da open a closed source e offrono modelli di licenza diversi.

Di seguito sono riportati alcuni esempi di soluzioni di backup e ripristino che è possibile usare con il servizio Azure Kubernetes. Un esempio rilevante è la soluzione proprietaria completamente gestita di Microsoft denominata backup servizio Azure Kubernetes (AKS), che fornisce un servizio integrato di Azure progettato per il backup e il ripristino di cluster del servizio Azure Kubernetes e dei relativi carichi di lavoro. Questo elenco non è esaustivo e offre solo alcune opzioni disponibili.

Backup del servizio Azure Kubernetes

Il backup del servizio Azure Kubernetes è l'offerta di Azure per il backup e il ripristino dei cluster del servizio Azure Kubernetes. Si tratta di un processo semplice nativo di Azure, che consente di eseguire il backup e il ripristino delle applicazioni e dei dati in contenitori in esecuzione nei cluster del servizio Azure Kubernetes.

Il backup del servizio Azure Kubernetes consente backup su richiesta o pianificati di uno stato completo o granulare del cluster e dei dati dell'applicazione archiviati nei volumi persistenti basati su disco di Azure. Si integra con il centro Backup di Azure per fornire una singola area nella portale di Azure che consente di gestire, monitorare, operare e analizzare i backup su larga scala.

Per una descrizione dettagliata del funzionamento del backup del servizio Azure Kubernetes e delle relative funzionalità, vedere Informazioni sul backup del servizio Azure Kubernetes con Backup di Azure.

Kasten

Kasten è un prodotto commerciale, che fornisce ai team operativi un sistema facile da usare e sicuro per il backup e il ripristino delle applicazioni Kubernetes. È disponibile in una versione gratuita con funzionalità limitate e senza supporto e una versione a pagamento che include più funzionalità e supporto tecnico.

Quando Kasten viene distribuito come operatore Kubernetes all'interno del cluster, offre una soluzione di backup completa. Offre un dashboard di gestione per il controllo centralizzato e la visibilità. Con Kasten, gli utenti possono trarre vantaggio dai backup incrementali e con riconoscimento delle applicazioni, consentendo una protezione efficiente dei dati. Kasten offre anche funzionalità di ripristino di emergenza. Queste funzionalità includono failover automatizzato e failback e funzionalità per la migrazione dei dati e garantire la sicurezza.

Per altri dettagli sul set di funzionalità di Kasten, vedere la documentazione di Kasten K10. Per informazioni su come usare in modo efficace Kasten con i cluster del servizio Azure Kubernetes, vedere Installazione di K10 in Azure.

Velero

Velero è uno strumento di backup e ripristino open source ampiamente usato per Kubernetes. Offre una versione gratuita e senza restrizioni disponibile per tutti gli utenti, con supporto e manutenzione fornita da una community di collaboratori del progetto.

Velero viene eseguito come distribuzione nel cluster e offre un set completo di funzionalità per il backup, il ripristino e la migrazione dei dati delle applicazioni. Anche se i dashboard non sono disponibili predefiniti, possono essere aggiunti tramite integrazioni esterne.

Per altre informazioni sul set di funzionalità e su come integrarlo con i cluster del servizio Azure Kubernetes, vedere la documentazione di Velero.

Installazione e configurazione del backup del servizio Azure Kubernetes

Per installare e configurare il backup del servizio Azure Kubernetes, seguire questa procedura:

  1. Vedere Prerequisiti per il backup del servizio Azure Kubernetes usando Backup di Azure per una descrizione dettagliata dei prerequisiti per l'uso del backup del servizio Azure Kubernetes con il cluster del servizio Azure Kubernetes.
  2. Esaminare la matrice di supporto per il backup del servizio Azure Kubernetes per una descrizione dettagliata della disponibilità dell'area del backup del servizio Azure Kubernetes, degli scenari supportati e delle limitazioni.
  3. Vedere Gestire i backup del servizio Azure Kubernetes usando Backup di Azure per indicazioni su come registrare i provider di risorse necessari nelle sottoscrizioni e gestire queste registrazioni.
  4. Vedere Eseguire il backup del servizio Azure Kubernetes usando Backup di Azure per istruzioni dettagliate su come configurare il backup e il ripristino per il cluster del servizio Azure Kubernetes usando il backup del servizio Azure Kubernetes. Le istruzioni includono la creazione e la configurazione di tutte le risorse di Azure necessarie, ad esempio l'insieme di credenziali di backup, i criteri di backup e le istanze di backup.
  5. Vedere Ripristinare il servizio Azure Kubernetes usando Backup di Azure per istruzioni dettagliate su come eseguire ripristini completi o a livello di elemento del cluster del servizio Azure Kubernetes da un'istanza di Backup esistente.

Frequenza di backup e conservazione nel servizio Azure Kubernetes: definizione di criteri di backup

Determinare la frequenza di backup e il periodo di conservazione è un aspetto fondamentale delle soluzioni di backup e ripristino. Questi parametri definiscono la frequenza con cui vengono eseguiti i backup e per quanto tempo vengono conservati prima dell'eliminazione. La selezione della frequenza di backup e del periodo di conservazione per un cluster del servizio Azure Kubernetes e i relativi carichi di lavoro devono essere allineati agli obiettivi predefiniti dell'obiettivo del punto di ripristino (RPO) e all'obiettivo del tempo di ripristino (RTO).

In uno scenario Kubernetes, l'RPO rappresenta la quantità massima accettabile di stato del cluster o perdita di dati che può essere tollerata. L'obiettivo RTO specifica il tempo massimo consentito tra lo stato del cluster o la perdita di dati e la ripresa delle operazioni del cluster.

La frequenza di backup e il periodo di conservazione scelti sono un compromesso tra gli obiettivi RPO/RTO desiderati, i costi di archiviazione e il sovraccarico di gestione dei backup. Ciò significa che non esiste una configurazione unica per tutti i cluster e i carichi di lavoro del servizio Azure Kubernetes e la configurazione ottimale per ogni cluster o carico di lavoro deve essere invece definita caso per caso per soddisfare i requisiti dell'azienda, seguendo attentamente la pianificazione e la considerazione. I fattori rilevanti da considerare quando si definisce la frequenza di backup e il periodo di conservazione di un cluster del servizio Azure Kubernetes includono:

  • Criticità: livello di criticità associato al cluster e ai dati dell'applicazione del carico di lavoro in termini di continuità aziendale.
  • Criteri di accesso e frequenza di modifica: quantità di dati e stato del cluster aggiunti, modificati ed eliminati in un determinato periodo di tempo.
  • Volume di dati: volume di dati che influiscono sui costi di archiviazione e sul tempo necessario per completare le operazioni di backup e ripristino.
  • Conformità: i requisiti per la conservazione dei dati e la sovranità dei dati in base alle regole di conformità interne e alle normative del settore.

Nel servizio Backup del servizio Azure Kubernetes la frequenza di backup e il periodo di conservazione vengono archiviati come risorsa dei criteri di backup, che si applica sia allo stato del cluster che ai dati dell'applicazione dai volumi permanenti.

I criteri di backup nel backup del servizio Azure Kubernetes supportano backup giornalieri e orari, con periodi di conservazione fino a 360 giorni, mentre più criteri possono essere definiti e applicati allo stesso cluster.

Per altre informazioni su come configurare i criteri di backup nel backup del servizio Azure Kubernetes, vedere Creare criteri di backup .

Altre considerazioni sul backup

Per assicurarsi che la soluzione di backup e ripristino soddisfi i requisiti e i criteri dell'organizzazione, considerare i punti seguenti:

  • Obiettivo del punto di ripristino (RPO) e obiettivo del tempo di ripristino (RTO): determinare se sono presenti destinazioni RPO e RTO specifiche che devono essere soddisfatte per i backup e le operazioni di ripristino.
  • Volumi permanenti (PVS): verificare se si usano volumi permanenti e assicurarsi che la soluzione di backup del servizio Azure Kubernetes supporti i tipi PV. Per informazioni dettagliate sulla compatibilità, vedere la matrice di supporto del backup del servizio Azure Kubernetes.
  • Ambito di backup: definire gli elementi di cui eseguire il backup, ad esempio spazi dei nomi specifici, tipi di risorse o dati specifici all'interno del cluster. Per altre informazioni, vedere Configurare un processo di backup.
  • Frequenza e conservazione dei backup: determinare la frequenza con cui è necessario eseguire i backup e la durata per cui è necessario conservarli. Questa impostazione può essere configurata usando i criteri di backup. Per altre informazioni, vedere Definizione di un criterio di backup.
  • Selezione del cluster: decidere se è necessario eseguire il backup di tutti i cluster o solo di cluster di produzione specifici in base alle esigenze.
  • Procedura di ripristino dei test: eseguire ripristini di test periodici per convalidare l'affidabilità e l'usabilità della strategia di backup. Questo passaggio è fondamentale per garantire l'efficacia della soluzione di backup e ripristino. Per altre informazioni, vedere Ripristino di un cluster del servizio Azure Kubernetes.
  • Scenari supportati: verificare che la soluzione di backup del servizio Azure Kubernetes supporti lo scenario specifico. Per informazioni sulla compatibilità, vedere la matrice di supporto del backup del servizio Azure Kubernetes.
  • Allocazioni di budget: valutare se sono presenti allocazioni di budget specifiche per le operazioni di backup e ripristino. Esaminare le informazioni sui prezzi fornite dalla soluzione di backup del servizio Azure Kubernetes per allinearsi ai requisiti di budget.

Tenendo conto di queste altre considerazioni, è possibile assicurarsi che la soluzione di backup e ripristino per il servizio Azure Kubernetes soddisfi le esigenze e le preferenze dell'organizzazione in modo efficiente ed efficace.

Percorso di backup del servizio Azure Kubernetes e Archiviazione

Il backup del servizio Azure Kubernetes usa un insieme di credenziali di backup e un account di archiviazione per archiviare i diversi tipi di dati acquisiti da un cluster durante un backup.

Per i volumi persistenti basati su disco, il backup del servizio Azure Kubernetes usa snapshot incrementali del disco di Azure sottostante, archiviati nella sottoscrizione di Azure.

Un insieme di credenziali di backup è un'entità di archiviazione sicura in Azure, usata per archiviare i dati di backup per i carichi di lavoro supportati da Backup di Azure, ad esempio i cluster del servizio Azure Kubernetes. L'insieme di credenziali di backup contiene sia i criteri di backup che i backup e i punti di ripristino creati dai processi di backup.

Azure gestisce automaticamente l'archiviazione per un insieme di credenziali di backup. È possibile scegliere tra diverse opzioni di ridondanza per i dati archiviati al suo interno, che possono essere configurati al momento della creazione dell'insieme di credenziali di backup.

Un account di archiviazione è un'area di archiviazione per gli oggetti dati in Azure ed è altamente configurabile. Offre più opzioni di ridondanza all'interno dell'area e tra aree per garantire la durabilità dei dati. Il backup del servizio Azure Kubernetes usa un contenitore BLOB all'interno di un account di archiviazione designato per eseguire i backup di alcuni componenti del cluster del servizio Azure Kubernetes.

Gli snapshot incrementali sono backup temporizzato per i dischi gestiti che, quando eseguiti, sono costituiti solo dalle modifiche apportate dall'ultimo snapshot. Il primo snapshot incrementale è una copia completa del disco. Gli snapshot incrementali successivi acquisisce solo le modifiche differenziali ai dischi dall'ultimo snapshot.

Uso del backup del servizio Azure Kubernetes per eseguire la migrazione dei carichi di lavoro tra cluster del servizio Azure Kubernetes

È possibile usare il backup del servizio Azure Kubernetes come meccanismo per il backup e il ripristino per cluster specifici. Il backup del servizio Azure Kubernetes supporta anche gli scenari di migrazione consentendo di eseguire un backup da un cluster e ripristinarlo in un altro cluster, ad esempio:

  • Ripristino di un cluster di sviluppo in un cluster di staging
  • Replica del contenuto in più cluster

Per assicurarsi che lo scenario sia supportato, consultare la documentazione seguente:

Collaboratori

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.

Autore principale:

Altri contributori:

Passaggi successivi

Altre informazioni sul backup del servizio Azure Kubernetes

Opzioni di backup e ripristino del servizio Azure Kubernetes di terze parti