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 PersistentVolume (PV), PersistentVolumeClaim (PVC) und StorageClass Ressourcen, um persistente Datei- und Blockspeicher für Arbeitslasten bereitzustellen. Für Nutzercluster der Version 1.17 und höher können Sie mit den VolumeSnapshot und VolumeSnapshotClass Ressourcen 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 Version 1.17+ und höher können Sie mit der 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 EBSgp2-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 die Bereitstellung bereits vorhandener AWS EFS Dateisysteme und Zugangspunkte. Weitere Informationen finden Sie unter EFS verwenden.
Zusätzliche Speicheroptionen
Andere Speichersysteme von Drittanbietern können mit GKE on AWS über Containerspeicher-Treiber (CSI) von Drittanbietern (empfohlen) oder integrierte Kubernetes-Volume-Plug-ins verwendet werden.
CSI-Treiber
Das Container Storage Interface (CSI) ist eine API mit offenen Standards, mit der Kubernetes beliebige Speicher systeme an containerisierte Arbeitslasten anhängen kann. Eine nicht umfassende Liste der CSI-Treiber kann in der Kubernetes-CSI-Entwicklerdokumentationgefunden werden. 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
- Erfahren Sie mehr über Volume-Snapshots in GKE.
- Lesen Sie die Dokumentation zu Kubernetes StorageClasses.
- Lesen Sie die Container Storage Interface Release-Ankündigung.