Come fare il backup di Kubernetes? Backup e ripristino di Kubernetes.

La prima soluzione di backup e ripristino Kubernetes di livello enterprise al mondo

Bacula Enterprise è la prima soluzione di backup e ripristino di livello aziendale al mondo ad offrire un backup Kubernetes avanzato e automatizzato con supporto dei cluster. Il suo modulo di backup e ripristino Kubernetes rende l’orchestrazione dei container più distribuibile che mai. Questo modulo di backup include volumi persistenti e offre un’ampia gamma di possibilità di architettura.

Il backup automatizzato di Kubernetes è il secondo passo compiuto da Bacula negli ultimi mesi verso la piena integrazione dell’orchestrazione. È disponibile nella maggior parte dei livelli di abbonamento di Bacula Enterprise senza costi aggiuntivi per un periodo di tempo limitato. Bacula Enterprise è inoltre pienamente compatibile con gli ambienti Tanzu e Rancher.

Casi d’uso del backup di Kubernetes

Chi utilizza Kubernetes in produzione ha bisogno di una vera e propria strategia per il ripristino e l’aggiornamento dei cluster. Nel caso in cui un cluster vada in uno stato irrecuperabile, è necessario un backup del file di configurazione e dei suoi volumi persistenti per tornare allo stato stabile precedente del cluster Kubernetes.

I backup a livello di cluster Kubernetes offrono ai team DevOps gli strumenti per eseguire il backup e il ripristino di interi cluster Kubernetes (in modo automatico) e ripristinarli con un’unica azione a uno stato buono conosciuto per ridurre al minimo l’interruzione della produzione. Bacula Systems afferma che la velocità e l’efficienza dei ripristini devono sempre essere considerate, anche in un ambiente containerizzato altamente automatizzato e resiliente.

Nel complesso, la soluzione unica di Bacula Enterprise per il backup e il ripristino di Kubernetes salvaguarda i dati critici e consente agli sviluppatori di essere più produttivi. Aiuta a semplificare il flusso di lavoro di un ambiente DevOps fino alla distribuzione di sistemi mission-critical. Tuttavia, ci sono quattro ragioni principali per cui un reparto IT potrà trarre vantaggio dalla presenza del meccanismo di backup e ripristino di Bacula Enterprise per il cluster Kubernetes implementato.

Questi sono:

  • Come parte di una soluzione che aiuta a recuperare dai disastri in caso di guasto catastrofico del cluster
  • Per aiutare a replicare un ambiente
  • Per favorire la migrazione di cluster Kubernetes
  • Per disporre di uno strumento di recupero indipendente che offra sicurezza aggiuntiva e separazione dei compiti dagli strumenti di automazione del cluster e dal repository di codice

Le sfide del backup di Kubernetes

Poiché i dati stessi nelle applicazioni cloud-native possono essere classificati come effimeri e funzionano con un insieme di contenitori, è necessaria una gestione. Il sistema di gestione più popolare oggi è Kubernetes (K8s). Il nucleo di questo sistema di gestione si chiama etcd, e memorizza tutte le informazioni sullo stato attuale di Kubernetes e le informazioni sulla configurazione dei cluster di container, il che significa che qualsiasi cambiamento all’interno del sistema che è Kubernetes si riflette in quella parte di etcd.

La prima sfida del backup di Kubernetes – dal momento che i nodi stessi sono monouso e in genere durano solo circa un giorno, sarebbe facile ripristinarli nel caso in cui un disastro li cancelli. Il problema è che i nodi ripristinati non avrebbero alcun tipo di dati precedenti e dovrebbero ottenerli da etcd – che dovrebbe essere sottoposto a backup frequente ed efficiente affinché l’intero sistema possa funzionare correttamente dopo un evento, poiché etcd stesso può essere paragonato al sistema neurale dell’intero sistema di sviluppo, contenente la conoscenza dell’infrastruttura in generale e la collocazione dei volumi persistenti che contengono dati che potrebbero dover essere archiviati da qualche parte.

