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. Per i cluster utente versione 1.17 e successive, puoi creare snapshot di archiviazione permanente con le risorse VolumeSnapshot e VolumeSnapshotClass. Gli snapshot vengono archiviati nel tuo account AWS.

StorageClass

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

VolumeSnapshotClass

I cluster di utenti hanno un oggetto VolumeSnapshotClass predefinito che crea snapshot di archiviazione stateful su volumi AWS Elastic Block Storage (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 nuovo StorageClass in un cluster che utilizza parametri diversi o un driver di archiviazione diverso. Quindi, puoi impostare StorageClass come predefinito del cluster o configurare i tuoi carichi di lavoro per l'utilizzo dell'oggetto StorageClass. Ad esempio, puoi utilizzare uno StatefulSet per impostare un nome StorageClass specifico.

Utilizzo delle istantanee del volume

In Kubernetes 1.17 e versioni successive, puoi utilizzare la risorsa VolumeSnapshot per creare snapshot di volumi di archiviazione. Successivamente, puoi eseguire il provisioning dei nuovi volumi permanenti da questi snapshot.

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 utente, 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 1.6 e versioni successive supporta il montaggio di file system e punti di accesso AWS EFS preesistenti. Per maggiori informazioni, consulta Utilizzo di 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 il 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 impostarlo come StorageClass predefinito.

Driver di archiviazione specifici per AWS

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?