Questo documento illustra le opzioni di archiviazione supportate da GKE e alcuni aspetti chiave da prendere in considerazione per selezionare l'opzione migliore per le esigenze della tua attività. Per determinare la famiglia di macchine appropriata per la tua selezione, consulta Confronto tra serie di macchine.
GKE supporta i seguenti tipi di archiviazione e integrazioni:
- Archiviazione a blocchi con Persistent Disk
- Archiviazione a blocchi utilizzando Google Cloud Hyperdisk
- Archiviazione a blocchi con i pool di archiviazione Hyperdisk
- Archiviazione a blocchi temporanea e non elaborata utilizzando SSD locale
- Archiviazione di file
- Archiviazione di oggetti con Cloud Storage FUSE
- Database gestiti
- Artefatti build
Archiviazione a blocchi (Persistent Disk)
I volumi dei Persistent Disk sono dispositivi di archiviazione di rete durevoli gestiti da Compute Engine a cui i tuoi cluster GKE possono accedere come se si trattasse di dischi fisici su un computer desktop o un server. Quando i cluster richiedono spazio di archiviazione aggiuntivo, puoi collegare altri volumi dei Persistent Disk ai nodi o ridimensionare quelli esistenti. Puoi consentire a GKE di eseguire il provisioning dinamico dei volumi permanenti supportati da Persistent Disk oppure puoi eseguire il provisioning manuale dei dischi.
Questa opzione di archiviazione è supportata nei cluster GKE Autopilot e Standard.
Per impostazione predefinita, i volumi Persistent Disk sono risorse zonali (conservate in un'unica zona all'interno di una regione). Puoi creare volumi di Persistent Disk a livello di regione (conservati in due zone nella stessa regione). Puoi anche collegare un volume Persistent Disk in sola lettura a più nodi contemporaneamente. Questa funzionalità è supportata sia per i volumi Persistent Disk a livello di zona sia per quelli a livello di regione.
Lo spazio di archiviazione su Persistent Disk su GKE è permanente, il che significa che i dati archiviati sui dischi rimarranno anche se il pod che li utilizza viene terminato.
Perché utilizzare lo spazio di archiviazione su Persistent Disk
Utilizza lo spazio di archiviazione su disco permanente se i tuoi cluster richiedono l'accesso a un'archiviazione a blocchi durevole e ad alte prestazioni. Un volume Persistent Disk è in genere collegato a un singolo pod. Questa opzione di archiviazione supporta la modalità di accesso ReadWriteOnce. GKE supporta la configurazione dei volumi Persistent Disk con una serie di opzioni di latenza e prestazioni, tra cui:
- Disco permanente bilanciato: adatto per applicazioni aziendali standard. Questa opzione offre un equilibrio tra prestazioni e costi. Supportato da unità a stato solido (SSD). Questa è l'opzione predefinita per il provisioning dinamico dei volumi su cluster e nodi che eseguono GKE 1.24 o versioni successive.
- Disco permanente ad alte prestazioni: adatto per analisi dello scale out, database e memorizzazione nella cache permanente. Questa opzione è ideale per i carichi di lavoro sensibili alle prestazioni. Supportato da unità a stato solido (SSD).
- Disco permanente standard: adatto per carichi di lavoro di big data e calcolo di grandi dimensioni. Questa opzione è il tipo di disco più conveniente. Supportato da unità disco rigido (HDD) standard.
- Disco Extreme Persistent: adatto per applicazioni aziendali come SAP HANA e Oracle. Questa opzione offre le massime prestazioni per soddisfare le esigenze dei più grandi database in memoria. Supportato da unità a stato solido (SSD). Per le applicazioni critiche per le prestazioni, se Persistent Disk non fornisce prestazioni sufficienti, utilizza i dischi Hyperdisk Extreme.
Per iniziare a utilizzare questa opzione di archiviazione, consulta queste risorse:
- Per informazioni sui tipi di dischi disponibili, consulta Opzioni di archiviazione nella documentazione di Compute Engine.
- Il driver CSI del disco permanente di Compute Engine è il modo principale per utilizzare lo spazio di archiviazione Persistent Disk con GKE. Per istruzioni, consulta Utilizzare il driver CSI per il disco permanente di Compute Engine.
Archiviazione a blocchi (Google Cloud Hyperdisk)
I volumi Hyperdisk utilizzano l'archiviazione a blocchi di nuova generazione di Google Cloud. I volumi Hyperdisk ti consentono di ottimizzare dinamicamente le prestazioni dell'archiviazione a blocchi in base al carico di lavoro. Puoi configurare le operazioni di I/O al secondo (IOPS) e la velocità effettiva in modo indipendente per le tue applicazioni e adattarti alle mutevoli esigenze di prestazioni nel tempo.
Questa opzione di archiviazione è supportata nei cluster GKE Autopilot e Standard. I volumi HyperDisk sono risorse zonali, soggette a disponibilità regionale. Lo spazio di archiviazione Hyperdisk su GKE è permanente, il che significa che i dati archiviati sui dischi rimarranno anche se il pod che li utilizza viene terminato.
Perché utilizzare lo spazio di archiviazione Hyperdisk
Utilizza lo spazio di archiviazione Hyperdisk se devi ridimensionare e regolare dinamicamente le IOPS o il throughput. In genere, un volume Hyperdisk è collegato a un singolo pod. Questa opzione di archiviazione supporta la
modalità di accesso ReadWriteOnce
. Puoi scegliere tra le seguenti opzioni di archiviazione Hyperdisk per GKE in base alle tue esigenze di prezzo e prestazioni:
- Hyperdisk bilanciato: la soluzione migliore per la maggior parte dei carichi di lavoro. Si tratta di una buona opzione per il deployment della maggior parte delle app aziendali e line-of-business, nonché di database e server web.
- Velocità effettiva Hyperdisk: ottimizzata per un throughput elevato a basso costo. Questa è una buona opzione se il tuo caso d'uso ha come target l'analisi scalabile (ad esempio Hadoop o Kafka), il ripristino dei dati non attivi dai server di backup e i carichi di lavoro sensibili al costo orientati al throughput.
- Hyperdisk Extreme: ottimizzato per le prestazioni in termini di IOPS. Questa è una buona opzione se stai implementando carichi di lavoro ad alte prestazioni, come i sistemi di gestione dei database.
- Hyperdisk ML: ottimizzato per i workload di addestramento e inferenza AI/ML che devono caricare rapidamente i pesi del modello. Utilizza questa opzione per ridurre il tempo di inattività delle risorse GPU/TPU a causa di colli di bottiglia della latenza.
Le opzioni di archiviazione Hyperdisk sono supportate nei cluster GKE Autopilot e Standard.
Per iniziare a utilizzare questa opzione di archiviazione, consulta queste risorse:
- Per una panoramica, consulta Informazioni su HyperDisk per GKE.
- Per i limiti per disco, inclusi la velocità effettiva e gli IOPS massimi, consulta Limiti di Hyperdisk per disco nella documentazione di Compute Engine.
- Per configurare e utilizzare lo spazio di archiviazione Hyperdisk Throughput ed Extreme nei tuoi cluster, consulta Eseguire lo scale delle prestazioni dello spazio di archiviazione con Hyperdisk.
Archiviazione a blocchi (pool dello spazio di archiviazione Hyperdisk)
Un pool di archiviazione Hyperdisk è un pool di risorse di archiviazione (capacità, throughput e IOPS) pre-provisioned che possono essere utilizzate dai dischi del cluster GKE. Le risorse di archiviazione vengono condivise tra tutti gli Hyperdisk che crei all'interno del pool di archiviazione.
I cluster GKE Standard consentono che sia i dischi di avvio Hyperdisk (per i sistemi operativi) sia gli Hyperdisk collegati (per l'archiviazione dei dati) facciano parte di un pool di archiviazione. I cluster GKE Autopilot supportano solo gli Hyperdisk collegati per i pool di archiviazione.
Per iniziare a utilizzare questa opzione di archiviazione, consulta le seguenti risorse:
- Per una panoramica, consulta Informazioni sui pool di archiviazione Hyperdisk.
- Per configurare il pool di archiviazione Hyperdisk nei tuoi cluster GKE, consulta Ottimizzare le prestazioni e i costi di archiviazione con il pool di archiviazione Hyperdisk.
Archiviazione a blocchi temporanea e non elaborata (SSD locale)
I dischi SSD locali sono unità fisiche collegate direttamente ai nodi. Possono offrire un rendimento migliore, ma sono effimeri. Ogni volume SSD locale è collegato a un nodo specifico. Non puoi spostare il volume su un altro nodo.
Questa opzione di archiviazione è supportata nei cluster GKE Standard. Il supporto di Autopilot per le unità SSD locali è disponibile in anteprima sulle macchine A2 Ultra A100, sui cluster e sui pool di nodi che eseguono GKE 1.27 e versioni successive.
L'archiviazione temporanea supportata dallo spazio di archiviazione SSD locale su GKE è legata al ciclo di vita di un pod. Quando il pod viene terminato, viene eliminato anche lo spazio di archiviazione temporaneo associato.
Perché utilizzare l'SSD locale
L'utilizzo dell'archiviazione SSD locale nei cluster GKE è consigliato se hai bisogno di memorizzazione nella cache a caldo per i database e per l'analisi in tempo reale o di archiviazione temporanea ottimizzata per il flash che offre le latenze più basse. Lo spazio di archiviazione SSD locale può essere particolarmente efficace come livello di memorizzazione nella cache davanti a Cloud Storage per casi d'uso di AI/ML, elaborazione batch, analisi e database in-memory.
Per iniziare a utilizzare questa opzione di archiviazione, consulta queste risorse:
- Per una panoramica, consulta Informazioni sullo spazio di archiviazione SSD locale per GKE.
- Per configurare e utilizzare lo spazio di archiviazione SSD locale nei tuoi cluster come emptyDir, consulta Provisioning e utilizzo dello spazio di archiviazione temporaneo basato su SSD locale.
- Per configurare e utilizzare lo spazio di archiviazione SSD locale nei tuoi cluster come risorse locali PersistentVolume, consulta Provisioning e utilizzo di archiviazione a blocchi non elaborati basata su SSD locali.
Archiviazione di file
Filestore fornisce un file system condiviso basato su cloud per i dati non strutturati, con accesso al file system di rete (NFS). Le istanze Filestore fungono da file server su Google Cloud che forniscono archiviazione permanente con accesso ReadWriteMany
per i tuoi cluster GKE. Le istanze Filestore sono disaccoppiate dall'host e richiedono un'operazione manuale minima. I failover dei carichi di lavoro
sono trasparenti perché non sono necessarie operazioni di infrastruttura per collegare o scollegare
i volumi.
Questa opzione di archiviazione è supportata nei cluster GKE Autopilot e Standard. Lo spazio di archiviazione Filestore con il livello di servizio Enterprise ha per impostazione predefinita la disponibilità a livello di regione, mentre gli altri livelli di servizio hanno disponibilità a livello di zona. Lo spazio di archiviazione Filestore su GKE è permanente, il che significa che i dati archiviati nelle istanze rimarranno anche se il pod che li utilizza viene terminato.
Perché utilizzare lo spazio di archiviazione Filestore
Utilizza lo spazio di archiviazione Filestore se le tue applicazioni richiedono l'accesso al file system di rete (NFS) e più lettori e scrittori. Questa opzione di archiviazione è adatta se il tuo caso d'uso prevede sistemi di gestione dei contenuti, migrazione di applicazioni, analisi dei dati, rendering ed elaborazione di contenuti multimediali.
Per un'ulteriore efficienza in termini di costi, Filestore Multishares per GKE ti consente di condividere un'istanza Filestore di livello Enterprise di almeno 10 GiB con fino a 80 volumi permanenti.
Per iniziare a utilizzare questa opzione di archiviazione, consulta queste risorse:
- Per una panoramica, consulta Informazioni sul supporto di Filestore per GKE.
- Il driver CSI Filestore è il modo principale per utilizzare lo spazio di archiviazione Filestore con GKE. Per istruzioni, consulta Accedere alle istanze Filestore con il driver CSI Filestore.
- Per le istruzioni su Filestore Multishares, consulta Ottimizzare lo spazio di archiviazione con Filestore Multishares per GKE.
Archiviazione di oggetti (Cloud Storage FUSE)
Cloud Storage è uno spazio di archiviazione di oggetti per dati binari e oggetti, blob e dati non strutturati. Il driver CSI di Cloud Storage FUSE gestisce l'integrazione di Cloud Storage FUSE con le API Kubernetes per utilizzare i bucket Cloud Storage esistenti come volumi. Puoi utilizzare il driver CSI di Cloud Storage FUSE per montare i bucket come file system sui nodi GKE.
Il driver CSI di Cloud Storage FUSE supporta le modalità di accesso ReadWriteMany
, ReadOnlyMany
e
ReadWriteOnce
sui cluster GKE Autopilot e Standard. Gli oggetti Cloud Storage hanno disponibilità a livello di regione. I dati di Cloud Storage su GKE sono permanenti, il che significa che i dati archiviati nei bucket rimarranno invariati anche se il pod che li utilizza viene terminato.
Perché utilizzare Cloud Storage FUSE
L'opzione FUSE Cloud Storage è adatta se hai bisogno della semantica dei file davanti a Cloud Storage per la portabilità. Cloud Storage FUSE è anche una scelta comune per gli sviluppatori che vogliono archiviare e accedere all'addestramento del machine learning (ML) e ai dati dei modelli come oggetti in Cloud Storage.
Per iniziare a utilizzare questa opzione di archiviazione, consulta queste risorse:
- Per una panoramica, consulta Cloud Storage FUSE.
- Per utilizzare i bucket Google Cloud nei tuoi cluster, consulta Accedere ai bucket Cloud Storage con il driver CSI FUSE di Cloud Storage.
Database gestiti
Un database gestito, come Cloud SQL o Spanner, offre un overhead operativo ridotto ed è ottimizzato per l'infrastruttura Google Cloud. I database gestiti richiedono meno impegno per la manutenzione e il funzionamento rispetto a un database di cui esegui il deployment direttamente in Kubernetes.
Perché utilizzare i database gestiti
L'utilizzo di un database gestito di Google Cloud consente ai tuoi carichi di lavoro con stato su GKE di accedere ai dati persistenti, nonché di automatizzare le attività di manutenzione come backup, applicazione di patch e scalabilità. Creerai un database, creerai la tua app e lascerai che sia Google Cloud a scalarla per te. Tuttavia, ciò significa anche che potresti non avere accesso alla versione esatta di un database, a un'estensione o alla versione esatta del database che vuoi.
GKE fornisce il supporto per la connessione ai servizi di database gestiti di Google Cloud, tra cui:
AlloyDB per PostgreSQL: database completamente gestito e compatibile con PostgreSQL con prestazioni, disponibilità e scalabilità superiori per i carichi di lavoro transazionali e analitici. Consulta Eseguire la connessione da Google Kubernetes Engine ad AlloyDB per PostgreSQL.
Cloud SQL: database MySQL, PostgreSQL e SQL Server completamente gestiti. Consulta Eseguire la connessione da Google Kubernetes Engine.
Spanner: database relazionale scalabile in orizzontale con elevata coerenza e disponibilità. Consulta Eseguire il deployment di un'app utilizzando GKE Autopilot e Cloud Spanner.
Memorystore for Redis: servizio di datastore in memoria completamente gestito. Consulta Connessione a un'istanza Redis da un cluster Google Kubernetes Engine.
Per iniziare a utilizzare questa opzione di archiviazione, consulta queste risorse:
- Spiegazione delle opzioni di database Google Cloud.
- Per considerazioni sull'utilizzo di un database gestito o di un database containerizzato ospitato su GKE, consulta Pianifica i deployment di database su GKE.
Artefatti build (Artifact Registry)
Artifact Registry è un gestore di repository per immagini container, pacchetti di sistemi operativi e pacchetti di linguaggio creati e distribuiti da te.
Perché utilizzare Artifact Registry
Artifact Registry è un'opzione adatta per archiviare le immagini container private, i grafici Helm e altri artefatti di build.
Per estrarre le immagini dai repository Docker di Artifact Registry in GKE, consulta Eseguire il deployment in Google Kubernetes Engine nella documentazione di Artifact Registry.
Passaggi successivi
- Leggi il post del blog Una mappa delle opzioni di archiviazione in Google Cloud.
- Progetta una strategia di archiviazione ottimale per il tuo carico di lavoro cloud.
- Scopri come utilizzare le astrazioni di archiviazione di Kubernetes in GKE: PersistentVolumes, StatefulSets.
- Consulta la pagina della risorsa Dati su GKE per scoprire le soluzioni di dati che puoi integrare con GKE.