Panoramica delle opzioni di archiviazione

Puoi creare archiviazione permanente per i carichi di lavoro in esecuzione su GKE su AWS con oggetti Kubernetes.

Utilizzo dell'archiviazione permanente nei tuoi carichi di lavoro GKE sui carichi di lavoro AWS

In GKE su AWS, utilizzi le risorse Kubernetes PersistentVolume (PV), PersistentVolumeClaim (PVC) e StorageClass per fornire file permanenti e archiviazione a blocchi ai carichi di lavoro. Puoi creare snapshot di archiviazione permanente con le risorse VolumeSnapshot e VolumeSnapshotClass. Gli snapshot vengono archiviati nel tuo account AWS.

StorageClass

I cluster dispongono di una classe predefinita di Kubernetes StorageClass che esegue il provisioning dinamico di archiviazione stateful per i carichi di lavoro su volumi AWS Elastic Block Storage (EBS). Puoi anche utilizzare un oggetto StorageClass personalizzato per il provisioning di altri tipi di volumi. Queste opzioni sono descritte nella sezione seguente.

VolumeSnapshotClass

I cluster hanno un oggetto VolumeSnapshotClass predefinito di Kubernetes che crea snapshot di archiviazione stateful su volumi EBS.

Configurazione dello storage per il cluster

Se vuoi eseguire il provisioning dei volumi di archiviazione con un oggetto StorageClass non predefinito, puoi creare un oggetto StorageClass personalizzato in un cluster che utilizza parametri diversi o un driver di archiviazione diverso. Quindi, puoi impostare il valore predefinito di StorageClass o configurare i tuoi carichi di lavoro per l'utilizzo dell'oggetto StorageClass. Ad esempio, puoi utilizzare un oggetto Riferimento al valore di StorageClass in un oggetto StatefulSet per impostare un nome specifico di StorageClass.

Utilizzo delle istantanee del volume

Puoi utilizzare la risorsa VolumeSnapshot per creare snapshot di volumi di archiviazione. Successivamente, puoi eseguire il provisioning di nuovi volumi permanenti da questi snapshot. Per ulteriori informazioni, consulta Eseguire snapshot di un PersistentVolume.

Elastic Block Storage (EBS)

GKE su AWS gestisce i volumi AWS EBS con aws-ebs-csi-driver.

La versione del driver CSI di EBS è legata a una versione di GKE su AWS Kubernetes. Quando esegui l'upgrade della versione del cluster, la nuova versione del driver viene applicata automaticamente. Questa versione è in genere il driver più recente disponibile al momento del rilascio della versione di GKE su AWS.

Il driver preinstallato con GKE su AWS fornisce i seguenti valori di StorageClass per impostazione predefinita:

  • standard-rwo (predefinito): utilizzato per il provisioning dei volumi gp2 di EBS.
  • premium-rwo: utilizzato per il provisioning dei volumi io1 di EBS.

I volumi EBS supportano la modalità di accesso ReadWriteOnce di Kubernetes.

Volumi EBS preesistenti

Puoi eseguire il provisioning di volumi EBS esistenti nei tuoi carichi di lavoro GKE su carichi di lavoro AWS. Consulta Importazione di un volume EBS preesistente 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 maggiori 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 (opzione consigliata) o plug-in di volumi Kubernetes in-tree.

Driver CSI

Container Storage Interface (CSI) è un'API standard aperta che consente a Kubernetes di collegare sistemi di archiviazione arbitrari ai carichi di lavoro containerizzati. Un elenco non completo dei driver CSI è disponibile nella documentazione per gli sviluppatori CSI di Kubernetes. GKE su AWS supporta CSI v1.x,

Per utilizzare un driver CSI nel tuo cluster, devi installare un driver CSI fornito dal tuo fornitore di spazio di archiviazione. Puoi quindi configurare i carichi di lavoro per utilizzare l'oggetto StorageClass del driver o impostare il valore predefinito di StorageClass.

Driver di archiviazione specifici

I seguenti driver di volume possono essere utilizzati con GKE su AWS.

FSx per Lustre (FSX)

GKE su AWS non gestisce direttamente i volumi FSx. Puoi installare manualmente aws-fsx-csi-driver, ma l'assistenza non è disponibile da Google.

Plug-in di volumi Kubernetes in-tree

Kubernetes viene fornito con plug-in di volume in-tree (integrati). I driver in-tree supportati includono:

  • configMap
  • emptyDir
  • hostPath
  • nfs
  • proiezione
  • secrets

Che cosa succede dopo?