Che cos'è servizio Azure Kubernetes backup?

servizio Azure Kubernetes (servizio Azure Kubernetes) è un semplice processo nativo del cloud che è possibile usare per eseguire il backup e il ripristino di applicazioni e dati in contenitori eseguiti nel cluster del servizio Azure Kubernetes. È possibile configurare i backup pianificati per lo stato del cluster e i dati dell'applicazione archiviati in volumi persistenti in Archiviazione dischi di Azure basati su driver CSI. La soluzione offre un controllo granulare per scegliere uno spazio dei nomi specifico o un intero cluster di cui eseguire il backup o il ripristino archiviando i backup in locale in un contenitore BLOB e come snapshot del disco. È possibile usare il backup del servizio Azure Kubernetes per scenari end-to-end, tra cui ripristino operativo, clonazione di ambienti di sviluppo/test e scenari di aggiornamento del cluster.

Il backup del servizio Azure Kubernetes si integra con il Centro backup in Azure, offrendo una singola visualizzazione che consente di gestire, monitorare, gestire e analizzare i backup su larga scala. I backup sono disponibili anche nella portale di Azure in Impostazioni nel menu delle risorse per un'istanza del servizio Azure Kubernetes.

Nota

Il backup con insieme di credenziali e il ripristino tra aree per il servizio Azure Kubernetes che usano Backup di Azure sono attualmente in anteprima.

Come funziona il backup del servizio Azure Kubernetes?

Usare il backup del servizio Azure Kubernetes per eseguire il backup dei carichi di lavoro del servizio Azure Kubernetes e dei volumi permanenti distribuiti nei cluster del servizio Azure Kubernetes. La soluzione richiede l'installazione dell'estensione backup all'interno del cluster del servizio Azure Kubernetes . L'insieme di credenziali di backup comunica con l'estensione per completare le operazioni correlate al backup e al ripristino. L'uso dell'estensione backup è obbligatorio e l'estensione deve essere installata all'interno del cluster del servizio Azure Kubernetes per abilitare il backup e il ripristino per il cluster. Quando si configura il backup del servizio Azure Kubernetes, si aggiungono valori per un account di archiviazione e un contenitore BLOB in cui vengono archiviati i backup.

Insieme all'estensione Backup, viene creata un'identità utente (denominata identità di estensione) nel gruppo di risorse gestite del cluster del servizio Azure Kubernetes. All'identità dell'estensione viene assegnato il ruolo collaboratore account Archiviazione nell'account di archiviazione in cui vengono archiviati i backup in un contenitore BLOB.

Per supportare cluster pubblici, privati e autorizzati basati su IP, il backup del servizio Azure Kubernetes richiede l'abilitazione dell'accesso attendibile tra il cluster del servizio Azure Kubernetes e l'insieme di credenziali di backup. Accesso attendibile consente all'insieme di credenziali di Backup di accedere al cluster del servizio Azure Kubernetes a causa di autorizzazioni specifiche assegnate per le operazioni di backup. Per altre informazioni sull'accesso attendibile del servizio Azure Kubernetes, vedere Abilitare le risorse di Azure per accedere ai cluster del servizio Azure Kubernetes tramite Accesso attendibile.

Nota

Il backup del servizio Azure Kubernetes consente di archiviare i backup nel livello operativo. Il livello operativo è un archivio dati locale (nel tenant come snapshot). È ora possibile spostare un punto di ripristino al giorno e archiviarlo nel livello dell'insieme di credenziali come BLOB (all'esterno del tenant) usando il backup del servizio Azure Kubernetes. È anche possibile usare l'insieme di credenziali di backup per gestire i backup.

Dopo l'installazione dell'estensione backup e l'accesso attendibile è abilitato, è possibile configurare i backup pianificati per i cluster in base ai criteri di backup. È anche possibile ripristinare i backup nel cluster originale o in un cluster alternativo che si trova nella stessa sottoscrizione e nella stessa area. È possibile scegliere uno spazio dei nomi specifico o un intero cluster come configurazione di backup e ripristino durante la configurazione dell'operazione specifica.

