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. Sie können Snapshots des nichtflüchtigen Speichers mit den Ressourcen VolumeSnapshot und VolumeSnapshotClass erstellen. Snapshots werden in Ihrem AWS-Konto gespeichert.
StorageClass
Cluster verwenden eine standardmäßige Kubernetes-StorageClass, die dynamisch zustandsorientierten Speicher für Arbeitslasten in AWS Elastic Block Storage-Volumes (EBS) bereitstellt. Sie können auch eine benutzerdefinierte StorageClass verwenden, um andere Volume-Typen bereitzustellen. Diese Optionen werden im folgenden Abschnitt beschrieben.
VolumeSnapshotClass
Cluster haben eine standardmäßige Kubernetes VolumeSnapshotClass, die Snapshots von zustandsorientiertem Speicher auf EBS-Volumes erstellt.
Clusterspeicher konfigurieren
Wenn Sie Speicher-Volumes mit einer nicht standardmäßigen StorageClass bereitstellen möchten, können Sie eine benutzerdefinierte StorageClass in einem Cluster erstellen, der verschiedene Parameter oder einen anderen Speichertreiber verwendet. Anschließend können Sie die Standard-StorageClass festlegen oder Ihre Arbeitslasten für die Verwendung der StorageClass konfigurieren. Sie können beispielsweise mit einer Referenz auf die StorageClass in einem StatefulSet einen bestimmten StorageClass-Namen festlegen.
Volume-Snapshots verwenden
Sie können die Ressource VolumeSnapshot verwenden, um Snapshots von Speicher-Volumes zu erstellen. Anschließend können Sie neue nichtflüchtige Volumes aus diesen Snapshots bereitstellen. Weitere Informationen finden Sie unter Snapshot von PersistentVolume erstellen.
Elastic Block Storage (EBS)
GKE on AWS verwaltet 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 Clusterversion 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 verwendetpremium-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 unterstützt das Bereitstellen vorhandener EFS und Zugangspunkte. Weitere Informationen finden Sie unter EFS-Dateisystem 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 die Standard-StorageClass festlegen.
Bestimmte 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
- StorageClasses mit Arbeitslasten verwenden
- Vorhandenes EBS-Volume verwenden
- Mehr über nichtflüchtige Volumes und dynamische Bereitstellung in GKE erfahren
- Snapshot von PersistentVolume erstellen
- Dokumentation zu Kubernetes-Speicherklassen
- Releasemitteilung zu Container Storage Interface (CSI) für Kubernetes GA lesen