Condividi tramite


Procedure consigliate per archiviazione e backup nel servizio Azure Kubernetes

Quando si creano e si gestiscono cluster nel servizio Azure Kubernetes, spesso le applicazioni hanno bisogno di risorse di archiviazione. Assicurarsi di comprendere le esigenze di prestazioni dei pod e i metodi di accesso in modo da poter selezionare la risorsa di archiviazione migliore per l'applicazione. Le dimensioni del nodo del servizio Azure Kubernetes possono influire sulle scelte di archiviazione. Pianificare i modi per eseguire il backup e testare il processo di ripristino per l'archiviazione collegata.

Questo articolo sulle procedure consigliate è incentrato sulle considerazioni relative all'archiviazione per gli operatori del cluster. In questo articolo, imparerai a:

  • Tipi di archiviazione disponibili.
  • Come ridimensionare correttamente i nodi del servizio Azure Kubernetes per le prestazioni dell'archiviazione.
  • Differenze tra provisioning dinamico e statico dei volumi.
  • Modalità di backup e protezione dei volumi di dati.

Scelta del tipo di archiviazione appropriato

Materiale sussidiario sulle procedure consigliate

Comprendere le esigenze dell'applicazione per scegliere il tipo di archiviazione più adatto. Usare l'archiviazione basata su SSD a prestazioni elevate per i carichi di lavoro di produzione. Pianificare l'archiviazione basata sulla rete quando sono necessarie più connessioni simultanee.

Le applicazioni spesso richiedono tipi e velocità di archiviazione diversi. Determinare il tipo di archiviazione più appropriato ponendo le domande seguenti.

  • Le applicazioni necessitano di spazio di archiviazione che si connette a singoli pod?
  • Le applicazioni necessitano di spazio di archiviazione condiviso tra più pod?
  • Lo spazio di archiviazione per l'accesso in sola lettura ai dati?
  • Lo spazio di archiviazione verrà usato per scrivere grandi quantità di dati strutturati?

La tabella seguente descrive i tipi di archiviazione disponibili e le relative funzionalità:

Caso d'uso Plug-in volume Una sola operazione di lettura/scrittura Molte operazioni di sola lettura Molte operazioni di lettura/scrittura Supporto per i contenitori di Windows Server
Configurazione condivisa File di Azure
Dati di app strutturati Dischi di Azure No No
Dati non strutturati, operazioni sui file system BlobFuse No

Il servizio Azure Kubernetes offre due tipi principali di archiviazione sicura per i volumi supportati da Dischi di Azure o File di Azure. Entrambi usano la crittografia del servizio di archiviazione di Azure predefinita che crittografa i dati inattivi. I dischi non possono essere crittografati usando Crittografia dischi di Azure a livello di nodo del servizio Azure Kubernetes. Con le condivisioni di File di Azure non esiste alcun limite per il numero di montaggio in un nodo.

Sia File di Azure che Dischi di Azure sono disponibili nei livelli di prestazioni Standard e Premium:

  • Dischi Premium
    • Supportato da dischi SSD (Solid State Disks) a prestazioni elevate.
    • Consigliato per tutti i carichi di lavoro di produzione.
  • Dischi Standard
    • Supportato da normali dischi rotanti (HDD).
    • Valido per i dati di archiviazione o a cui si accede raramente.

Mentre il livello di archiviazione predefinito per il driver CSI del disco di Azure è SSD Premium, StorageClass personalizzato può usare SSD Premium, SSD Standard o HDD Standard.

Comprendere le esigenze di prestazioni e gli schemi di accesso dell'applicazione per scegliere il livello di archiviazione appropriato. Per altre informazioni sulle dimensioni dei dischi gestiti e sui livelli di prestazioni, vedere Panoramica di Azure Managed Disks.

Creare e usare classi di archiviazione per definire le esigenze delle applicazioni

Definire il tipo di archiviazione desiderato usando le classi di archiviazione Kubernetes. Viene quindi fatto riferimento alla classe di archiviazione nel pod o nella specifica di distribuzione. Le definizioni delle classi di archiviazione contribuiscono alla creazione del tipo di archiviazione appropriato e alla relativa connessione ai pod.

Per altre informazioni, vedere Classi di archiviazione.

Ridimensionare i nodi per le esigenze di archiviazione

Materiale sussidiario sulle procedure consigliate

Ogni dimensione di nodo supporta un numero massimo di dischi. Dimensioni diverse forniscono quantità diverse di spazio di archiviazione locale e larghezza di banda della rete. Pianificare in modo appropriato le richieste dell'applicazione per distribuire le dimensioni corrette dei nodi.

I nodi del servizio Azure Kubernetes vengono eseguiti come diversi tipi e dimensioni di macchine virtuali di Azure. Ogni dimensione della macchina virtuale fornisce:

  • Una quantità diversa di risorse principali, ad esempio CPU e memoria.
  • Numero massimo di dischi che possono essere collegati.

Le prestazioni dell'archiviazione variano anche tra le dimensioni di macchina virtuale per le operazioni di I/O al secondo massime nei dischi locali e collegati.

Se le applicazioni richiedono Dischi di Azure come soluzione di archiviazione, definire le dimensioni di una macchina virtuale del nodo appropriata. Le funzionalità di archiviazione e le quantità di CPU e memoria svolgono un ruolo importante quando si decidono le dimensioni di una macchina virtuale.

Ad esempio, mentre sia le dimensioni Standard_B2ms che Standard_DS2_v2 della VM includono una quantità simile di risorse di CPU e memoria, le prestazioni di archiviazione potenziali sono diverse:

