Protezione dei dati dell'applicazione per i carichi di lavoro del servizio Azure Kubernetes in Azure NetApp Files

Azure NetApp Files
Servizio Azure Kubernetes
Rete virtuale di Azure

Questo articolo descrive una soluzione per la gestione e l'esecuzione della gestione dei dati delle applicazioni in contenitori con stato, delle relative risorse e dei relativi dati.

Architettura

Diagramma dell'architettura che illustra come distribuire il servizio Azure Kubernetes con il servizio di controllo astra quando il servizio Azure Kubernetes e Azure NetApp Files si trovano in reti virtuali separate.

Scaricare un file di Visio di questa architettura.

Flusso di dati

  1. Viene creato un account Azure NetApp Files in una sottoscrizione di Azure e vengono definiti pool di capacità. Questi pool eseguono il mapping ai livelli di servizio necessari per l'implementazione, ad esempio Standard, Premium e Ultra.

  2. Vengono distribuiti uno o più cluster del servizio Azure Kubernetes. I cluster devono essere:

    • In un'area in cui sono disponibili il servizio Azure Kubernetes e Azure NetApp Files. Per le aree in cui sono disponibili questi prodotti, vedere Prodotti disponibili in base all'area.
    • In una rete virtuale con accesso diretto a una subnet delegata per Azure NetApp Files. Per altre informazioni, vedere Linee guida per la pianificazione di rete di Azure NetApp Files.
  3. Un utente si iscrive a un account del servizio di controllo Astra. Astra Control Service usa una credenziale dell'entità servizio di Azure con accesso collaboratore per individuare i cluster del servizio Azure Kubernetes da gestire. Astra Control Service installa Astra Trident e crea Archiviazione Classe mappate a ogni livello di servizio quando un cluster viene aggiunto al servizio di controllo Astra. Astra Trident crea Kubernetes PersistentVolumes (PVs) dall'applicazione PersistentVolumeClaims (PVC) usando gli oggetti Archiviazione Class (SC) distribuiti automaticamente che eseguono il mapping ai pool di capacità di Azure NetApp Files. Il mapping tiene conto del livello di servizio dei pool di capacità.

  4. L'utente installa le applicazioni nei cluster del servizio Azure Kubernetes. I metodi di distribuzione possibili includono grafici Helm, operatori e manifesti YAML. Le applicazioni possono essere raggruppate in base a etichette o spazi dei nomi. Astra Trident effettua il provisioning di volumi permanenti basati su PersistentVolumeClaims usando gli StorageClass oggetti .

  5. Astra Control Service gestisce le applicazioni e le relative risorse associate, ad esempio pod, servizi, distribuzioni e PersistentVolumeClaim oggetti (PVC). Gestisce anche il PersistentVolume (PV) associato al PVC. Gli utenti definiscono le applicazioni usando uno di questi metodi:

    • Limiti a uno spazio dei nomi
    • Uso di un'etichetta Kubernetes personalizzata per raggruppare le risorse

Gli utenti possono anche raggruppare oggetti con ambito cluster, ad esempio le classi di archiviazione, con (a) applicazioni specifiche per gestirli insieme.

Astra Control Service orchestra snapshot e backup temporizzato, criteri di backup e cloni attivi istantanei per proteggere i carichi di lavoro delle applicazioni. Astra Control Service ottiene questa protezione tramite:

  • Creazione di criteri di protezione del servizio di controllo Astra. Possono essere eseguite per snapshot e/o backup e specificare una pianificazione e una destinazione di backup. Questi criteri consentono di proteggere automaticamente le applicazioni in base a una pianificazione pre-determinata.

  • Creazione di snapshot su richiesta per utenti singoli o un gruppo di applicazioni.

  • Esecuzione di backup istantanei o cloni per utenti singoli o un gruppo di applicazioni.

    Quando si verificano emergenze o errori dell'app, i backup e gli snapshot ripristinano lo stato delle applicazioni. Gli utenti possono clonare ed eseguire la migrazione di app tra spazi dei nomi e cluster del servizio Azure Kubernetes. I cluster possono trovarsi nella stessa area o in aree separate.

