Freigeben über


Speicheroptionen für einen Kubernetes-Cluster

In diesem Artikel werden die Speicherfunktionen von Amazon Elastic Kubernetes Service (Amazon EKS) und Azure Kubernetes Service (AKS) verglichen und die Optionen zum Speichern von Workloaddaten in AKS beschrieben.

Hinweis

Dieser Artikel ist Teil einer Artikelreihe, die Experten, die mit Amazon EKS vertraut sind, hilft, AKS zu verstehen.

Amazon EKS-Speicheroptionen

In Amazon EKS, nach Kubernetes-Version 1.11, verfügt der Cluster über eine standardmäßige StorageClass (Speicherklasse) namens gp2 für Ansprüche auf persistente Volumes. Administratoren können Treiber hinzufügen, um weitere Speicherklassen zu definieren, beispielsweise:

  • Amazon EBS-CSI-Treiber als Amazon EKS-Add-On
  • Amazon EBS-CSI selbstverwaltetes Add-On
  • Amazon EFS-CSI-Treiber
  • Amazon FSx für Lustre-CSI-Treiber
  • Amazon FSx für NetApp ONTAP-CSI-Treiber

Durch das Hinzufügen von Treibern und Speicherklassen können Sie Speicherdienste verwenden wie:

  • Amazon Elastic Block Store (Amazon EBS), eine Speicherlösung auf Blockebene, die mit Amazon Elastic Compute Cloud (EC2)-Instanzen zum Speichern persistenter Daten verwendet wird. Dieser Dienst ähnelt Azure Disk Storage, der je nach benötigter Leistung mehrere SKUs wie SSD Standard, SSD Premium oder Disk Ultra aufweist.

  • Amazon Elastic File System (Amazon EFS), das Netzwerkdateisystem-Zugriff auf externe Dateisysteme bereitstellt, die von Instanzen gemeinsam genutzt werden können. Die entsprechende Azure-Lösung ist Azure Files und Azure Files Premium mit sowohl SMB (Server Message Block) 3.0- als auch NFS-Zugriff.

  • Lustre, ein Open-Source-Dateisystem, das häufig beim High-Performance Computing (HPC) verwendet wird. In Azure können Sie Ultra Disks oder Azure HPC Cache für Workloads verwenden, bei denen Geschwindigkeit wichtig ist, z. B. Machine Learning und HPC.

  • NetApp ONTAP, ein vollständig verwalteter gemeinsam genutzter ONTAP-Speicher in Amazon Web Services (AWS). Azure NetApp Files ist ein ähnlicher Dateispeicherdienst in Azure, der auf der NetApp-Technologie basiert.

AKS-Speicheroptionen

Jeder AKS-Cluster umfasst standardmäßig die folgenden vordefinierten Speicherklassen:

  • Die Standardspeicherklasse managed-csi verwendet Disk Storage SSD Standard. SSD Standard ist eine kostengünstige Speicheroption, die für Workloads optimiert ist, die konsistente Leistung bei niedrigeren E/A-Vorgängen pro Sekunde (IOPS) benötigen.
  • Die Klasse managed-csi-premium verwendet verwaltete Datenträger vom Typ „Disk Storage SSD Premium“.
  • Die Klasse azurefile-csi verwendet Azure Files, um gleichzeitigen gemeinsam genutzten Zugriff auf dasselbe Speichervolume mittels SMB oder NFS bereitzustellen.
  • Die Klasse azurefile-csi-premium verwendet Azure Files Premium für Dateifreigaben mit IOPS-intensiven Workloads. Azure Files Premium bietet geringe Wartezeiten und hohen Durchsatz auf Grundlage von SSD-Speicher.

Sie können diese Optionen erweitern, indem Sie weitere Speicherklassen hinzufügen und in andere verfügbare Speicherlösungen integrieren, z. B.:

  • Disk Storage Ultra
  • Azure NetApp Files
  • HPC Cache
  • NFS-Server
  • Speicherlösungen von Drittanbietern

Azure Disk Storage

Standardmäßig umfasst ein AKS-Cluster die vordefinierten Speicherklassen managed-csi und managed-csi-premium, die Disk Storage verwenden. Ähnlich wie Amazon EBS erstellen diese Klassen einen verwalteten Datenträger oder ein Blockgerät, das für den Podzugriff an den Knoten angefügt wird.

Die Disk Storage-Speicherklassen gestatten sowohl eine statische als auch eine dynamische Volumebereitstellung. Mit der Freigaberichtlinie wird sichergestellt, dass der Datenträger zusammen mit dem persistenten Volume gelöscht wird. Sie können den Datenträger erweitern, indem Sie den Anspruch auf persistente Volumes bearbeiten.

