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 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 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
- StorageClasses mit Arbeitslasten verwenden
- Vorhandenes EBS-Volume in GKE on AWS importieren
- Mehr über nichtflüchtige Volumes in GKE erfahren
- Volume-Snapshots in GKE
- Dokumentation zu Kubernetes-Speicherklassen
- Releasemitteilung zu Container Storage Interface lesen