Speicheroptionen

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

Speicher der Steuerungsebene

Wenn Sie einen Cluster erstellen, stellt GKE on Azure Premium SSD LRS-Laufwerke für die Steuerebene und etcd-Volumes bereit.

Nichtflüchtigen Speicher in GKE on Azure-Arbeitslasten verwenden

In GKE on Azure verwenden Sie die Kubernetes-Ressourcen PersistentVolume (PV), PersistentVolumeClaim (PVC) und StorageClass, um nichtflüchtige 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 Azure-Konto gespeichert.

StorageClass

Cluster haben eine standardmäßige Kubernetes-StorageClass, die zustandsorientierten Speicher für Arbeitslasten auf Azure Disk Storage-Volumes (AzureDisk) dynamisch bereitstellt. Sie können auch eine andere StorageClass verwenden, um andere Volume-Typen bereitzustellen. Diese Optionen werden im folgenden Abschnitt beschrieben.

Azure-Speicherkonten

GKE on Azure erstellt automatisch ein Azure-Speicherkonto, wenn ein Cluster erstellt wird. Wenn Sie ein bestimmtes Speicherkonto verwenden möchten, erstellen Sie eine benutzerdefinierte Speicherklasse.

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.

Azure Disk Storage (AzureDisk)

GKE on Azure verwaltet Azure Disk-Volumes mit azuredisk-csi-driver.

Die CSI-Treiberversion ist an eine GKE on Azure-Kubernetes-Version gebunden. Wenn Sie die Version Ihres Clusters aktualisieren, aktualisiert GKE auf Azure die Treiberversion automatisch. Diese Version ist normalerweise der neueste Treiber, der bei der Veröffentlichung der GKE on Azure-Version verfügbar war. Der Legacy-Kubernetes-Volume-Typ kubernetes.io/azure-disk wird nicht unterstützt.

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

  • standard-rwo (Standard): wird für die Bereitstellung von Standard-SSD-Azure-Laufwerken mit LRS verwendet
  • premium-rwo: wird für die Bereitstellung von Premium-SSD-Azure-Laufwerken mit LRS verwendet

Azure Disk-Volumes unterstützen den ReadWriteOnce-Zugriffsmodus von Kubernetes.

Volume-Snapshots

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.

Volume-Klonen

Sie können das CSI-Volume-Klonen verwenden, um vorhandene Azure Disk-Volumes zu klonen. Weitere Informationen finden Sie im Beispiel zum Klonen von Volumes.

Anpassung der Volume-Größe

Sie können die Größe nicht angehängter Azure Disk-Volumes anpassen. Weitere Informationen finden Sie im Beispiel zur Größenanpassung von Volumes. Das Anpassen der Größe während des Hinzufügens und Bereitstellens des Volumes wird nicht unterstützt.

Freigegebene Azure-Laufwerke

Für Arbeitslasten, die für die Koordinierung von Schreibvorgängen auf einem freigegebenen Rohblocklaufwerk konzipiert wurden, unterstützt GKE on Azure freigegebene Azure-Laufwerke. Weitere Informationen finden Sie unter Freigegebenes Laufwerk(Multi-Knoten-ReadWrite) in der CSI-Dokumentation für Azure-Laufwerke.

Azure File Storage (AzureFile)

GKE on Azure verwaltet Azure Files-Volumes mit azurefile-csi-driver.

Der CSI-Treiber ist an eine GKE on Azure-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 Azure-Version verfügbar war. Der Legacy-Kubernetes-Volume-Typ kubernetes.io/azure-file wird nicht unterstützt.

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

  • standard-rwx: wird für die Bereitstellung von Standard-SSD-Azure-Dateifreigaben mit LRS verwendet
  • premium-rwx: wird für die Bereitstellung von Premium-SSD-Azure-Dateifreigaben mit LRS verwendet

Azure-Datei-Volumes verwenden den ReadWriteMany-Zugriffsmodus von Kubernetes.

Volume-Snapshots

Sie können die Ressource VolumeSnapshot verwenden, um Snapshots von Azure File-Volumes zu erstellen. Weitere Informationen finden Sie in der Dokumentation zum Azure File Snapshot-Feature. Zum Wiederherstellen eines Snapshots verwenden Sie das Azure-Portal. Weitere Informationen finden Sie unter Übersicht über Freigabe-Snapshots für Azure-Dateien.

Anpassung der Volume-Größe

Sie können die Größe von Azure File-Volumes anpassen. Weitere Informationen finden Sie im Beispiel zur Größenanpassung von Volumes.

Zusätzliche Speichertreiber

Andere Speichersysteme von Drittanbietern können mit GKE in Azure über CSI-Treiber (Container Storage Interface) 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 Azure 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.

Azure-spezifische Speichertreiber

Die folgenden Volume-Treiber können mit GKE on Azure verwendet werden:

GKE on Azure verwaltet den Blob-Speicher von Azure nicht direkt. Sie können den CSI-Treiber blob-csi-driver manuell installieren, aber Google bietet keine Unterstützung dafür.

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