Diese Speicherklassen verwenden verwaltete Azure-Datenträger mit lokal redundantem Speicher (LRS). LRS bedeutet, dass von den Daten drei synchrone Kopien innerhalb eines einzelnen physischen Speicherorts in einer primären Azure-Region vorhanden sind. LRS ist die kostengünstigste Replikationsoption, bietet aber keinen Schutz vor Rechenzentrumsausfällen. Um dieses Risiko zu verringern, erstellen Sie regelmäßige Sicherungen oder Momentaufnahmen von Disk Storage-Daten mithilfe von Lösungen wie Velero oder Azure Backup, die integrierte Momentaufnahmetechnologien verwenden können.

Beide Speicherklassen basieren auf verwalteten Datenträgern, und beide verwenden SSD-Laufwerke (Solid-State Disk). Es ist wichtig, die Unterschiede zwischen Standard- und Premium-Datenträgern zu verstehen:

  • Der Preis für Standard-Datenträger basiert auf der Größe und der Anzahl der Speichertransaktionen.
  • Premium-Datenträger werden nur nach Größe abgerechnet, was sie für Workloads kostengünstiger machen kann, die eine hohe Anzahl von Transaktionen erfordern.
  • SSD Premium-Datenträger bieten höhere Höchstwerte für Durchsatz und IOPS, wie in diesem Vergleich zu sehen ist.
  • Storage Premium wird für die meisten Produktions- und Entwicklungsworkloads empfohlen.

Wenn Sie verwaltete Azure-Datenträger als primäre Speicherklasse verwenden, sollten Sie die VM-SKU berücksichtigen, die Sie für Ihren Kubernetes-Cluster auswählen. Azure-VMs begrenzen die Anzahl der Datenträger, die Sie an sie anfügen können, und der Grenzwert variiert je nach VM-Größe. Da Azure-Datenträger als ReadWriteOnce eingebunden werden, sind sie außerdem nur für einen einzelnen Pod verfügbar.

Disk Storage Ultra

Disk Storage Ultra ist eine verwaltete Azure-Datenträgerebene, die hohen Durchsatz, hohe IOPS und Disk Storage mit konsistent geringen Wartezeiten für Azure-VMs bietet. Disk Storage Ultra ist für Workloads vorgesehen, die daten- und transaktionsintensiv sind. Wie andere Disk Storage-SKUs und Amazon EBS binde Disk Storage Ultra immer nur einen Pod gleichzeitig ein und bietet keinen gleichzeitigen Zugriff.

Verwenden Sie das Flag --enable-ultra-ssd, um Disk Storage Ultra in Ihrem AKS-Cluster zu aktivieren.

Wenn Sie Disk Storage Ultra auswählen, beachten Sie dessen Einschränkungen, und vergewissern Sie sich, dass Sie eine kompatible VM-Größe auswählen. Disk Storage Ultra ist mit lokal redundanter Speicherreplikation (LRS) verfügbar.

Azure Files

Disk Storage kann keinen gleichzeitigen Zugriff auf ein Volume bereitstellen, doch Sie können Azure Files verwenden, um über das SMB-Protokoll eine Verbindung herzustellen, und dann ein freigegebenes Volume einbinden, das auf Azure Storage basiert. Dieser Prozess stellt einen NAS (Network-Attached Storage) bereit, der mit Amazon EFS vergleichbar ist. Wie bei Disk Storage gibt es zwei Optionen:

  • Storage Standard von Azure Files basiert auf regulären Festplattenlaufwerken (HDDs).
  • Storage Premium von Azure Files unterstützt die Dateifreigabe mit leistungsstarken SSD-Laufwerken. Die Mindestgröße der Dateifreigabe für Premium beträgt 100 GB.

Azure Files verfügt über die folgenden Replikationsoptionen für das Speicherkonto, um Ihre Daten im Falle eines Ausfalls zu schützen:

Um die Kosten für Azure Files zu optimieren, kaufen Sie Azure Files-Kapazitätsreservierungen.

Azure NetApp Files

Wie AWS NetApp ONTAP ist Azure NetApp Files ein getakteter Hochleistungs-Dateispeicherdienst auf Unternehmensniveau. Azure NetApp Files wird in Azure mittels NetApp-Lösungen vollständig verwaltet. Wie Azure Files erlaubt Azure NetApp Files, dass mehrere Pods ein Volume einbinden. Sie können Astra Trident, einen Open-Source-Orchestrator für dynamischen Speicher für Kubernetes, verwenden, um Ihren AKS-Cluster so zu konfigurieren, dass er Azure NetApp Files verwendet.

Berücksichtigen Sie die Ressourcenlimits für Azure NetApp Files. Die Mindestgröße eines Kapazitätspools für Azure NetApp Files beträgt 4 TiB. Azure NetApp Files wird nach bereitgestellter Größe anstatt nach genutzter Kapazität abgerechnet.

Azure HPC Cache

Azure HPC Cache beschleunigt den Zugriff auf Ihre Daten für HPC-Aufgaben mit der vollständigen Skalierbarkeit von Cloudlösungen. Wenn Sie diese Speicherlösung auswählen, stellen Sie sicher, dass Sie Ihren AKS-Cluster in einer Region bereitstellen, die Azure HPC Cache unterstützt.