La seconda sfida del backup di Kubernetes è legata alla migrazione da un servizio cloud a un altro, che richiede che il sistema di backup sia granulare, poiché è probabile che alcune cose nella struttura cloud-native precedente di un utente debbano cambiare se il nuovo servizio cloud ha una struttura diversa. In questo caso, potrebbe non essere necessario ripristinare la totalità di etcd, o ripristinare l’intero ambiente Kubernetes – è qui che entra in gioco la necessità di essere granulare. Un’altra necessità di un lavoro granulare può sorgere se una parte del sistema viene danneggiata durante il processo di migrazione o per qualsiasi altro motivo – è molto probabile che abbia bisogno di ripristinare solo quella parte specifica del sistema, invece di riscrivere tutto per ripristinare una piccola parte.

L’attuale ciclo di sviluppo delle app porta alla mente la terza sfida del backup Kubernetes – è tipico che le applicazioni vengano testate in un ambiente sandbox isolato dal resto del sistema (cioè l’ambiente di produzione, che sta già interagendo con i clienti). In questo caso specifico, questi ambienti (ambienti di sviluppo e di test) dovrebbero essere ‘idratati’ con i dati dell’applicazione per fornire risultati di test significativi. Questi scenari consentono a contenitori o volumi specifici di eseguire il backup di un ambiente di produzione attuale e di ripristinarlo nell’ambiente di test – il che significa che dovrà etichettare una parte della sua infrastruttura per eseguire il backup in un luogo e ripristinarlo nell’altro luogo o ambiente.

Le funzionalità di backup Kubernetes di Bacula Enterprise

  • Backup della configurazione delle risorse del cluster Kubernetes
  • Possibilità di ripristinare singole risorse di configurazione Kubernetes
  • Possibilità di eseguire il backup e il ripristino dei dati persistenti
  • Possibilità di ripristinare la configurazione delle risorse Kubernetes nella directory locale
  • Backup e ripristino di Kubernetes per volumi persistenti
  • Possibilità di ripristinare i dati dei volumi persistenti Kubernetes nella directory locale

Il modulo Kubernetes di Bacula Enterprise può eseguire il backup di diverse risorse Kubernetes, tra cui:

  • Dispiegamento
  • Podi
  • Servizi
  • Richieste di volumi persistenti

Benefici del modulo Backup e Ripristino di Kubernetes

  • Backup e ripristino dei cluster Kubernetes
  • Ripristino rapido dei dati persistenti di un cluster
  • Consentire una ridistribuzione rapida ed efficiente delle risorse di un cluster
  • Salvare le configurazioni modificate per una sicurezza completa e ripristinare lo stesso stato esatto
  • Salvare le configurazioni per utilizzarle con altre operazioni

Distribuzione sicura ed efficiente dei cluster Kubernetes

Gli ambienti DevOps efficaci devono essere scalabili e automatizzati, ove possibile. Bacula Enterprise è progettato per essere stabile, affidabile e altamente scalabile e i suoi moduli di backup dei container mirano ad alleggerire i carichi di lavoro dei reparti IT e DevOps che utilizzano Docker, Kuberbetes, SUSE, Caas o Openshift. Rende Kubernetes più sicuro e conveniente da distribuire rispetto al passato.

Sia che l’ambiente di container implementato venga utilizzato per il lift-and-shift di applicazioni monolitiche, o per il refactoring di applicazioni legacy, o per la creazione di nuove applicazioni distribuite – gli sviluppatori e gli amministratori di sistema possono utilizzare l’avanzata tecnologia di backup Kubernetes di Bacula con un livello di flessibilità particolarmente elevato – tramite l’interfaccia GUI o la riga di comando di Bacula. Ricordiamo che questo alto livello di flessibilità e di possibilità di personalizzazione è fondamentale per l’approccio di Bacula: responsabilizzare l’utente introducendo un’ampia gamma di opzioni per raggiungere i suoi obiettivi.

Perché eseguire il backup degli ambienti Kubernetes?

