Storage

Sie erstellen nichtflüchtigen Speicher für Arbeitslasten, die in GKE on AWS mit Kubernetes-Objekten ausgeführt werden.

Nichtflüchtigen Speicher in GKE on AWS-Arbeitslasten verwenden

In GKE on AWS verwenden Sie die Kubernetes-Ressourcen PersistentVolume (PV), PersistentVolumeClaim (PVC) und StorageClass, um persistente Datei- und Blockspeicher für Arbeitslasten bereitzustellen. Für Nutzercluster der Version 1.17 und höher können Sie mit den Ressourcen VolumeSnapshot und VolumeSnapshotClass Snapshots von nichtflüchtigem Speicher erstellen. Snapshots werden in Ihrem AWS-Konto gespeichert.

StorageClass

Nutzercluster verwenden eine standardmäßige Kubernetes StorageClass, die zustandsorientierten Speicher für Arbeitslasten in AWS Elastic Block Storage-Volumes (EBS) bereitstellt. Sie können auch eine andere StorageClass verwenden, um andere Volume-Typen bereitzustellen. Diese Optionen werden im folgenden Abschnitt beschrieben.

VolumeSnapshotClass

Nutzercluster verwenden eine standardmäßige Kubernetes VolumeSnapshotClass, mit der Snapshots von zustandsorientiertem Speicher auf AWS Elastic Block Storage-Volumes (EBS) erstellt werden.

Clusterspeicher konfigurieren

Wenn Sie Speicher-Volumes mit einer nicht standardmäßigen StorageClass bereitstellen möchten, können Sie eine neue StorageClass in einem Cluster erstellen, die verschiedene Parameter oder einen anderen Speichertreiber verwendet. Anschließend können Sie die StorageClass als Standard für den Cluster festlegen oder Ihre Arbeitslasten für die Verwendung der StorageClass konfigurieren. Sie können beispielsweise ein StatefulSet verwenden, um einen bestimmten StorageClass-Namen festzulegen.

Volume-Snapshots verwenden

In Kubernetes-Versionen 1.17 und höher können Sie mit der Ressource VolumeSnapshot Snapshots von Speicher-Volumes erstellen. Anschließend können Sie neue nichtflüchtige Volumes aus diesen Snapshots bereitstellen.

Elastic Block Storage (EBS)

GKE on AWS verwaltet AWS EBS-Volumes mit dem aws-ebs-csi-driver.

Die EBS-CSI-Treiberversion ist an eine GKE on AWS-Kubernetes-Version gebunden. Wenn Sie ein Upgrade Ihrer Nutzerclusterversion durchführen, wird die neue Treiberversion automatisch angewendet. Diese Version ist normalerweise der neueste Treiber, der bei der Veröffentlichung der GKE on AWS-Version verfügbar war.

Der mit GKE on AWS vorinstallierte Treiber stellt standardmäßig die folgenden StorageClasses bereit:

  • standard-rwo (Standard): wird für die Bereitstellung von EBS-gp2-Volumes verwendet
  • premium-rwo: wird für die Bereitstellung von EBS-io1-Volumes verwendet

EBS-Volumes unterstützen den ReadWriteOnce-Zugriffsmodus von Kubernetes.

Bereits vorhandene EBS-Volumes

Sie können vorhandene EBS-Volumes in Ihren GKE on AWS-Arbeitslasten bereitstellen. Unter Vorhandenes EBS-Volume importieren finden Sie Beispiele zur Verwendung von EBS-Volumes in GKE on AWS.

Elastic File System (EFS)

GKE on AWS 1.6 und höher unterstützt das Bereitstellen vorhandener AWS EFS-Dateisysteme und ‑Zugangspunkte. Weitere Informationen finden Sie unter EFS verwenden.

Zusätzliche Speicheroptionen

Andere Speichersysteme von Drittanbietern können mit GKE in AWS über Drittanbieter-Containerspeicher-Treiber (CSI) von Drittanbietern (empfohlen) oder in Kubernetes-Volume-Plug-ins verwendet werden.

CSI-Treiber

Das Container Storage Interface (CSI) ist eine API mit offenen Standards, mit der Kubernetes beliebige Speichersysteme an containerisierte Arbeitslasten anhängen kann. Eine nicht umfassende Liste der CSI-Treiber finden Sie in der Kubernetes-CSI-Entwicklerdokumentation. GKE on AWS unterstützt CSI v1.x.

Wenn Sie einen CSI-Treiber in Ihrem Cluster verwenden möchten, müssen Sie den CSI-Treiber installieren, der von Ihrem Speicheranbieter bereitgestellt wird. Anschließend können Sie Arbeitslasten für die Verwendung der StorageClass des Treibers konfigurieren oder als standardmäßige StorageClass festlegen.

AWS-spezifische Speichertreiber

Die folgenden Volume-Treiber können mit GKE on AWS verwendet werden.

FSx for Lustre (FSX)

GKE on AWS verwaltet FSx-Volumes nicht direkt. Sie können den aws-fsx-csi-driver manuell installieren, aber Google bietet keinen Support an.

Integrierte Kubernetes-Volume-Plug-ins

Kubernetes wird mit integrierten integrierten Plug-ins geliefert. Zu den unterstützten Treibern gehören:

  • configMap
  • emptyDir
  • hostPath
  • nfs
  • projected
  • secrets

Nächste Schritte