Übersicht über Verfügbarkeitszonen in Azure Kubernetes Service (AKS)
Dieser Artikel bietet eine Übersicht über die Verwendung von Verfügbarkeitszonen in Azure Kubernetes Service (AKS), um die Verfügbarkeit Ihrer Anwendungen zu erhöhen.
Ein AKS-Cluster verteilt Ressourcen wie Knoten und Speicher auf logische Abschnitte der zugrundeliegenden Azure-Infrastruktur. Mithilfe von Verfügbarkeitszonen werden Knoten physisch von anderen Knoten getrennt, die in verschiedenen Verfügbarkeitszonen bereitgestellt werden. AKS-Cluster, die mit mehreren in einem Cluster konfigurierten Verfügbarkeitszonen bereitgestellt werden, bieten ein höheres Maß an Verfügbarkeit zum Schutz vor Hardwareausfällen oder geplanten Wartungsereignissen.
Was sind Verfügbarkeitszonen?
Verfügbarkeitszonen helfen dabei, Ihre Anwendungen und Daten vor Datencenterausfällen zu schützen. Zonen sind eindeutige physische Standorte in einer Azure-Region. Jede Zone umfasst eines oder mehrere Rechenzentren, die mit unabhängiger Stromversorgung, Kühlung und unabhängigem Netzwerk ausgestattet sind. Zur Gewährleistung der Resilienz ist in allen für Zonen aktivierten Regionen immer mehr als eine Zone aktiviert. Die physische Trennung von Verfügbarkeitszonen innerhalb einer Region schützt Anwendungen und Daten vor Ausfällen von Rechenzentren.
AKS-Cluster, die über Verfügbarkeitszonen bereitgestellt werden, können Knoten über mehrere Zonen innerhalb einer einzelnen Region verteilen. Beispielsweise kann ein Cluster in der Region USA, Osten 2 Knoten in allen drei Verfügbarkeitszonen in USA, Osten 2 erstellen. Diese Verteilung der AKS-Clusterressourcen verbessert die Clusterverfügbarkeit, da sie gegen den Ausfall einer bestimmten Zone resistent sind.
Wenn eine einzelne Zone nicht mehr verfügbar ist, werden Ihre Anwendungen weiterhin in Clustern ausgeführt, die so konfiguriert sind, dass sie auf mehrere Zonen verteilt sind.
Weitere Informationen finden Sie unter Verwenden von Azure-Verfügbarkeitszonen.
Hinweis
Bei der Implementierung von Verfügbarkeitszonen mit der automatischen Clusterskalierung empfehlen wir die Verwendung eines einzelnen Knotenpools für jede Zone. Sie können den --balance-similar-node-groups
-Parameter auf true
festlegen, um für Ihre Workloads beim Hochskalieren eine ausgeglichene Verteilung der Knoten für alle Zonen aufrechtzuerhalten. Andernfalls kann beim Herunterskalieren die Ausgeglichenheit der Knoten für alle Zonen gestört werden. Diese Konfiguration garantiert nicht, dass ähnliche Knotengruppen dieselbe Anzahl von Knoten haben:
- Derzeit erfolgt der Ausgleich nur bei Skalierungsvorgängen. Die automatische Clusterskalierung skaliert unabhängig von den relativen Größen der Knotengruppen unterlastete Knoten nach unten.
- Die automatische Clusterskalierung fügt nur so viele Knoten hinzu, wie erforderlich, um alle vorhandenen Pods auszuführen. Einige Gruppen verfügen möglicherweise über mehr Knoten als andere, wenn für sie mehr Pods geplant wurden.
- Die automatische Clusterskalierung wird nur zwischen Knotengruppen ausgeglichen, die denselben Satz ausstehender Pods unterstützen können.
Sie können auch Azure-zonenredundante Speicherdatenträger (ZRS) verwenden, um Ihren Speicher in drei Verfügbarkeitszonen in der von Ihnen ausgewählten Region zu replizieren. Ein ZRS-Datenträger ermöglicht die Wiederherstellung nach Ausfällen in Verfügbarkeitszonen. Weitere Informationen finden Sie unter ZRS für verwaltete Datenträger.
Begrenzungen
Die folgenden Einschränkungen gelten, wenn Sie einen AKS-Cluster mit Verfügbarkeitszonen erstellen:
- Verfügbarkeitszonen können Sie nur beim Erstellen des Clusters oder Knotenpools definieren.
- Außerdem kann ein bestehender, nicht verfügbarer Zonencluster nicht aktualisiert werden, wenn nach dem Erstellen des Clusters Verfügbarkeitszonen verwenden werden sollen.
- Die gewählte Knotengröße (VM-SKU) muss in allen ausgewählten Verfügbarkeitszonen verfügbar sein.
- Cluster mit aktivierten Verfügbarkeitszonen erfordern den Einsatz von Azure Load Balancer Standard-Instanzen zur Verteilung über die Zonen. Diesen Load Balancer-Typ können Sie nur zum Zeitpunkt der Clustererstellung definieren. Weitere Informationen und die Einschränkungen des Standardlastenausgleichs finden Sie unter Einschränkungen.
Support der Azure-Datenträger Verfügbarkeitszonen
Volumes mit von Azure verwalteten LRS-Datenträgern sind keine zonenredundanten Ressourcen, und das zonenübergreifende Anfügen wird nicht unterstützt. Sie müssen Volumes in derselben Zone wie der angegebene Knoten, auf dem der Zielpod gehostet wird, zusammenstellen. Volumes, die von Azure verwaltete ZRS-Datenträger verwenden, sind zonenredundante Ressourcen. Sie können diese Volumes für alle Zonen- und Nicht-Zonen-Agent-Knoten planen. Das folgende Beispiel zeigt, wie Sie mithilfe des StandardSSD_ZRS-Datenträgers eine Speicherklasse erstellen:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: managed-csi-zrs
provisioner: disk.csi.azure.com
parameters:
skuName: StandardSSD_ZRS # or Premium_ZRS
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true
Kubernetes-Versionen 1.12 und höher kennen Azure-Verfügbarkeitszonen. Wenn Sie ein PersistentVolumeClaim-Objekt bereitstellen, das auf einen verwalteten Azure-Datenträger in einem AKS-Cluster mit mehreren Zonen verweist, kümmert sich Kubernetes um die Planung aller Pods, die diesen PVC in der richtigen Verfügbarkeitszone beanspruchen.
Ab Kubernetes-Version 1.29 verwendet AKS bei der Bereitstellung von Azure Kubernetes Service-Clustern (AKS) über mehrere Verfügbarkeitszonen hinweg jetzt zonenredundanten Speicher (ZRS), um verwaltete Datenträger innerhalb integrierter Speicherklassen zu erstellen. ZRS stellt die synchrone Replikation Ihrer von Azure verwalteten Datenträger in mehreren Azure-Verfügbarkeitszonen in Ihrer ausgewählten Region sicher. Diese Redundanzstrategie verbessert die Resilienz Ihrer Anwendungen und schützt Ihre Daten vor Rechenzentrumsfehlern.
Es ist jedoch wichtig zu beachten, dass zonenredundanter Speicher (ZRS) im Vergleich zu lokal redundantem Speicher (LRS) höhere Kosten verursacht. Wenn die Kostenoptimierung Priorität hat, können Sie eine neue Speicherklasse erstellen, wobei der Parameter skuname
auf LRS festgelegt ist. Anschließend können Sie die neue Speicherklasse in Ihrem Persistent Volume Claim (PVC) verwenden.
Nächste Schritte
Azure Kubernetes Service