Storage

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

Utilizzo dell'archiviazione permanente nei workload GKE su AWS

In GKE su AWS, utilizzi le risorse Kubernetes PersistentVolume (PV), PersistentVolumeClaim (PVC) e StorageClass per fornire spazio di archiviazione permanente di file e blocchi ai workload. Per i cluster utente versione 1.17 e successive, puoi creare snapshot dell'archiviazione permanente con le risorse VolumeSnapshot e VolumeSnapshotClass. Gli snapshot vengono archiviati nel tuo account AWS.

StorageClass

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

VolumeSnapshotClass

I cluster utente hanno una VolumeSnapshotClass Kubernetes predefinita che crea snapshot dell'archiviazione stateful sui volumi AWS Elastic Block Storage (EBS).

Configurazione dello spazio di archiviazione del 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. Dopodiché, puoi impostare StorageClass come predefinita del cluster o configurare i carichi di lavoro in modo che utilizzino StorageClass. Ad esempio, puoi utilizzare un StatefulSet per impostare un nome StorageClass specifico.

Utilizzo delle istantanee del volume

Nelle versioni di Kubernetes 1.17 e successive, puoi utilizzare la risorsa VolumeSnapshot per creare snapshot dei volumi di archiviazione. Poi puoi provisionare nuovi volumi permanenti da questi snapshot.

Elastic Block Storage (EBS)

GKE su AWS gestisce i volumi AWS EBS con il 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 utente, la nuova versione del driver viene applicata automaticamente. Questa versione è in genere 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 (predefinito): utilizzato per il provisioning dei volumi EBS gp2.
  • premium-rwo: Utilizzato 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 tuoi carichi di lavoro GKE su AWS. Consulta la sezione 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 1.6 e versioni successive supporta il montaggio di file system AWS EFS e punti di accesso preesistenti. Per ulteriori informazioni, consulta la sezione Utilizzo di EFS.

Opzioni di archiviazione aggiuntive

Altri sistemi di archiviazione di terze parti possono essere utilizzati con GKE su AWS tramite driver CSI (Container Storage Interface) di terze parti (consigliato) o plug-in di volumi Kubernetes in-tree.

Driver CSI

La 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 sviluppatori CSI di Kubernetes. GKE su AWS supporta CSI v1.x.

Per utilizzare un driver CSI nel cluster, devi installare il driver CSI fornito dal fornitore di spazio di archiviazione. Puoi quindi configurare i carichi di lavoro in modo che utilizzino l'oggetto StorageClass del driver o impostarlo come StorageClass predefinita.

Driver di archiviazione specifici per AWS

Con GKE su AWS possono essere utilizzati i seguenti driver di volumi.

FSx for Lustre (FSX)

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

Plug-in di volumi in-tree di Kubernetes

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

  • configMap
  • emptyDir
  • hostPath
  • nfs
  • previsto
  • secret

Passaggi successivi