Che cos'è Azure Container Storage?
Azure Container Storage è un servizio di gestione, distribuzione e orchestrazione basato sul cloud creato in modo nativo per i contenitori. Si integra con Kubernetes e consente di effettuare in modo dinamico e automatico il provisioning di volumi persistenti per archiviare dati per le applicazioni con stato in esecuzione nei cluster Kubernetes.
Importante
Archiviazione di Container Azure non è disponibile in tutte le aree di Azure. Vedi la disponibilità a livello di area. Archiviazione di Container Azure è ora disponibile a livello generale a partire dalla versione 1.1.0. La versione disponibile a livello generale è consigliata per i carichi di lavoro di produzione. Se in precedenza è stata installata l'anteprima di Archiviazione di Container Azure e non è abilitato l'aggiornamento automatico, assicurarsi di eseguire l'aggiornamento alla versione GA.
Per iniziare a usare Azure Container Storage, vedere Usare Azure Container Storage con il servizio Azure Kubernetes o guardare il video.
Questo video offre un'introduzione ad Azure Container Storage, un servizio di gestione e orchestrazione di archiviazione end-to-end per applicazioni con stato. Informazioni su come ottimizzare le prestazioni dei carichi di lavoro con stato nel servizio Azure Kubernetes per ridimensionare in modo efficace i servizi di archiviazione offrendo un'esperienza nativa dei contenitori conveniente.
Tipi di archivio supportati
Archiviazione contenitori di Azure usa le offerte di Archiviazione di Azure esistenti per l'archiviazione dei dati effettiva, offrendo una soluzione di orchestrazione e gestione dei volumi creata appositamente per i contenitori. È possibile scegliere una delle opzioni di archiviazione di backup supportate per creare un pool di archiviazione per i volumi persistenti.
Azure Container Storage offre il supporto di volumi permanenti con la modalità di accesso ReadWriteOnce ai cluster del servizio Azure Kubernetes basati su Linux. Le opzioni di archiviazione di backup supportate includono solo offerte di archiviazione a blocchi: Dischi di Azure, Dischi temporanei (NVMe locale o SSD temporanea) e SAN di Elastic in Azure. La tabella seguente riepiloga i tipi di archiviazione supportati, i carichi di lavoro consigliati e i modelli di provisioning.
Tipo di archiviazione | Descrizione | Carichi di lavoro | Offerte | Modello di provisioning |
---|---|---|---|---|
SAN di Elastic in Azure (anteprima) | Effettuare il provisioning su richiesta di una risorsa completamente gestita | Database per utilizzo generico, servizi di streaming e messaggistica, ambienti CD/CI e altri carichi di lavoro di livello 1/livello 2. | SAN di Elastic in Azure | Con provisioning dell'archiviazione su richiesta per volume e snapshot del volume creati. Più cluster possono accedere a una singola SAN contemporaneamente, tuttavia i volumi permanenti possono essere collegati solo da un utente alla volta. |
Dischi di Azure | Controllo granulare degli SKU e delle configurazioni di archiviazione | I dischi di Azure sono adatti per i database di livello 1 e per utilizzo generico, ad esempio MySQL, MongoDB e PostgreSQL. | SSD Premium, SSD Premium v2, SSD Standard, Disco Ultra | Viene effettuato il provisioning per ogni pool di archiviazione del contenitore di destinazione e dimensioni massime del volume. |
Disco temporaneo | Usa le risorse di archiviazione locali nei nodi del servizio Azure Kubernetes (NVMe o unità SSD temporanea) | Il disco temporaneo è estremamente sensibile alla latenza (bassa latenza inferiore a millisecondi), quindi è consigliabile per le applicazioni senza requisiti di durabilità dei dati o con supporto per la replica dei dati predefinita, ad esempio Cassandra. | NVMe è disponibile in alcuni SKU di macchine virtuali di Azure, ad esempio SKU di VM ottimizzati per l'archiviazione o SKU di VM con accelerazione GPU | Distribuito come parte delle macchine virtuali che ospitano un cluster del servizio Azure Kubernetes. Il servizio Azure Kubernetes individua l'archiviazione temporanea disponibile nei nodi del servizio Azure Kubernetes e la acquisisce per la distribuzione del volume. |
Supporto delle funzionalità per tipi di archiviazione diversi
Il supporto delle funzionalità dipende dall'opzione di archiviazione di backup selezionata. La tabella seguente elenca le funzionalità principali di Azure Container Storage e indica le opzioni di archiviazione che le supportano.
Funzionalità | NVMe locale | SSD locale | Dischi di Azure | SAN di Elastic in Azure (anteprima) |
---|---|---|---|---|
Espansione/ridimensionamento del pool di archiviazione | Supportata | Supportato | Supportato | Non supportato |
Replica | Supportato | Non supportato | Supportato in modo nativo | Anteprima |
Utilizzo di risorse | Supportata | Supportato | Supportata | Anteprima |
SSE/CMK | Non supportato | Non supportato | Supportato | Anteprima |
Opzione Esponi ZRS | N/D | N/D | Supportata | Anteprima |
Volumi permanenti | Supportato1 | Supportato1 | Supportata | Anteprima |
Volumi temporanei | Supportata | Supportato | Supportata | Anteprima |
Snapshots | Supportata | Supportato | Supportato | Non supportato |
1 Per NVMe locale e unità SSD locale, Archiviazione di Container Azure usa volumi temporanei generici per impostazione predefinita, in cui i dati non sono permanenti. Tuttavia, è possibile aggiornare l'installazione di Archiviazione di Container Azure per supportare la creazione di volumi permanenti da pool di archiviazione su disco temporanei.
Disponibilità a livello di area
Azure Container Storage è disponibile solo per un sottoinsieme di aree di Azure:
- (Africa) Sudafrica settentrionale
- (Asia Pacifico) Australia orientale
- (Asia Pacifico) Asia orientale
- (Asia Pacifico) Giappone orientale
- (Asia Pacifico) Corea centrale
- (Asia Pacifico) Asia sud-orientale
- (Asia Pacifico) India centrale
- (Europa) Francia centrale
- (Europa) Germania centro-occidentale
- (Europa) Europa settentrionale
- (Europa) Europa occidentale
- (Europa) Regno Unito meridionale
- (Europa) Svezia centrale
- (Europa) Svizzera settentrionale
- (Medio Oriente) Emirati Arabi Uniti settentrionali
- (America del Nord) Stati Uniti orientali
- (America del Nord) Stati Uniti orientali 2
- (America del Nord) Stati Uniti occidentali
- (America del Nord) Stati Uniti occidentali 2
- (America del Nord) Stati Uniti occidentali 3
- (America del Nord) Stati Uniti centrali
- (America del Nord) Stati Uniti centro-settentrionali
- (America del Nord) Stati Uniti centro-meridionali
- (America del Nord) Stati Uniti centro-occidentali
- (America del Nord) Canada centrale
- (America del Nord) Canada orientale
- (America del Sud) Brasile meridionale
Novità di Azure Container Storage
Gli aggiornamenti più recenti migliorano la resilienza e le prestazioni dei contenitori con stato. Sono ora disponibili pool di archiviazione a più zone e replica del volume per i pool di archiviazione NVMe locali, garantendo la disponibilità durante gli errori a nodo singolo. Il supporto dello snapshot è disponibile in tutte le opzioni di archiviazione per il backup e il ripristino di emergenza. Inoltre, il portfolio Disco temporaneo include ora il supporto temp SSD, che offre soluzioni convenienti per i casi d'uso sfruttando l'archiviazione locale collegata direttamente:
- Migliorare la resilienza dei volumi persistenti ospitati nell'archiviazione NVMe locale con il supporto della replica.
- Miglioramento del ripristino del volume permanente dopo il riavvio di un cluster del servizio Azure Kubernetes (AKS).
- Personalizzare le prestazioni dell'archiviazione NVMe locale con nuove opzioni del livello di prestazioni.
Per altre informazioni su queste funzionalità, inviare un'e-mail al team di Azure Container Storage all'indirizzo containerstoragepm@microsoft.com.
Perché è utile Azure Container Storage
Fino ad ora, fornire l'archiviazione cloud per i contenitori richiedeva l'uso di singoli driver Container Storage Interface (CSI) per usare i servizi di archiviazione destinati ai carichi di lavoro incentrati su IaaS e renderli utilizzabili per i contenitori. Anche se i driver CSI sono utili in determinati scenari, l'uso di tali driver può creare un sovraccarico operativo e aumentare il rischio di problemi relativi alla disponibilità delle applicazioni, alla scalabilità, alle prestazioni, all'usabilità e ai costi.
Nonostante il nome, Archiviazione Azure Container non usa driver CSI. È invece derivato da OpenEBS, una soluzione open source che fornisce funzionalità di archiviazione dei contenitori per Kubernetes. Azure Container Storage offre una soluzione di orchestrazione di volumi gestiti tramite controller di archiviazione basati su microservizi in un ambiente Kubernetes e dà vita a una vera archiviazione nativa del contenitore.
È possibile usare Azure Container Storage per:
Accelerare le iniziative da macchina virtuale a contenitore: Azure Container Storage espone l'intera gamma di offerte di archiviazione a blocchi di Azure che in precedenza erano disponibili solo per le macchine virtuali e le rende disponibili per i contenitori. Ciò include un disco temporaneo che offre una latenza estremamente bassa per carichi di lavoro come Cassandra, nonché SAN di Elastic in Azure che fornisce destinazioni native iSCSI e con provisioning condiviso.
Semplificare la gestione dei volumi con Kubernetes: fornendo l'orchestrazione del volume tramite il piano di controllo Kubernetes, Azure Container Storage semplifica la distribuzione e la gestione dei volumi all'interno di Kubernetes, senza la necessità di spostarsi tra piani di controllo diversi.
Ridurre il costo totale di proprietà (TCO): migliorare l'efficienza dei costi aumentando la scalabilità dei volumi persistenti supportati per ogni pod o nodo. Ridurre le risorse di archiviazione necessarie per il provisioning condividendo in modo dinamico le risorse di archiviazione. Si noti che il supporto per l'aumento delle prestazioni per il pool di archiviazione stesso non è fornito.
Vantaggi chiave
Aumento rapido dei pod con stato: Azure Container Storage monta volumi persistenti su protocolli di archiviazione a blocchi di rete (NVMe-oF o iSCSI), offrendo collegamento e scollegamento rapidi di volumi persistenti. È possibile iniziare in piccolo e distribuire risorse di piccole dimensioni in base alle esigenze, assicurandosi che le applicazioni non vengano interrotte o non abbiano carenza di risorse durante l'inizializzazione o nell'ambiente di produzione. La resilienza delle applicazioni è stata migliorata con i respawn dei pod nel cluster, richiedendo un rapido spostamento dei volumi persistenti. Sfruttando i protocolli di rete remoti, Azure Container Storage associa strettamente il ciclo di vita dei pod per supportare applicazioni con stato altamente resilienti e con scalabilità elevata nel servizio Azure Kubernetes.
Prestazioni migliorate per i carichi di lavoro con stato: Archiviazione contenitori di Azure consente prestazioni di lettura superiori e offre prestazioni di scrittura quasi disco usando NVMe-oF su TCP. Ciò consente ai clienti di soddisfare in modo conveniente i requisiti di prestazioni per vari carichi di lavoro dei contenitori, tra cui il livello 1 a I/O intensivo, l'utilizzo generico, quello sensibile alla velocità effettiva e quello di sviluppo/test. Accelerare il tempo di collegamento/scollegamento dei volumi persistenti e ridurre al minimo il tempo di failover dei pod.
Orchestrazione di volumi nativi di Kubernetes: creare pool di archiviazione e volumi permanenti, acquisire snapshot e gestire l'intero ciclo di vita dei volumi usando comandi
kubectl
senza passare da set di strumenti a diverse operazioni del piano di controllo.
Glossario
È utile comprendere alcuni termini chiave relativi ad Azure Container Storage e a Kubernetes:
Containerizzazione
Compressione del codice dell'applicazione con solo il sistema operativo e le dipendenze necessarie per creare un singolo eseguibile.
Kubernetes
Kubernetes è un sistema open source per l'automazione delle attività di distribuzione, ridimensionamento e gestione delle applicazioni in contenitori.
Cluster
Un cluster Kubernetes è un set di nodi di calcolo che eseguono applicazioni in contenitori. Ogni nodo viene gestito dal piano di controllo e contiene i servizi necessari per eseguire i pod.
Pod
Un pod è un gruppo di uno o più contenitori con risorse di archiviazione e di rete condivise e una specifica per l'esecuzione dei contenitori. Un pod è l'unità distribuibile più piccola in un cluster Kubernetes.
Servizio Azure Kubernetes (AKS)
Il servizio Azure Kubernetes è un servizio Kubernetes ospitato che semplifica la distribuzione di un cluster Kubernetes gestito in Azure eseguendo l'offload del sovraccarico operativo in Azure. Azure gestisce le attività critiche, ad esempio la manutenzione e il monitoraggio dell'integrità.
Pool di archiviazione
Lo stack di Azure Container Storage tenta di unificare il modello a oggetti tra le risorse di proprietà del cluster e le astrazioni della piattaforma. Per ottenere la rappresentazione unificata, la capacità di archiviazione disponibile viene aggregata in un oggetto pool di archiviazione. La capacità di archiviazione all'interno di un pool di archiviazione è considerata omogenea. Un cluster del servizio Azure Kubernetes può avere più pool di archiviazione. I pool di archiviazione fungono anche da limite di autenticazione e provisioning. Forniscono un costrutto logico per gli operatori per gestire l'infrastruttura di archiviazione semplificando al tempo stesso la creazione e la gestione dei volumi per gli sviluppatori di applicazioni.
Classe di archiviazione
Una classe di archiviazione Kubernetes definisce la modalità di creazione dinamica di un'unità di archiviazione con un volume permanente. Per altre informazioni, vedere Classi di archiviazione di Kubernetes.
Volume
Un volume Kubernetes è una directory contenente i dati accessibili ai contenitori in un determinato pod. I volumi possono essere permanenti o temporanei. Il thin provisioning dei volumi viene eseguito all'interno di un pool di archiviazione. Questi condividono le caratteristiche delle prestazioni (operazioni di I/O al secondo, larghezza di banda e capacità) del pool di archiviazione.
Volume permanente
I volumi persistenti sono come dischi in una macchina virtuale. Rappresentano un dispositivo a blocchi non elaborato che è possibile usare per montare qualsiasi file system. Gli sviluppatori di applicazioni creano volumi permanenti insieme alle definizioni di applicazioni o pod e i volumi sono spesso legati al ciclo di vita dell'applicazione con stato. Per altre informazioni, vedere Volumi persistenti.
Attestazione di volume permanente (PVC)
Un'attestazione di volume permanente viene usata per il provisioning automatico dell'archiviazione in una classe di archiviazione.