NFS-Server

Die beste Option für gemeinsam genutzten NFS-Zugriff besteht darin, Azure Files oder Azure NetApp Files zu verwenden. Sie können auch einen NFS-Server auf einer Azure-VM erstellen, der Volumes exportiert.

Beachten Sie, dass diese Option nur statische Bereitstellung unterstützt. Sie müssen die NFS-Freigaben manuell auf dem Server bereitstellen und können dies nicht automatisch aus AKS ausführen.

Diese Lösung basiert auf Infrastructure-as-a-Service (IaaS), nicht auf Platform-as-a-Service (PaaS). Sie sind verantwortlich für die Verwaltung des NFS-Servers, einschließlich Betriebssystemupdates, Hochverfügbarkeit, Sicherungen, Notfallwiederherstellung und Skalierbarkeit.

Lösungen von Drittanbietern

Wie Amazon EKS ist AKS eine Kubernetes-Implementierung, und Sie können Kubernetes-Speicherlösungen von Drittanbietern integrieren. Hier finden Sie einige Beispiele für Speicherlösungen von Drittanbietern für Kubernetes:

  • Rook verwandelt verteilte Speichersysteme in selbstverwaltete Speicherdienste, indem Speicherverwaltungsaufgaben automatisiert werden. Rook liefert seine Dienste über einen Kubernetes-Betreiber für jeden Speicheranbieter.
  • GlusterFS ist ein kostenlose und skalierbares Open-Source-Netzwerkdateisystem (NFS), das gängige, handelsübliche Hardware verwendet, um große verteilte Speicherlösungen für daten- und bandbreitenintensive Aufgaben zu erstellen.
  • Ceph bietet einen zuverlässigen und skalierbaren einheitlichen Speicherdienst mit Objekt-, Block- und Dateischnittstellen aus einem einzelnen Cluster, der aus handelsüblichen Hardwarekomponenten konstruiert ist.
  • Mit dem Multicloud-Objektspeicher MinIO können Unternehmen AWS S3-kompatible Dateninfrastrukturen auf jeder Cloud erstellen und so eine konsistente, portierbare Schnittstelle zu Ihren Daten und Anwendungen bereitstellen.
  • Portworx ist eine End-to-End-Speicher- und -Datenverwaltungslösung für Kubernetes-Projekte und containerbasierte Initiativen. Portworx bietet auf Containerebene granularen Speicher, Notfallwiederherstellung, Datensicherheit und Multicloudmigrationen.
  • Quobyte bietet Hochleistungsdatei- und -objektspeicher, den Sie auf jedem Server und in jeder Cloud bereitstellen können, um die Leistung zu skalieren, große Datenmengen zu verwalten und die Verwaltung zu vereinfachen.
  • Ondat stellt eine konsistente Speicherebene auf jeder Plattform bereit. Sie können eine Datenbank oder beliebige persistente Workloads in einer Kubernetes-Umgebung ausführen, ohne die Speicherebene verwalten zu müssen.

Überlegungen zu Kubernetes-Speicher

Berücksichtigen Sie die folgenden Faktoren, wenn Sie eine Speicherlösung für Amazon EKS oder AKS auswählen.

Zugriffsmodi für Speicherklassen

In Kubernetes Version 1.21 und höher verwenden Speicherklassen von AKS und Amazon EKS standardmäßig und ausschließlich CSI-Treiber (Container Storage Interface).

Verschiedene Dienste unterstützen Speicherklassen, die unterschiedliche Zugriffsmodi haben.

Dienst ReadWriteOnce ReadOnlyMany ReadWriteMany
Azure Disks X
Azure Files X X X
Azure NetApp Files X X X
NFS-Server X X X
Azure HPC Cache X X X

Dynamische vs. statische Bereitstellung

Stellen Sie Volumes dynamisch bereit, um den Verwaltungsmehraufwand bei der statischen Erstellung persistenter Volumes zu verringern. Legen Sie eine korrekte Freigaberichtlinie fest, um zu vermeiden, dass beim Löschen von Pods nicht verwendete Datenträger zurückbleiben.

Backup

Wählen Sie ein Tool aus, um persistente Daten zu sichern. Das Tool sollte ihrem Speichertyp entsprechen, z. B. Momentaufnahmen, Azure Backup, Velero oder Kasten.

Kostenoptimierung

Um Azure Storage-Kosten zu optimieren, verwenden Sie Azure-Reservierungen. Stellen Sie sicher, dass Sie überprüfen, welche Dienste Azure-Reservierungen unterstützen. Weitere Informationen finden Sie außerdem unter Kostenverwaltung für einen Kubernetes-Cluster.

Beitragende

Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Hauptautoren:

Andere Mitwirkende:

Melden Sie sich bei LinkedIn an, um nicht öffentliche LinkedIn-Profile anzuzeigen.

Nächste Schritte