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
- Bloccare l'archiviazione utilizzando i pool di archiviazione Hyperdisk
- Archiviazione a blocchi temporanea e non elaborata mediante SSD locale
- Archiviazione di file
- Archiviazione di oggetti mediante Cloud Storage FUSE
- Database gestiti
- Artefatti build
Archiviazione a blocchi (Persistent Disk)
I volumi dei dischi permanenti 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 dischi permanenti ai nodi o ridimensionare i volumi dei dischi permanenti esistenti. Puoi consentire a GKE di eseguire il provisioning dinamico dei volumi permanenti supportati da dischi permanenti oppure puoi eseguire il provisioning manuale dei dischi.
Questa opzione di archiviazione è supportata sui cluster GKE Autopilot e Standard.
Per impostazione predefinita, i volumi dei Persistent Disk sono a livello di zona di risorse (in una singola zona all'interno di una regione). Puoi creare volumi di dischi permanenti a livello di regione (conservati in due zone nella stessa regione). Puoi anche collegare un volume del disco permanente in sola lettura a più nodi contemporaneamente. Questa opzione è supportata per Persistent Disk a livello di zona e di regione come i bilanciatori del carico e i volumi di archiviazione.
Lo spazio di archiviazione su disco permanente 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 disco permanente
Usa l'archiviazione su disco permanente se i tuoi cluster richiedono l'accesso a archiviazione a blocchi durevole e ad alte prestazioni con prestazioni elevate. Un Persistent Disk è generalmente collegato a un singolo pod. Questa opzione di archiviazione supporta la modalità di accesso ReadWriteOnce. GKE fornisce il supporto per la configurazione dei volumi di Persistent Disk con una gamma di opzioni di latenza e prestazioni, tra cui:
- Disco permanente bilanciato: adatto all'uso aziendale standard diverse applicazioni. 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. Con l'appoggio di le unità disco rigido standard (HDD).
- Disco permanente con carico estremo: adatto ad applicazioni aziendali come come SAP HANA e Oracle. Questa opzione offre le massime prestazioni per soddisfare per soddisfare le esigenze dei più grandi database in memoria. Con supporto di 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 disco permanente di Compute Engine Il driver CSI è il modo principale per utilizzare l'archiviazione su Persistent Disk con GKE. Per istruzioni, vedi Utilizzo del driver CSI per il disco permanente di Compute Engine.
Archiviazione a blocchi (Hyperdisk di Google Cloud)
I volumi Hyperdisk utilizzano la nuova generazione di archiviazione a blocchi 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 input/output 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 sui cluster GKE Autopilot e Standard. I volumi Hyperdisk sono risorse di zona soggette alla 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. Un volume Hyperdisk è generalmente collegato a un
un solo pod. Questa opzione di archiviazione supporta
Modalità di accesso a ReadWriteOnce
. Puoi selezionare
dalle seguenti opzioni di archiviazione Hyperdisk per GKE in base alle tue esigenze di rapporto prezzo/prestazioni:
- Iperdisco bilanciato: opzione più adatta alla 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 costi contenuti con velocità effettiva elevata, Questa è una buona opzione se il tuo caso d'uso ha come target lo scale out di analisi (ad esempio Hadoop o Kafka), ripristinando i dati freddi dal backup e carichi di lavoro sensibili ai costi orientati alla velocità effettiva.
- 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 l'addestramento e l'inferenza AI/ML carichi di lavoro che devono caricare rapidamente i pesi del modello. Utilizza questa opzione per ridurre inattività delle risorse GPU/TPU a causa di colli di bottiglia in termini di 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, vedi 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 di archiviazione Hyperdisk)
Un pool di archiviazione Hyperdisk è un pool di risorse di archiviazione di cui è stato eseguito il pre-provisioning (capacità, e IOPS) utilizzabili dai dischi nel tuo 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, vedi 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 tuoi 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 nodo diverso.
Questa opzione di archiviazione è supportata sui 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. L'archiviazione SSD locale può essere particolarmente efficace come livello di memorizzazione nella cache di fronte a Cloud Storage per AI/ML, elaborazione batch, di analisi e database in memoria.
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 su 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
dati, 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 operazioni manuali minime. 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 sui cluster GKE Autopilot e Standard. di archiviazione Filestore livello di servizio enterprise il valore predefinito è la disponibilità a livello di regione, mentre gli altri livelli di servizio prevedono la disponibilità del servizio. 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 l'archiviazione Filestore se le tue applicazioni hanno bisogno di un file system di rete (NFS) e più lettori e autori. Questa opzione di archiviazione è adatta se il tuo caso d'uso riguarda i sistemi di gestione dei contenuti, la migrazione delle applicazioni, analisi, rendering ed elaborazione dei 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 PersistentVolume.
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, vedi Accedi 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 è un archivio di oggetti per dati binari e oggetti, BLOB e e 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 usare Cloud Storage FUSE Driver CSI 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. Dati di Cloud Storage attivati
GKE è permanente, ovvero i dati archiviati nei tuoi bucket
verrà mantenuto anche se il pod che lo utilizza viene arrestato.
Perché utilizzare Cloud Storage FUSE
L'opzione Cloud Storage FUSE è adatta se devi fornire la semantica del file di Cloud Storage per la portabilità. Cloud Storage FUSE è anche una scelta comune per gli sviluppatori che vogliono archiviare e accedere ai dati di addestramento del machine learning (ML) e dei modelli come oggetti in Cloud Storage.
Per iniziare a utilizzare questa opzione di archiviazione, consulta queste risorse:
- Per una panoramica, vedi 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 fornisce un overhead operativo ridotto ed è ottimizzato per Google Cloud dell'infrastruttura. I database gestiti richiedono un impegno minore 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à. Crei un database, crei la tua app e con Google Cloud. 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:
Cloud SQL: database MySQL, PostgreSQL e SQL Server completamente gestito. Consulta Connettiti da Google Kubernetes Engine.
Spanner: database relazionale scalabile in orizzontale con elevata coerenza e disponibilità. Consulta Esegui il deployment di un'app utilizzando GKE Autopilot e Cloud Spanner.
Memorystore for Redis: servizio di archiviazione dei dati 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 su GKE, vedi Pianificare i deployment dei 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 eseguire il pull delle immagini dai repository Docker di Artifact Registry in GKE, consulta 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.