Componenti

  • Il servizio Azure Kubernetes è un servizio Kubernetes completamente gestito che semplifica la distribuzione e la gestione di applicazioni in contenitori. Il servizio Azure Kubernetes offre una tecnologia Kubernetes serverless, un'esperienza integrata di integrazione continua e recapito continuo (CI/CD) e sicurezza e governance di livello aziendale.
  • Azure NetApp Files è un servizio di archiviazione di Azure. Questo servizio fornisce condivisioni file system di rete di livello aziendale (NFS) e SMB (Server Message Block). Azure NetApp Files semplifica la migrazione e l'esecuzione di applicazioni complesse basate su file senza modifiche al codice. Questo servizio è ideale per gli utenti con volumi permanenti negli ambienti Kubernetes.
  • Rete virtuale di Azure rappresenta il blocco costitutivo delle reti private in Azure. Tramite Rete virtuale, le risorse di Azure come le macchine virtuali possono comunicare in modo sicuro tra loro, Internet e reti locali.
  • Astra Control Service è un servizio di gestione dei dati in grado di supportare applicazioni completamente gestito. Astra Control Service consente di gestire, proteggere e spostare carichi di lavoro Kubernetes avanzati nei cloud pubblici e negli ambienti locali. Questo servizio fornisce protezione dei dati, ripristino di emergenza e migrazione per i carichi di lavoro Kubernetes. Astra Control Service usa la tecnologia di gestione dei dati leader del settore di Azure NetApp Files per snapshot, backup, replica tra aree e clonazione.

Alternative

È possibile usare un approccio personalizzato multi-pronged per eseguire separatamente il backup o la replica di volumi persistenti, risorse Kubernetes e altre risorse dello stato di configurazione necessarie quando si ripristina un'applicazione. Ma questo approccio può essere:

  • Ingombrante.
  • Difficile da rendere compatibile con tutte le app.
  • Difficile da ridimensionare tra più app e ambienti che un'azienda tipica ha.

In alcuni ambienti è possibile ridurre i costi evitando il traffico di rete virtuale con peering incrociato. Per eliminare questo traffico, semplificare la soluzione. In particolare, inserire i cluster del servizio Azure Kubernetes e la subnet delegata per Azure NetApp Files nella stessa rete virtuale, come illustrato in questo diagramma:

Diagramma dell'architettura che illustra come usare il servizio Azure Kubernetes con il servizio di controllo Astra in una singola rete virtuale.

Scaricare un file di Visio di questa architettura.

Dettagli dello scenario

Con le applicazioni in contenitori, può essere difficile eseguire la protezione dei dati dell'applicazione. L'applicazione è costituita da più microservizi, che devono essere gestiti come un'entità. Quando si distribuiscono carichi di lavoro critici per l'azienda in Kubernetes, la gestione dei dati delle applicazioni deve essere:

  • Semplice. La definizione di criteri di protezione dei dati e snapshot e backup su richiesta deve essere intuitiva. Questi criteri non devono dipendere dai dettagli dell'infrastruttura sottostante.
  • Portabilità. Per rendere possibile la mobilità tra aree per le applicazioni, più cluster Kubernetes devono essere in grado di usare i backup.
  • Compatibile con l'applicazione. La soluzione deve proteggere l'intera applicazione, incluse le risorse Kubernetes standard, ad esempio segreti, ConfigMap oggetti e volumi permanenti. È anche necessario proteggere le risorse Kubernetes personalizzate. Quando possibile, le procedure devono uscire dall'applicazione prima dello snapshot e del backup. Questa procedura impedisce la perdita di dati in anteprima durante i backup.

