Was ist Azure Container Storage?
Azure Container Storage ist ein cloudbasierter Dienst zum Verwalten, Bereitstellen und Orchestrieren von Volumes, der nativ für Container entwickelt wurde. Es ist in Kubernetes integriert, so dass Kunden persistente Volumen dynamisch und automatisch bereitstellen können, um auf Kubernetes-Clustern ausgeführte Daten für zustandsbehaftete Anwendungen zu speichern.
Wichtig
Azure Container Storage ist nicht in allen Azure-Regionen verfügbar. Weitere Informationen über die regionale Verfügbarkeit. Azure Container Storage ist jetzt ab Version 1.1.0 allgemein verfügbar. Diese allgemein verfügbare Version wird nicht für Produktionsworkloads empfohlen. Wenn Sie zuvor die Azure Container Storage-Vorschau installiert und nicht die automatischen Upgrades aktiviert haben, müssen Sie ein Update auf die allgemein verfügbare Version ausführen.
Um mit der Verwendung von Azure Container Storage zu beginnen, lesen Sie bitte den Abschnitt Verwenden Sie Azure Container Storage mit Azure Kubernetes Service oder sehen Sie sich das Video an.
Dieses Video enthält eine Einführung in Azure Container Storage, einen End-to-End-Dienst zur Speicherverwaltung und Orchestrierung für zustandsbehaftete Anwendungen. Erfahren Sie, wie Sie die Leistung von zustandsbehafteten Workloads auf Azure Kubernetes Service (AKS) optimieren können, um effektiv über Speicherdienste hinweg zu skalieren und gleichzeitig eine kostengünstige, container-native Erfahrung zu bieten.
Unterstützte Speichertypen
Azure Container Storage nutzt vorhandene Azure Storage-Angebote für die tatsächliche Datenspeicherung und bietet eine Volumeorchestrierungs- und Verwaltungslösung, die speziell für Container entwickelt wurde. Sie können eine der unterstützten Speicheroptionen auswählen, um einen Speicherpool für Ihre persistenten Volumes zu erstellen.
Azure Container Storage bietet Unterstützung für persistente Volumes mit ReadWriteOnce-Zugriffsmodus für Linux-basierte Azure Kubernetes Service-Cluster (AKS). Zu den unterstützten Speicheroptionen gehören ausschließlich Blockspeicherangebote: Azure Disks, Ephemeral Disks (lokale NVMe oder temporäre SSD) und Azure Elastic SAN (Preview). In der folgenden Tabelle sind die unterstützten Speichertypen, empfohlenen Workloads und Bereitstellungsmodelle zusammengefasst.
Speichertyp | Beschreibung | Workloads (Arbeitslasten) | Angebote | Bereitstellungsmodell |
---|---|---|---|---|
Azure Elastic SAN (Preview) | Bedarfsgesteuerte, vollständig verwaltete Ressource | Universelle Datenbanken, Streaming- und Messagingdienste, CD/CI-Umgebungen und andere Workloads der Ebene 1/Ebene 2. | Azure Elastic SAN | Bereitstellung bei Bedarf pro erstelltem Volume und Volumemomentaufnahme. Mehrere Cluster können gleichzeitig auf ein einzelnes SAN zugreifen, persistente Volumes können jedoch jeweils nur von einem Consumer angefügt werden. |
Azure Disks | Präzise Steuerung von Speicher-SKUs und Konfigurationen | Azure-Datenträger eignen sich gut für Datenbanken der Ebene 1 und allgemeine Zwecke wie MySQL, MongoDB und PostgreSQL. | SSD Premium, SSD Premium v2, SSD Standard, Disk Ultra | Bereitgestellt pro Zielcontainer-Speicherpoolgröße und maximale Volumegröße. |
Kurzlebiger Datenträger | Nutzt lokale Speicherressourcen auf AKS-Knoten (NVMe oder temp SSD) | Der kurzlebige Datenträger ist extrem latenzempfindlich (niedrige Latenz unter ms), sodass sie am besten für Anwendungen ohne Anforderungen an die Dauerhaftigkeit von Daten oder mit integrierter Datenreplikationsunterstützung wie Cassandra geeignet ist. | NVMe ist für einige Azure VM-SKUs verfügbar, z. B. speicheroptimierte VM-SKUs oder GPU beschleunigte VM-SKUs. | Bereitgestellt als Teil der VMs, die einen AKS-Cluster hosten. AKS ermittelt den verfügbaren kurzlebigen Speicher auf AKS-Knoten und ruft sie für die Volumebereitstellung ab. |
Unterstützung für verschiedene Speichertypen
Die Unterstützung der Funktionen hängt davon ab, welche Option für die Datensicherung Sie wählen. In der folgenden Tabelle sind die wichtigsten Funktionen von Azure Container Storage aufgeführt und es wird angegeben, welche Speicheroptionen sie unterstützen.
Feature | Lokalen NVMe | Lokale SSD | Azure Disks | Azure Elastic SAN (Preview) |
---|---|---|---|---|
Speicherpool erweitern/vergrößern | Unterstützt | Unterstützt | Unterstützt | Nicht unterstützt |
Replikation | Unterstützt | Nicht unterstützt | Nativ unterstützt | Vorschau |
Ressourcenverbrauch | Unterstützt | Unterstützt | Unterstützt | Vorschau |
SSE/CMK | Nicht unterstützt | Nicht unterstützt | Unterstützt | Vorschau |
ZRS-Option freilegen | – | – | Unterstützt | Vorschau |
Persistente Volumes | Unterstützt1 | Unterstützt1 | Unterstützt | Vorschau |
Vergängliche Bände | Unterstützt | Unterstützt | Unterstützt | Vorschau |
Momentaufnahmen | Unterstützt | Unterstützt | Unterstützt | Nicht unterstützt |
1 Für lokale NVMe-Datenträger und lokale SSD-Datenträger verwendet Azure Container Storage standardmäßig generische kurzlebige Volumes, in denen die Daten nicht beständig sind. Sie können Ihre Azure Container Storage-Installation jedoch aktualisieren, um die Erstellung persistenter Volumes aus Speicherpools für kurzlebige Datenträger zu unterstützen.
Regionale Verfügbarkeit
Azure Container Storage ist nur für eine Teilmenge der Azure-Regionen verfügbar:
- (Afrika) Südafrika, Norden
- (Asien-Pazifik) Australien, Osten
- (Asien-Pazifik) Asien, Osten
- (Asien-Pazifik) Japan, Osten
- (Asien-Pazifik) Südkorea, Mitte
- (Asien-Pazifik) Asien, Südosten
- (Asien-Pazifik) Indien, Mitte
- (Europa) Frankreich, Mitte
- (Europa) Deutschland, Westen-Mitte
- (Europa) Europa, Norden
- (Europa) Europa, Westen
- (Europa) Vereinigtes Königreich, Süden
- (Europa) Schweden, Mitte
- (Europa) Schweiz, Norden
- (Naher Osten) VAE, Norden
- (Nordamerika) USA, Osten
- (Nordamerika) USA, Osten 2
- (Nordamerika) USA, Westen
- (Nordamerika) USA, Westen 2
- (Nordamerika) USA, Westen 3
- (Nordamerika) USA, Mitte
- (Nordamerika) USA, Norden-Mitte
- (Nordamerika) USA, Süden-Mitte
- (Nordamerika) USA, Westen-Mitte
- (Nordamerika) Kanada, Mitte
- (Nordamerika) Kanada, Osten
- (Südamerika) Brasilien, Süden
Neuerungen in Azure Container Storage
Unsere neuesten Updates verbessern die Resilienz und Leistung von zustandsbehafteten Containern. Wir bieten jetzt Multizonen-Speicherpools und Volume-Replikation für lokale NVMe-Speicherpools an, um die Verfügbarkeit bei Ausfällen einzelner Knoten sicherzustellen. Snapshot-Unterstützung ist für alle Speicheroptionen für Backup und Notfallwiederherstellung verfügbar. Darüber hinaus schließt das Angebot an kurzlebigen Datenträgern nun die Unterstützung von temporären SSDs ein, die kosteneffiziente Lösungen für Anwendungsfälle bieten, bei denen direkt angeschlossener lokaler Speicher genutzt wird:
- Verbessern Sie die Ausfallsicherheit Ihrer persistenten Volumes, die auf lokalem NVMe-Speicher gehostet werden, mit Replikationsunterstützung.
- Verbesserte Wiederherstellung von persistenten Volumes nach einem Neustart eines Azure Kubernetes Service (AKS) Clusters.
- Passen Sie die Leistung Ihres lokalen NVMe-Speichers mit neuen Leistungsstufenoptionen an.
Wenn Sie weitere Informationen zu diesen Features erhalten möchten, senden Sie eine E-Mail an das Azure Container Storage-Team: containerstoragepm@microsoft.com.
Warum Azure Container Storage nützlich ist
Bisher mussten für die Bereitstellung von Cloud-Speicher für Container individuelle Container Storage Interface (CSI)-Treiber verwendet werden, um Speicherdienste zu nutzen, die für IaaS-zentrierte Arbeitslasten gedacht sind, und sie für Container nutzbar zu machen. Während CSI-Treiber in bestimmten Szenarien nützlich sind, kann durch die Verwendung von CSI-Treibern ein betrieblicher Mehraufwand entstehen und das Risiko von Problemen mit der Verfügbarkeit, Skalierbarkeit, Leistung, Benutzerfreundlichkeit und Kosten der Anwendung erhöht werden.
Trotz des Namens verwendet Azure Container Storage keine CSI-Treiber. Stattdessen wird der Name von OpenEBS abgeleitet, einer Open-Source-Lösung, die Containerspeicherfunktionen für Kubernetes bereitstellt. Durch die Bereitstellung einer verwalteten Volumen-Orchestrierung über Microservice-basierte Speicher-Controller in einer Kubernetes-Umgebung ermöglicht Azure Container Storage eine TRUE-native Speicherung von Containern.
Sie können Azure Container Storage für Folgendes verwenden:
Beschleunigen von VM-zu-Container-Initiativen: Azure Container Storage umfasst das gesamte Spektrum von Azure-Blockspeicherangeboten, die bisher nur für VMs verfügbar waren, und stellt sie für Container zur Verfügung. Dazu gehören kurzlebige Datenträger, die extrem niedrige Latenzzeiten für Workloads wie Cassandra bieten, sowie Azure Elastic SAN (Preview), das native iSCSI- und Shared-Provisioned-Ziele bereitstellt.
Vereinfachen der Volume-Verwaltung mit Kubernetes: Durch die Bereitstellung von Volume-Orchestrierung über die Kubernetes-Kontrollebene erleichtert Azure Container Storage die Bereitstellung und Verwaltung von Volumes innerhalb von Kubernetes – ohne die Notwendigkeit, zwischen verschiedenen Kontrollebenen hin und her zu wechseln.
Senkung der Gesamtbetriebskosten (TCO): Verbessern Sie die Kosteneffizienz, indem Sie den Umfang der pro Pod oder Knoten unterstützten persistenten Volumes erhöhen. Reduzieren Sie die für die Bereitstellung benötigten Speicherressourcen, indem Sie Speicherressourcen dynamisch freigeben. Beachten Sie, dass die Unterstützung für das Hochskalieren des Speicherpools selbst nicht unterstützt wird.
Hauptvorteile
Schnelles Aufskalieren zustandsbehafteter Pods: Azure Container Storage bindet persistente Volumes über Netzwerkblockspeicherprotokolle (NVMe-oF oder iSCSI) ein und bietet schnelles Anfügen und Trennen persistenter Volumes. Sie können klein anfangen und Ressourcen nach Bedarf bereitstellen und gleichzeitig sicherstellen, dass Ihre Anwendungen weder bei der Initialisierung noch in der Produktion ausgehungert oder unterbrochen werden. Die Ausfallsicherheit von Anwendungen wird durch das Wiederaufsetzen von Pods im gesamten Cluster verbessert, was eine schnelle Verschiebung von persistenten Volumes erfordert. Durch die Nutzung von Remote-Netzwerkprotokollen ist Azure Container Storage eng mit dem Pod-Lebenszyklus verbunden, um hochgradig belastbare, zustandsabhängige Anwendungen auf AKS zu unterstützen.
Verbesserte Leistung für zustandsbehaftete Workloads: Azure Container Storage ermöglicht eine überragende Leseleistung und bietet durch die Verwendung von NVMe-oF über TCP eine Schreibleistung nahe der einer Festplatte. Dadurch können Kunden die Leistungsanforderungen für verschiedene Container-Workloads kostengünstig erfüllen, darunter Tier 1 I/O-intensive, allgemeine Zwecke, durchsatzempfindliche und Entwicklungs-/Testaufgaben. Beschleunigen Sie die Zeit für das Anschließen/ Trennen von persistenten Volumes und minimieren Sie die Pod-Failover-Zeit.
Kubernetes-native Volumeorchestrierung: Erstellen Sie Speicherpools und persistente Volumes, erfassen Sie Momentaufnahmen und verwalten Sie den gesamten Lebenszyklus von Volumes mithilfe von
kubectl
-Befehlen, ohne zwischen Toolsets für verschiedene Vorgänge auf Steuerungsebene zu wechseln.
Glossar
Es ist hilfreich, einige wichtige Begriffe im Zusammenhang mit Azure Container Storage und Kubernetes zu verstehen:
Containerisierung
Packen des Anwendungscodes mit nur dem Betriebssystem und den erforderlichen Abhängigkeiten, um eine einzige ausführbare Datei zu erstellen.
Kubernetes
Kubernetes ist ein Open-Source-System für die Automatisierung der Bereitstellung, Skalierung und Verwaltung von Containeranwendungen.
Cluster
Ein Kubernetes-Cluster ist eine Gruppe von Computeknoten (VMs), auf denen containerisierte Anwendungen ausgeführt werden. Jeder Knoten wird von der Steuerungsebene verwaltet und enthält die Dienste, die zum Ausführen von Pods erforderlich sind.
Pod
Ein Pod ist eine Gruppe von einem oder mehreren Containern mit freigegebenen Speicher- und Netzwerkressourcen und einer Spezifikation für die Ausführung der Container. Ein Pod ist die kleinste bereitstellbare Einheit in einem Kubernetes-Cluster.
Azure Kubernetes Service (AKS)
Azure Kubernetes Service ist ein gehosteter Kubernetes-Dienst, der die Bereitstellung eines Managed Kubernetes-Clusters in Azure vereinfacht, indem der betriebliche Aufwand in Azure ausgelagert wird. Azure umfasst wichtige Aufgaben wie die Systemüberwachung und -wartung.
Speicherpool
Der Azure Container Storage-Stapel versucht, das Objektmodell über clustereigene Ressourcen und Plattformabstraktionen hinweg zu vereinheitlichen. Um eine einheitliche Darstellung zu erreichen, wird die verfügbare Speicherkapazität in einem Speicherpoolobjekt zusammengefasst. Die Speicherkapazität innerhalb eines Speicherpools gilt als homogen. Ein AKS-Cluster kann über mehrere Speicherpools verfügen. Speicherpools dienen auch als Authentifizierungs- und Bereitstellungsgrenze. Sie bieten den Betreibern ein logisches Konstrukt zur Verwaltung der Speicherinfrastruktur und vereinfachen gleichzeitig die Erstellung und Verwaltung von Volumes für Anwendungsentwickler.
Speicherklasse
Eine Kubernetes-Speicherklasse legt fest, wie eine Speichereinheit dynamisch in einem persistenten Volume erstellt wird. Weitere Informationen finden Sie unter Kubernetes-Speicherklassen.
Volumen
Ein Kubernetes-Volume ist ein Verzeichnis mit Daten, auf die Container in einem bestimmten Pod zugreifen können. Volumes können persistent oder kurzlebig sein. Volumes werden in einem Speicherpool dünn bereitgestellt und teilen sich die Leistungsmerkmale (IOPS, Bandbreite und Kapazität) des Speicherpools.
Persistentes Volume
Persistente Volumes sind wie Datenträger auf einem virtuellen Computer. Sie stellen ein unformatiertes Blockgerät dar, das Sie zum Einbinden eines beliebigen Dateisystems verwenden können. Anwendungsentwickler erstellen persistente Volumes neben ihren Anwendungs- oder Pod-Definitionen, und die Volumes sind häufig an den Lebenszyklus der zustandsbehafteten Anwendung gebunden. Weitere Informationen finden Sie unter Persistente Datenträger.
Persistentes Volumeansprüche (PVC)
Ein Anspruch auf ein persistentes Volume (Persistent Volume Claim, PVC) wird verwendet, um basierend auf einer Speicherklasse automatisch Speicher bereitzustellen.