Poiché Kubernetes viene sempre più distribuito in ambienti operativi mission-critical, le organizzazioni si preoccupano sempre più del backup e del ripristino di Kubernetes, della sicurezza e di altri problemi di gestione dei dati. Inizialmente, la maggior parte delle applicazioni containerizzate erano stateless, il che permetteva loro di essere distribuite più facilmente su un cloud pubblico. Tuttavia, poiché le applicazioni statiche che richiedono l’accesso a un database sono state containerizzate con Kubernetes, la necessità di considerare seriamente il backup e il ripristino di Kubernetes è aumentata drasticamente.

Sia che Kubernetes venga utilizzato in un ambiente distribuito per dare nuova vita alle applicazioni monolitiche, sia che si tratti di rifattorizzare le applicazioni tradizionali, sia che si tratti di implementare nuove applicazioni dinamiche distribuite, la necessità di proteggere i dati statici rimane. L’esigenza di un’organizzazione di mantenere gli SLA e di garantire che i servizi basati su container siano sempre disponibili in uno stato corretto, sarà sempre al primo posto. Pertanto, una distribuzione Kubernetes minimamente sostenibile richiede un backup e un ripristino efficaci dei componenti del cluster Kubernetes e dei dati persistenti per un funzionamento produttivo.

Per le organizzazioni che gestiscono Kubernetes in ambienti di produzione, Bacula Enterprise è la prima piattaforma di backup e ripristino aziendale che offre una soluzione di livello aziendale con cluster Kubernetes distribuiti per il backup e il ripristino dei dati in modo coerente su tutte le piattaforme.

Bacula apporta vantaggi di agilità agli ambienti Kubernetes grazie al suo grado insolitamente elevato di modularità e flessibilità. Ad esempio, Bacula può anche rendere possibile la migrazione di volumi persistenti tra cluster Kubernetes – ad esempio, al momento del ripristino, è possibile specificare un altro sistema Kubernetes su cui scrivere. Questa agilità, a sua volta, offre alle organizzazioni l’opportunità non solo di risparmiare tempo, ma anche di ridurre significativamente la complessità, i costi e il vendor lock-in.

Molte organizzazioni hanno implementato Kubernetes su almeno due dei tre principali cloud pubblici, e una buona parte di queste esegue i container su Amazon Web Services (AWS), Google Cloud Platform (GCP) e Microsoft Azure. L’integrazione nativa di Bacula con queste piattaforme cloud aiuta a velocizzare e facilitare le operazioni in questi ambienti. Bacula aiuta anche le aziende a non rimanere bloccate in un unico fornitore, perché oltre al proprio codice open source, facilita il passaggio di Kubernetes da un cloud all’altro con maggiore facilità. Bacula facilita anche il cloud ibrido grazie alla facilità di integrazione dei servizi di cloud privato e pubblico per supportare attività parallele, integrate o complementari.

La soluzione unica di Bacula per il backup di Kubernetes include non solo il backup dei volumi persistenti, ma anche dei file di configurazione.

Processo di ripristino di Kubernetes

Il modulo di backup di Kubernetes offre una scelta di due obiettivi per le operazioni di ripristino:

  • Ripristino nel cluster Kubernetes
  • Ripristino in una directory locale

Per garantire le migliori prassi di backup e ripristino per gli ambienti di container Kubernetes, i dati dovrebbero essere sottoposti a backup automatico e gli amministratori di sistema dovrebbero testare regolarmente i backup per assicurarsi che facciano ciò che serve quando è necessario il ripristino.

Selecting a Pod for restore

Funzione di elencazione delle risorse per il backup di Kubernetes

Il modulo di backup di Bacula Enterprise Kubernetes supporta la funzione di elenco di Bacula Enterprise 8.x o più recente. Questa modalità visualizza alcune informazioni utili sulle risorse Kubernetes disponibili, come ad esempio:

  • Elenco dei namespace Kubernetes
  • Elenco dei volumi persistenti Kubernetes

La funzione utilizza il comando speciale .ls con un parametro di comando plugin=<plugin>.

Kubernetes Restore Options