Tipo e dimensioni del nodo vCPU Memoria (GiB) Numero massimo di dischi dati Operazioni di I/O al secondo del disco senza memorizzazione nella cache Velocità effettiva massima senza memorizzazione nella cache (MBps)
Standard_B2ms 2 8 4 1.920 22,5
Standard_DS2_v2 2 7 8 6.400 96

In questo esempio, lo Standard_DS2_v2 offre il doppio del numero di dischi collegati e tre o quattro volte la quantità di operazioni di I/O al secondo e velocità effettiva del disco. Se sono state confrontate solo le risorse di calcolo di base e i costi confrontati, è possibile che siano state scelte le dimensioni della macchina virtuale Standard_B2ms con prestazioni e limitazioni di archiviazione scarse.

È opportuno consultare il team di sviluppo delle applicazioni per comprendere le esigenze di capacità e prestazioni di archiviazione. Scegliere quindi la dimensione di macchina virtuale appropriata per i nodi del servizio Azure Kubernetes in modo da soddisfare o superare queste esigenze di prestazioni. Stabilire regolarmente una baseline delle applicazioni per modificare la dimensione di macchina virtuale in base alle necessità.

Nota

Per impostazione predefinita, le dimensioni e le prestazioni del disco per i dischi gestiti vengono assegnate in base allo SKU e alla vCPU selezionati. Il ridimensionamento predefinito del disco del sistema operativo viene usato solo nei nuovi cluster o pool di nodi quando i dischi del sistema operativo temporanei non sono supportati e non viene specificata una dimensione predefinita del disco del sistema operativo. Per altre informazioni, vedere Ridimensionamento del disco del sistema operativo predefinito.

Per altre informazioni sulle dimensioni di macchina virtuale disponibili, vedere Dimensioni delle macchine virtuali Linux in Azure.

Effettuare il provisioning dinamico dei volumi

Materiale sussidiario sulle procedure consigliate

Per ridurre il sovraccarico di gestione e abilitare il ridimensionamento, evitare di creare e assegnare volumi persistenti in modo statico. Usare invece il provisioning dinamico. Nelle classi di archiviazione definire i criteri di recupero appropriati per ridurre al minimo i costi di archiviazione non necessari dopo l'eliminazione dei pod.

Per collegare l'archiviazione ai pod, usare volumi permanenti. I volumi possono essere creati in modo manuale o dinamico. La creazione di volumi persistenti aggiunge manualmente un sovraccarico di gestione e limita la possibilità di ridimensionare. Effettuare invece il provisioning di volume persistente in modo dinamico per semplificare la gestione dell'archiviazione e consentire alle applicazioni di aumentare e ridimensionare in base alle esigenze.

Diagramma delle attestazioni di volume permanente in un cluster del servizio Azure Kubernetes.

Un'attestazione di volume permanente consente di creare dinamicamente le risorse di archiviazione necessarie. I dischi di Azure sottostanti vengono creati man mano che i pod li richiedono. Nella definizione del pod si richiede che un volume venga creato e collegato a un determinato percorso di montaggio.

Per i concetti relativi alla creazione dinamica e all'uso dei volumi, vedere Attestazioni di volume permanente.

Per una dimostrazione di questi volumi in azione, vedere come creare in modo dinamico e usare un volume permanente con Dischi di Azure o File di Azure.

Nell'ambito delle definizioni di classe di archiviazione impostare i criteri reclaimPolicy appropriati. Questo criterio reclaimPolicy controlla il comportamento della risorsa di archiviazione di Azure sottostante quando il pod viene eliminato. La risorsa di archiviazione sottostante può essere eliminata o mantenuta per un uso futuro del pod. Impostare il criterio reclaimPolicy per conservare o eliminare.

Comprendere le esigenze dell'applicazione e implementare controlli regolari per lo spazio di archiviazione conservato per ridurre al minimo la quantità di spazio di archiviazione inutilizzato e fatturato.

Per altre informazioni sulle opzioni delle classi di archiviazione, vedere Classi di archiviazione.

Proteggere ed eseguire il backup dei dati

Materiale sussidiario sulle procedure consigliate

Eseguire il backup dei dati usando uno strumento appropriato per il tipo di archiviazione, ad esempio Velero o Backup di Azure. Verificare l'integrità e la sicurezza di tali backup.

Quando le applicazioni archiviano e utilizzano dati salvati in modo permanente su dischi o in file, è necessario eseguire regolari backup o snapshot di tali dati. Dischi di Azure supporta l'uso di tecnologie snapshot integrate. È possibile che le applicazioni debbano scaricare scritture su disco prima di eseguire l'operazione snapshot. Velero può eseguire il backup di volumi permanenti insieme a risorse e configurazioni cluster aggiuntive. Se non è possibile rimuovere lo stato dall'applicazione, eseguire il backup dei dati di volumi permanenti e testare regolarmente le operazioni di ripristino per verificare l'integrità dei dati e i processi necessari.

Comprendere le limitazioni dei diversi approcci ai backup dei dati e la necessità o meno di disattivare i dati prima di creare lo snapshot. Non sempre i backup dei dati consentono di ripristinare l'ambiente applicativo della distribuzione cluster. Per altre informazioni su questi scenari, vedere le procedure consigliate per continuità aziendale e ripristino di emergenza nel servizio Azure Kubernetes.

Passaggi successivi

In questo articolo sono state illustrate in particolare le procedure consigliate di archiviazione nel servizio Azure Kubernetes. Per altre informazioni di base sull'archiviazione in Kubernetes, vedere Opzioni di archiviazione per le applicazioni nel servizio Azure Kubernetes.