NetApp Astra Control Service è una soluzione per l'esecuzione della gestione dei dati delle applicazioni con stato che consente di soddisfare questi obiettivi. Astra Control Service offre funzionalità di protezione dei dati, ripristino di emergenza e mobilità delle applicazioni. Fornisce carichi di lavoro servizio Azure Kubernetes con stato con un set completo di servizi di gestione dei dati in grado di supportare le applicazioni e l'archiviazione. La tecnologia di protezione dei dati di Azure NetApp Files è alla base di questi servizi.

Potenziali casi d'uso

Questa soluzione si applica ai sistemi che eseguono applicazioni con stato:

  • Sistemi di integrazione continua (CI), ad esempio Jenkins
  • Carichi di lavoro di database come MySQL, MongoDB e PostgreSQL
  • Componenti di intelligenza artificiale e machine learning, ad esempio TensorFlow e PyTorch
  • Distribuzioni di Elasticsearch
  • Applicazioni Kafka
  • Piattaforme di gestione del codice sorgente come GitLab

Considerazioni

Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, che è un set di set di principi guida che possono essere usati per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Framework ben progettato di Microsoft Azure.

Affidabilità

L'affidabilità garantisce che l'applicazione possa soddisfare gli impegni che l'utente ha preso con i clienti. Per altre informazioni, vedere Panoramica del pilastro dell'affidabilità.

Quando si distribuisce un cluster del servizio Azure Kubernetes, lo si distribuisce in una singola area. Per proteggere i carichi di lavoro delle applicazioni, è consigliabile distribuire i carichi di lavoro in più cluster del servizio Azure Kubernetes che si estendono su più aree. I fattori che influiscono sulla distribuzione includono la disponibilità dell'area del servizio Azure Kubernetes e le aree abbinate di Azure. Quando si distribuiscono cluster in più zone di disponibilità, si distribuiscono nodi tra più zone all'interno di una singola area. Questa distribuzione delle risorse del cluster del servizio Azure Kubernetes migliora la disponibilità del cluster perché i cluster sono resilienti all'errore di una zona specifica.

Azure NetApp Files è a disponibilità elevata per progettazione. Si basa su una flotta bare metal a disponibilità elevata di tutti i sistemi di archiviazione flash. Per la garanzia di disponibilità di questo servizio, vedere Contratto di servizio per Azure NetApp Files.

Azure NetApp Files supporta la replica tra aree per il ripristino di emergenza. È possibile replicare i volumi tra coppie di aree di Azure in modo continuo. Per altre informazioni sulla replica tra aree, vedere queste risorse:

Ottimizzazione dei costi

L'ottimizzazione dei costi riguarda l'analisi dei modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. Per altre informazioni, vedere Panoramica del pilastro di ottimizzazione dei costi.

Usare il calcolatore prezzi di Azure per stimare il costo dei componenti seguenti:

  • Servizio Azure Kubernetes
  • Azure NetApp Files
  • Rete virtuale

Per i piani tariffari di Astra Control Service, vedere Prezzi. Adottando astra control Service, è possibile concentrarsi sull'applicazione invece di dedicare tempo e risorse alla creazione di soluzioni personalizzate che non vengono ridimensionate. Il servizio Astra Control è disponibile in Azure Marketplace.

Per eseguire calcoli dettagliati della larghezza di banda e dei prezzi, usare il calcolatore delle prestazioni di Azure NetApp Files. Sono disponibili calcolatrici di base e avanzate.

Eccellenza operativa

L'eccellenza operativa copre i processi operativi che distribuiscono un'applicazione e la mantengono in esecuzione nell'ambiente di produzione. Per altre informazioni, vedere Panoramica del pilastro dell'eccellenza operativa.

Quando si usa il piano di controllo Kubernetes, è importante monitorare l'infrastruttura e il livello della piattaforma. Astra Control Service fornisce un piano di controllo unificato che è possibile usare per definire e gestire i criteri di protezione delle applicazioni in più cluster del servizio Azure Kubernetes. Un dashboard consente di gestire continuamente i carichi di lavoro tra aree. Astra Trident offre anche un set completo di metriche prometheus che è possibile usare per monitorare l'archiviazione con provisioning.

Efficienza prestazionale