La soluzione di backup consente le operazioni di backup per le origini dati del servizio Azure Kubernetes distribuite nel cluster e per i dati archiviati nel volume permanente per il cluster e quindi archiviare i backup in un contenitore BLOB. I volumi persistenti basati su disco vengono sottoposti a backup come snapshot del disco in un gruppo di risorse snapshot. Gli snapshot e lo stato del cluster in un BLOB si combinano entrambi per formare un punto di ripristino archiviato nel tenant denominato Livello operativo. È anche possibile convertire i backup (prima backup riusciti in un giorno, settimana, mese o anno) nel livello operativo in BLOB e quindi spostarli in un insieme di credenziali (all'esterno del tenant) una volta al giorno.

Nota

Attualmente, Backup di Azure supporta solo volumi persistenti in Archiviazione dischi di Azure basati su driver CSI. Durante i backup, la soluzione ignora altri tipi di volumi permanenti, ad esempio Condivisione file di Azure e BLOB. Inoltre, i backup sono idonei per essere spostati nell'insieme di credenziali se i volumi permanenti sono di dimensioni minori o uguali a 1 TB.

Configurare il backup

  • Per configurare i backup per i cluster del servizio Azure Kubernetes, creare prima di tutto un insieme di credenziali di backup. L'insieme di credenziali offre una visualizzazione consolidata dei backup configurati in origini dati diverse. Il backup del servizio Azure Kubernetes supporta sia il livello operativo che i backup a livello di insieme di credenziali.

    Nota

    • L'insieme di credenziali di backup e il cluster del servizio Azure Kubernetes di cui si vuole eseguire il backup o il ripristino devono trovarsi nella stessa area e nella stessa sottoscrizione.
    • L'impostazione di ridondanza dell'archiviazione dell'insieme di credenziali di backup (LRS/GRS) si applica solo ai backup archiviati nel livello dell'insieme di credenziali. Se si vogliono usare i backup per il ripristino di emergenza, impostare la ridondanza dell'archiviazione come archiviazione con ridondanza geografica con ripristino tra aree abilitato.
  • Il backup del servizio Azure Kubernetes attiva automaticamente un processo di backup pianificato. Il processo copia le risorse del cluster in un contenitore BLOB e crea uno snapshot incrementale dei volumi persistenti basati su disco in base alla frequenza di backup. I backup vengono conservati nel livello operativo e nel livello dell'insieme di credenziali in base alla durata di conservazione definita nei criteri di backup e vengono eliminati una volta superata la durata.

    Nota

    È possibile usare il backup del servizio Azure Kubernetes per creare più istanze di backup per un singolo cluster del servizio Azure Kubernetes usando configurazioni di backup diverse per ogni istanza di backup. Tuttavia, ogni istanza di backup di un cluster del servizio Azure Kubernetes deve essere creata in un insieme di credenziali di backup diverso o usando un criterio di backup separato nello stesso insieme di credenziali di backup.

Gestire il backup

Al termine della configurazione di backup per un cluster del servizio Azure Kubernetes, viene creata un'istanza di backup nell'insieme di credenziali di backup. È possibile visualizzare l'istanza di backup per il cluster nella sezione Backup per un'istanza del servizio Azure Kubernetes nel portale di Azure. È possibile eseguire qualsiasi operazione correlata al backup per l'istanza, ad esempio l'avvio di ripristini, il monitoraggio, l'arresto della protezione e così via, tramite l'istanza di backup corrispondente.

Il backup del servizio Azure Kubernetes si integra direttamente con il Centro backup per gestire la protezione per tutti i cluster del servizio Azure Kubernetes e altri carichi di lavoro supportati dal backup in modo centralizzato. Il centro backup è una singola visualizzazione per tutti i requisiti di backup, ad esempio il monitoraggio dei processi e lo stato dei backup e dei ripristini. Il Centro backup consente di garantire la conformità e la governance, analizzare l'utilizzo dei backup ed eseguire operazioni critiche per eseguire il backup e il ripristino dei dati.

Il backup del servizio Azure Kubernetes usa l'identità gestita per accedere ad altre risorse di Azure. Per configurare il backup di un cluster del servizio Azure Kubernetes e per eseguire il ripristino da un backup precedente, l'identità gestita dell'insieme di credenziali di backup richiede un set di autorizzazioni per il cluster servizio Azure Kubernetes e il gruppo di risorse snapshot in cui vengono creati e gestiti gli snapshot. Attualmente, il cluster del servizio Azure Kubernetes richiede un set di autorizzazioni per il gruppo di risorse snapshot. Inoltre, l'estensione Backup crea un'identità utente e assegna un set di autorizzazioni per accedere all'account di archiviazione in cui vengono archiviati i backup in un BLOB. È possibile concedere autorizzazioni all'identità gestita usando il controllo degli accessi in base al ruolo di Azure. Un'identità gestita è un tipo speciale di principio di servizio che può essere usato solo con le risorse di Azure. Vedere altre informazioni sulle identità gestite.

Eseguire il ripristino da un backup

È possibile ripristinare i dati da qualsiasi punto nel tempo per il quale esiste un punto di ripristino. Un punto di ripristino viene creato quando un'istanza di backup è in uno stato protetto e può essere usata per ripristinare i dati fino a quando non viene mantenuta dai criteri di backup.

Backup di Azure consente di ripristinare tutti gli elementi di cui è stato eseguito il backup o di usare controlli granulari per selezionare elementi specifici dai backup scegliendo spazi dei nomi e altre opzioni di filtro. È anche possibile eseguire il ripristino nel cluster del servizio Azure Kubernetes originale (il cluster di cui è stato eseguito il backup) o in un cluster del servizio Azure Kubernetes alternativo. È possibile ripristinare i backup archiviati nel livello operativo e dell'insieme di credenziali in un cluster nella stessa sottoscrizione e in una sottoscrizione diversa. Solo i backup archiviati nel livello insieme di credenziali possono essere usati per eseguire un ripristino in un cluster in un'area diversa (area abbinata di Azure).

Per ripristinare il backup archiviato nel livello insieme di credenziali, è necessario specificare un percorso di gestione temporanea in cui i dati di backup vengono idratati. Questo percorso di gestione temporanea include un gruppo di risorse e un account di archiviazione all'interno della stessa area e una sottoscrizione del cluster di destinazione per il ripristino. Durante il ripristino, le risorse specifiche (contenitore BLOB, disco e snapshot del disco) vengono create come parte dell'idratazione, che viene quindi cancellata dopo il completamento dell'operazione di ripristino.

Backup di Azure per il servizio Azure Kubernetes supporta attualmente le due opzioni seguenti quando si esegue un'operazione di ripristino quando si verifica un conflitto di risorse (la risorsa di cui è stato eseguito il backup ha lo stesso nome della risorsa nel cluster del servizio Azure Kubernetes di destinazione). È possibile scegliere una di queste opzioni quando si definisce la configurazione di ripristino.

  1. Ignora: questa opzione è selezionata per impostazione predefinita. Ad esempio, se è stato eseguito il backup di un PVC denominato pvc-azuredisk e lo si sta ripristinando in un cluster di destinazione con lo stesso nome, l'estensione di backup ignora il ripristino dell'attestazione di volume permanente di cui è stato eseguito il backup. In questi scenari, è consigliabile eliminare la risorsa dal cluster e quindi eseguire l'operazione di ripristino in modo che gli elementi di cui è stato eseguito il backup siano disponibili solo nel cluster e non vengano ignorati.

  2. Patch: questa opzione consente la variabile modificabile di patch nella risorsa sottoposta a backup nella risorsa nel cluster di destinazione. Se si vuole aggiornare il numero di repliche nel cluster di destinazione, è possibile optare per l'applicazione di patch come operazione.

Nota

Il backup del servizio Azure Kubernetes attualmente non elimina e ricrea le risorse nel cluster di destinazione, se già esistenti. Se si tenta di ripristinare volumi persistenti nel percorso originale, eliminare i volumi persistenti esistenti e quindi eseguire l'operazione di ripristino.

Usare hook personalizzati per il backup e il ripristino

È possibile usare hook personalizzati per creare snapshot coerenti con l'applicazione di volumi usati per i database distribuiti come carichi di lavoro in contenitori.

Che cosa sono gli hook personalizzati?

È possibile usare il backup del servizio Azure Kubernetes per eseguire hook personalizzati come parte di un'operazione di backup e ripristino. Gli hook sono comandi configurati per eseguire uno o più comandi da eseguire in un pod in un contenitore durante un'operazione di backup o dopo il ripristino. Questi hook vengono definiti come risorsa personalizzata e distribuiti nel cluster del servizio Azure Kubernetes di cui si vuole eseguire il backup o il ripristino. Quando la risorsa personalizzata viene distribuita nel cluster del servizio Azure Kubernetes nello spazio dei nomi richiesto, specificare i dettagli come input per il flusso per configurare il backup e il ripristino. L'estensione Backup esegue gli hook come definito in un file YAML.

Nota

Gli hook non vengono eseguiti in una shell nei contenitori.

Il backup nel servizio Azure Kubernetes include due tipi di hook:

  • Hook di backup
  • Ripristinare gli hook

Hook di backup

In un hook di backup è possibile configurare i comandi per eseguire l'hook prima di qualsiasi elaborazione di azioni personalizzata (pre-hook) o dopo il completamento di tutte le azioni personalizzate ed eventuali elementi aggiuntivi specificati dalle azioni personalizzate vengono sottoposti a backup (post-hook).

Ad esempio, di seguito è riportato il modello YAML per la distribuzione di una risorsa personalizzata usando hook di backup:

apiVersion: clusterbackup.dataprotection.microsoft.com/v1alpha1
kind: BackupHook
metadata:
  # BackupHook CR Name and Namespace
  name: bkphookname0
  namespace: default
spec:
  # BackupHook is a list of hooks to execute before and after backing up a resource.
  backupHook:
    # 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:
          # Container is the container in the pod where the command should be executed.
          container: webcontainer
          # Command is the command and arguments to execute.
          command:
            - /bin/uname
            - -a
          # OnError specifies how Velero should behave if it encounters an error executing this hook  
          onError: Continue
          # Timeout is the amount of time to wait for the hook to complete before considering it failed.
          timeout: 10s
      - exec:
          command:
            - /bin/bash
            - -c
            - echo hello > hello.txt && echo goodbye > goodbye.txt
          container: webcontainer
          onError: Continue
    # PostHooks is a list of BackupResourceHooks to execute after backing up an item.
    postHooks:
      - exec:
          container: webcontainer
          command:
            - /bin/uname
            - -a
          onError: Continue
          timeout: 10s

Ripristinare gli hook

Nello script hook di ripristino, i comandi o gli script personalizzati vengono scritti per essere eseguiti nei contenitori di un pod del servizio Azure Kubernetes ripristinato.

Ecco il modello YAML per una risorsa personalizzata da distribuire usando gli hook di ripristino:

apiVersion: clusterbackup.dataprotection.microsoft.com/v1alpha1
kind: RestoreHook
metadata:
  name: restorehookname0
  namespace: default
spec:
  # RestoreHook is a list of hooks to execute after restoring a resource.
  restoreHook:
    # Name is the name of this hook.
  - name: myhook-1  
    # Restored Namespaces where this hook will be executed.
    includedNamespaces: 
    excludedNamespaces:
    labelSelector:
    # PostHooks is a list of RestoreResourceHooks to execute during and after restoring a resource.
    postHooks:
      - exec:
          # Container is the container in the pod where the command should be executed.
          container: webcontainer
          # Command is the command and arguments to execute from within a container after a pod has been restored.
          command:
            - /bin/bash
            - -c
            - echo hello > hello.txt && echo goodbye > goodbye.txt
          # OnError specifies how Velero should behave if it encounters an error executing this hook
          # default value is Continue
          onError: Continue
          # Timeout is the amount of time to wait for the hook to complete before considering it failed.
          execTimeout: 30s
          # WaitTimeout defines the maximum amount of time Velero should wait for the container to be ready before attempting to run the command.
          waitTimeout: 5m

Informazioni su come usare gli hook durante il backup del servizio Azure Kubernetes.

Quale livello di archiviazione di backup supporta il backup del servizio Azure Kubernetes?

Backup di Azure per il servizio Azure Kubernetes supporta due livelli di archiviazione come archivi dati di backup:

  • Livello operativo: l'estensione di backup installata nel cluster servizio Azure Kubernetes esegue prima il backup creando snapshot del volume tramite il driver CSI e archivia lo stato del cluster in un contenitore BLOB nel proprio tenant. Questo livello supporta un RPO inferiore con la durata minima tra due backup di quattro ore. Inoltre, per i volumi basati su dischi di Azure, il livello operativo supporta ripristini più rapidi.

  • Livello Standard dell'insieme di credenziali (anteprima): per archiviare i dati di backup per una durata più lunga a un costo inferiore rispetto agli snapshot, il backup del servizio Azure Kubernetes supporta l'archivio dati standard dell'insieme di credenziali. In base alle regole di conservazione impostate nei criteri di backup, il primo backup riuscito (di un giorno, di una settimana, di un mese o di un anno) viene spostato in un contenitore BLOB all'esterno del tenant. Questo archivio dati non solo consente una conservazione più lunga, ma fornisce anche protezione ransomware. È anche possibile spostare i backup archiviati nell'insieme di credenziali in un'altra area (area abbinata di Azure) per il ripristino abilitando la ridondanza geografica e il ripristino tra aree nell'insieme di credenziali di backup.

Nota

È possibile archiviare i dati di backup in un archivio dati standard dell'insieme di credenziali tramite criteri di backup definendo le regole di conservazione. Viene spostato un solo punto di ripristino pianificato al giorno nel livello dell'insieme di credenziali. Tuttavia, è possibile spostare un numero qualsiasi di backup su richiesta nell'insieme di credenziali in base alla regola selezionata.

Informazioni sui prezzi

Vengono addebitati addebiti per:

  • Tariffa per istanze protette: Backup di Azure per il servizio Azure Kubernetes addebita una tariffa di istanza protetta per spazio dei nomi al mese. Quando si configura il backup per un cluster del servizio Azure Kubernetes, viene creata un'istanza protetta. Ogni istanza ha un numero specifico di spazi dei nomi di cui viene eseguito il backup come definito nella configurazione di backup. Per altre informazioni sui prezzi di backup del servizio Azure Kubernetes, vedere Prezzi per Il backup cloud e selezionare servizio Azure Kubernetes come carico di lavoro

  • Tariffa snapshot: Backup di Azure per il servizio Azure Kubernetes protegge un volume permanente basato su disco eseguendo snapshot archiviati nel gruppo di risorse nella sottoscrizione di Azure. Questi snapshot comportano addebiti per l'archiviazione degli snapshot. Poiché gli snapshot non vengono copiati nell'insieme di credenziali di backup, i costi di archiviazione del backup non si applicano. Per altre informazioni sui prezzi degli snapshot, vedere Prezzi di Managed Disk.

Passaggio successivo