Crea spazio di archiviazione permanente per i carichi di lavoro in esecuzione su GKE su AWS con oggetti Kubernetes.
Utilizzo dello spazio di archiviazione permanente nei carichi di lavoro GKE su AWS
In GKE su AWS, utilizzi le risorse Kubernetes PersistentVolume (PV), PersistentVolumeClaim (PVC) e StorageClass per fornire spazio di archiviazione di file e a blocchi permanenti ai carichi di lavoro. Puoi creare snapshot dello spazio di archiviazione permanente con le VolumeSnapshot e VolumeSnapshotClass. Gli snapshot vengono archiviati nel tuo account AWS.
StorageClass
I cluster hanno una StorageClass Kubernetes predefinita che esegue dinamicamente il provisioning dello spazio di archiviazione stateful per i carichi di lavoro sui volumi AWS Elastic Block Storage (EBS). Puoi anche utilizzare una StorageClass personalizzata per eseguire il provisioning di altri tipi di volumi. Queste opzioni sono descritte nella sezione seguente.
VolumeSnapshotClass
I cluster hanno una VolumeSnapshotClass Kubernetes predefinita che crea snapshot dello spazio di archiviazione stateful sui volumi EBS
Configurazione dello spazio di archiviazione del cluster
Se vuoi eseguire il provisioning dei volumi di archiviazione con una StorageClass non predefinita, puoi creare una StorageClass personalizzata in un cluster che utilizza parametri diversi o un driver di archiviazione diverso. Poi, puoi impostare la StorageClass predefinita, o configurare i carichi di lavoro in modo che utilizzino la StorageClass. Ad esempio, puoi utilizzare un riferimento alla StorageClass in un oggetto StatefulSet per impostare un nome StorageClass specifico.
Utilizzo delle istantanee del volume
Puoi utilizzare la VolumeSnapshot per creare snapshot dei volumi di archiviazione. Poi puoi eseguire il provisioning di nuovi volumi permanenti da questi snapshot. Per ulteriori informazioni, consulta Snapshot di un oggetto PersistentVolume.
Elastic Block Storage (EBS)
GKE su AWS gestisce i volumi AWS EBS con aws-ebs-csi-driver.
La versione del driver CSI EBS è associata a una versione di Kubernetes di GKE su AWS. Quando esegui l'upgrade della versione del cluster, la nuova versione del driver viene applicata automaticamente. In genere, questa versione è l'ultimo driver disponibile al momento del rilascio della versione di GKE su AWS.
Il driver preinstallato con GKE su AWS fornisce le seguenti StorageClass per impostazione predefinita:
standard-rwo(predefinita): utilizzata per il provisioning dei volumi EBSgp2.premium-rwo: utilizzata per il provisioning dei volumi EBSio1.
I volumi EBS supportano la modalità di accesso ReadWriteOnce di Kubernetes.
Volumi EBS preesistenti
Puoi eseguire il provisioning dei volumi EBS esistenti nei carichi di lavoro GKE su AWS. Consulta Importazione di un volume EBS esistente per esempi su come utilizzare i volumi EBS in GKE su AWS.
Elastic File System (EFS)
GKE su AWS supporta il montaggio di file system EFS e punti di accesso preesistenti. Per ulteriori informazioni, consulta Utilizzare un file system EFS.
Opzioni di archiviazione aggiuntive
Altri sistemi di archiviazione di terze parti possono essere utilizzati con GKE su AWS tramite driver Container Storage Interface (CSI) di terze parti (consigliato) o plug-in di volume Kubernetes in-tree.
Driver CSI
The Container Storage Interface (CSI) è un'API standard aperta che consente a Kubernetes di collegare sistemi di archiviazione arbitrari a carichi di lavoro containerizzati. Un elenco non esaustivo di driver CSI è disponibile nella documentazione per gli sviluppatori CSI di Kubernetes. GKE su AWS supporta CSI v1.x.
Per utilizzare un driver CSI nel cluster, devi installare un driver CSI fornito dal fornitore dello spazio di archiviazione. Poi puoi configurare i carichi di lavoro in modo che utilizzino la StorageClass del driver o impostare la StorageClass predefinita.
Driver di archiviazione specifici
I seguenti driver di volume possono essere utilizzati con GKE su AWS.
FSx for Lustre (FSX)
GKE su AWS non gestisce FSx volumi direttamente. Puoi installare manualmente il aws-fsx-csi-driver, ma l'assistenza non è disponibile da Google.
Plug-in di volume in-tree di Kubernetes
Kubernetes viene fornito con plug-in di volume in-tree (integrati). I driver in-tree supportati includono i seguenti:
- configMap
- emptyDir
- hostPath
- nfs
- projected
- secrets
Passaggi successivi
- Scopri come utilizzare StorageClass con i tuoi carichi di lavoro.
- Utilizza un volume EBS preesistente.
- Scopri di più sui volumi permanenti e sul provisioning dinamico in GKE.
- Scopri come creare snapshot di un oggetto PersistentVolume.
- Leggi la documentazione relativa alle StorageClass di Kubernetes.
- Leggi l'annuncio del rilascio della versione GA di Container Storage Interface (CSI) per Kubernetes.