Panoramica delle opzioni di archiviazione

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 EBS gp2.
  • premium-rwo: utilizzata per il provisioning dei volumi EBS io1.

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