Verfügbarkeitssätze in AKS, die von Azure Arc aktiviert sind
Verfügbarkeitssätze sind logische Gruppen von VMs, die schwache Antiaffinitätsbeziehungen miteinander aufweisen, um sicherzustellen, dass sie gleichmäßig über die verfügbaren Fehlerdomänen in einem physischen Cluster verteilt werden. Eine Fehlerdomäne in diesem Kontext ist ein physischer Host oder eine Gruppe physischer Hosts. Mithilfe von Verfügbarkeitssätzen kann AKS Arc die Verfügbarkeit und Verteilung Ihrer Kubernetes-Workloads verbessern. Verfügbarkeitssätze können Szenarien vermeiden, in denen ein einzelner Knotenfehler dazu führen kann, dass mehrere VMs ausfallen oder unausgewogen werden.
Übersicht
Wenn Sie AKS auf Azure Stack HCI und Windows Server verwenden, um Kubernetes-Workloads lokal auszuführen, stellen Sie sich möglicherweise einige Herausforderungen mit der aktuellen Architektur vor. Sie können beispielsweise feststellen, dass mehrere virtuelle Computer (VMs) innerhalb desselben Knotenpools auf demselben physischen Host vorhanden sein können, der nicht ideal für hohe Verfügbarkeit geeignet ist. Oder Sie sehen möglicherweise, dass VMs nicht auf physischen Hosts neu ausgeglichen werden, wenn ein Host aus einem Problem wiederhergestellt wird, was zu einer ungleichmäßigen Verteilung von Workloads führt. Diese Probleme können sich auf die Leistung und Zuverlässigkeit Ihrer Anwendungen auswirken und unnötige Unterbrechungen in Ihren Geschäftsvorgängen verursachen.
Verfügbarkeitssätze bieten verschiedene Vorteile für AKS auf Azure Stack HCI- und Windows Server-Benutzern, z. B.:
- Verbessert die Verfügbarkeit und Resilienz Ihrer Anwendungen, indem Szenarien vermieden werden, in denen mehrere VMs innerhalb desselben Knotenpools oder einer Steuerungsebene aufgrund eines Einzelnen Knotenfehlers heruntergehen oder unausgewogen werden.
- Optimiert die Ressourcennutzung und Leistung Ihres Clusters, indem sichergestellt wird, dass VMs gleichmäßig über die verfügbaren Knoten verteilt und nicht auf einen einzelnen Knoten oder eine Teilmenge von Knoten konzentriert werden.
- Richtet sich an die bewährten Methoden und Erwartungen Ihrer Kunden und Partner, die nach einer zuverlässigen und konsistenten lokalen Kubernetes-Erfahrung suchen.
Verfügbarkeitssätze aktivieren
Mit AKS auf Azure Stack HCI 23H2 ist das Verfügbarkeitssatz-Feature standardmäßig aktiviert, wenn Sie einen neuen Knotenpool erstellen.
Mit AKS auf Azure Stack HCI 22H2 ist die Verfügbarkeitsgruppenfunktion standardmäßig deaktiviert. Um ihn zu aktivieren, fügen Sie den -enableAvailabilitySet
Parameter hinzu, wenn Sie einen Workloadcluster erstellen. Zum Beispiel:
New-AksHciCluster -Name <name> -controlPlaneNodeCount 3 -osType Linux -kubernetesVersion $kubernetesVersion -enableAvailabilitySet
Funktionsweise von Verfügbarkeitssätzen in AKS, die von Azure Arc aktiviert sind
Wenn Sie einen neuen AKS Arc-Cluster erstellen, erstellt AKS Arc automatisch Verfügbarkeitssätze, eine für die SteuerebeneN-VMs und eine für jeden der Knotenpools im Cluster. Jeder Knotenpool verfügt über einen eigenen Verfügbarkeitssatz. Mit diesem Layout stellt AKS Arc sicher, dass sich VMs derselben Rolle (Steuerebene oder Knotenpool) nie auf demselben physischen Host befinden und dass sie über die verfügbaren Knoten in einem Cluster verteilt werden.
Sobald die Verfügbarkeitssätze erstellt und die zugewiesenen VMs zugewiesen wurden, platziert das System sie automatisch auf den entsprechenden physischen Knoten. Wenn ein Knoten fehlschlägt, schlägt das System beim Wiederherstellen des Knotens auch automatisch über die virtuellen Computer auf andere Knoten aus und wiederherstellen sie neu. Auf diese Weise können Sie eine hohe Verfügbarkeit und optimale Verteilung Ihrer Kubernetes-Workloads erreichen, ohne manuelle Eingriffe auszuführen.
Erwägen Sie eine AKS auf Azure Stack HCI 23H2-Cluster mit zwei physischen Hostcomputern, Host A und Host B, drei VMs der Steuerungsebene und zwei Arbeitsknoten-VMs, Nodepool1VM1 und Nodepool1VM2. Um eine hohe Verfügbarkeit Ihrer Kubernetes-Anwendungen sicherzustellen, dürfen die VMs des Knotenpools niemals denselben Host gemeinsam nutzen, es sei denn, einer der Hosts ist vorübergehend für geplante Wartungs- oder Kapazitätsproblem nicht verfügbar, was dazu führen kann, dass die VM (virtueller Computer) vorübergehend auf einem alternativen Host platziert wird.
Im folgenden Diagramm stellt jede Farbe eine Antiaffinitätsgruppe dar:
Wenn Host B aufgrund eines Neustarts herunterfällt, schlagen Control Plane VM2, Control Plane VM3 und Nodepool1VM2 auf Host A fehl, wie in der folgenden Abbildung dargestellt. Wenn Ihre Anwendung Pods in NodePoolVM1 ausführt, hat dieser Neustart keine Auswirkungen auf Ihre Anwendung:
In der alten Architektur, wenn Host B nach einem Neustart wieder online kam, gab es keine Garantie, dass die VMs von Host A zu Host B zurückwechseln (Neubalancieren), wodurch die Workloads gezwungen werden, auf demselben Host zu bleiben, und einen einzelnen Fehlerpunkt zu erstellen, wie im folgenden Diagramm gezeigt:
Verfügbarkeitssätze für AKS Arc können dazu beitragen, virtuelle Computer neu auszubalancieren, sobald sich ein Host aus einem temporären Ausfall wiederherstellen kann. In diesem Beispiel werden ControlPlaneVM2, ControlPlaneVM3 und Nodepool1VM2 automatisch zu Host B verschoben, wie hier gezeigt:
Wichtig
Verfügbarkeitssätze in AKS Arc sind ein neues Feature, das sich noch weiterentwickelt und verbessert. Die manuelle Konfiguration der Fehlerdomänen oder Verfügbarkeitsgruppen wird noch nicht unterstützt. Sie können die Fehlerdomänen eines Verfügbarkeitssatzes nach der Erstellung nicht mehr ändern. VMs werden einem Verfügbarkeitssatz bei der Clustererstellung zugewiesen und können nicht zu einem anderen Verfügbarkeitssatz migriert werden.
Hinzufügen oder Löschen von Computern
In einem Hostlöschszenario wird der Host nicht mehr als Teil des Clusters betrachtet. Dieser Löschvorgang tritt in der Regel auf, wenn Sie einen Computer aufgrund von Hardwareproblemen ersetzen oder den HCI-Cluster aus anderen Gründen herunterskalieren. Während eines Knotenausfalls bleibt der Knoten Teil des HCI-Clusters, wird aber als Abwärts angezeigt.
Wenn ein physischer Computer (Fehlerdomäne) dauerhaft aus dem Cluster gelöscht wird, wird die Verfügbarkeitssatzkonfiguration nicht geändert, um die Anzahl der Fehlerdomänen zu verringern. In diesem Szenario wechselt der Verfügbarkeitssatz in einen fehlerhaften Zustand. Es wird empfohlen, Ihre Workloadcluster erneut bereitzustellen, damit der Verfügbarkeitssatz mit der richtigen Anzahl von Fehlerdomänen aktualisiert wird.
Wenn dem Cluster ein neuer physischer Computer (Fehlerdomäne) hinzugefügt wird, wird die Verfügbarkeitssatzkonfiguration automatisch erweitert, um den neuen Computer einzuschließen. Die vorhandenen virtuellen Computer werden jedoch nicht neu ausgeglichen, um diese neue Konfiguration anzuwenden, da sie bereits Verfügbarkeitssätzen zugewiesen sind. Es wird empfohlen, Ihre Workloadcluster erneut bereitzustellen, damit der Verfügbarkeitssatz mit der richtigen Anzahl von Fehlerdomänen aktualisiert wird.