L'efficienza delle prestazioni è la capacità di dimensionare il carico di lavoro per soddisfare in modo efficiente le richieste poste dagli utenti. Per altre informazioni, vedere Panoramica dell'efficienza delle prestazioni.

I cluster del servizio Azure Kubernetes possono aggiungere nodi di lavoro aggiuntivi per aumentare la scalabilità. Per ridimensionare la soluzione, è possibile aggiungere pool di nodi o ridimensionare pool di nodi esistenti. Questi passaggi aumentano il numero di nodi nel cluster, il numero totale di core e la memoria disponibile per le applicazioni in contenitori.

In ogni rete virtuale è possibile delegare una sola subnet per Azure NetApp Files.

Quando si usa una configurazione di base per le funzionalità di rete di Azure NetApp Files, è previsto un limite di 1.000 indirizzi IP per ogni rete virtuale. La configurazione delle funzionalità di rete standard non limita il numero di indirizzi IP. Per altre informazioni, vedere Funzionalità di rete configurabili. Per un elenco completo dei limiti delle risorse per Azure NetApp Files, vedere Limiti delle risorse per Azure NetApp Files.

Azure NetApp Files offre più livelli di prestazioni. Quando si usa Astra Control Service per individuare i cluster del servizio Azure Kubernetes, il processo di onboarding crea oggetti curati StorageClass che eseguono il mapping ai livelli di servizio Standard, Premium e Ultra. Quando gli utenti distribuiscono le applicazioni, scelgono un livello di archiviazione adatto alle proprie esigenze. Più pool di capacità possono coesistere. I volumi con provisioning hanno una garanzia di prestazioni corrispondente al livello di servizio. Per un elenco dei livelli di servizio supportati da Azure NetApp Files, vedere Livelli di servizio per Azure NetApp Files.

Distribuire lo scenario

Per implementare questa soluzione, è necessario un account Azure. Creare un account gratuitamente.

Per distribuire questo scenario, seguire questa procedura:

  1. Registrare il provider di risorse che consente di usare Azure NetApp Files.
  2. Esaminare i requisiti per l'uso del servizio controllo Astra con il servizio Azure Kubernetes.
  3. Usare il portale di Azure per creare un account NetApp.
  4. Configurare i pool di capacità nell'account Azure NetApp Files.
  5. Delegare una subnet per Azure NetApp Files.
  6. Creare un'entità servizio per Astra Control Service da usare per individuare i cluster del servizio Azure Kubernetes ed eseguire operazioni di backup, ripristino e gestione dei dati.
  7. Eseguire la registrazione per il servizio di controllo astra creando un account NetApp Cloud Central.
  8. Aggiungere cluster del servizio Azure Kubernetes a Astra Control Service per iniziare a gestire le applicazioni.
  9. Rilevare le applicazioni in Astra Control Service. Il modo in cui si individuano e gestiscono le applicazioni dipende dal modo in cui vengono distribuite e identificate. Le strategie di identificazione tipiche includono il raggruppamento di oggetti applicazione in uno spazio dei nomi dedicato, l'assegnazione di etichette agli oggetti che costituiscono un'applicazione e l'uso dei grafici Helm. Astra Control Service supporta tutte e tre le strategie.
  10. Stabilire i criteri di protezione per eseguire il backup e il ripristino delle applicazioni. Prima di definire i criteri di protezione, identificare chiaramente i carichi di lavoro. Un prerequisito è che Astra Control Service può rilevare in modo univoco ogni applicazione. Per altre informazioni, vedere Iniziare a gestire le app.

Per i passaggi che è possibile eseguire per proteggere le applicazioni, vedere Ripristino di emergenza dei carichi di lavoro del servizio Azure Kubernetes con il servizio di controllo Astra e Azure NetApp Files.

Per informazioni dettagliate sul servizio di controllo Astra, vedere la documentazione del servizio di controllo Astra.

Collaboratori

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dal collaboratore seguente.

Autore principale:

Passaggi successivi