Freigeben über


Automatische Clusterkalierung in AKS, aktiviert durch Azure Arc

Gilt für: AKS in Azure Stack HCI 22H2, AKS unter Windows Server

Sie können die Anzahl der Knoten anpassen, auf denen Anwendungsworkloads in AKS Arc ausgeführt werden, indem Sie Azure Kubernetes Service (AKS) verwenden, um mit der Nachfrage Schritt zu halten. Sie können PowerShell verwenden, um die Autoskalierung zu aktivieren und die automatische Skalierung von Knotenpools in Ihren Zielclustern zu verwalten.

In diesem Artikel werden der Kontext der automatischen Skalierung in AKS beschrieben, die von Arc aktiviert wird, und die Funktionsweise der automatischen Skalierung. Damit die automatische Clusterskalierung effektiv funktioniert, können Sie auch die horizontale Kubernetes-Podautoskalierung verwenden, bei der es sich um eine Kubernetes-Standardkomponente handelt. Weitere Informationen zur horizontalen Automatischen Podskalierung von Kubernetes finden Sie unter Automatische horizontale Podskalierung.

Automatische Skalierung von Clustern

In AKS überprüft die Autoskalierung für Cluster auf Pods in Ihrem Cluster, die aufgrund von Ressourceneinschränkungen nicht geplant werden können. Sobald Probleme erkannt werden, wird die Anzahl von Knoten in einem Knotenpool erhöht, um den Anwendungsanforderungen gerecht zu werden. Knoten werden außerdem regelmäßig auf einen Mangel an ausgeführten Pods überprüft, und bei Bedarf wird die Anzahl von Knoten dann verringert. Diese Fähigkeit zum automatischen Hoch- oder Herunterskalieren der Knotenanzahl in Ihrem AKS-Cluster ermöglicht es Ihnen, einen effizienten, kostengünstigen Cluster zu betreiben. Die automatische Skalierung ist die Fähigkeit des Systems, Ihre Workloads automatisch durch Automatisierung und Konfiguration anzupassen, die bestimmte Parameter basierend auf Eingaben, Measures und Regeln enthält.

Um die automatische Clusterskalierung zu aktivieren, muss AKS eine grundlegende Ressourcenverwaltung implementieren. AKS schätzt die Ressourcenanforderungen, die zu einem bestimmten Zeitpunkt Ereignisse zur automatischen Skalierung auslösen. AKS berücksichtigt nicht den Ressourcenverbrauch von außerhalb von AKS Arc. Wenn Sie beispielsweise VMs hinzufügen, nachdem Sie die automatische Skalierung aktiviert haben, tritt dieses Ereignis außerhalb des Kontexts der automatischen Skalierung auf.

Zweck der automatischen Clusterskalierung

Die Autoskalierung erhöht automatisch die Größe eines Knotenpools vom Minimum auf die maximale Anzahl der angegebenen Knoten. Wenn Sie die automatische Skalierung aktivieren, bestimmt die automatische Skalierung, ob die maximale Anzahl von Knoten möglich ist, und warnt Sie vor einer Überbereitstellung der verfügbaren Hardwareressourcen.

Die Autoskalierung verfolgt verfügbare und zugesagte Ressourcen in allen bereitgestellten Zielclustern und Knotenpools. Die Skalierung verwendet diese Daten, um eine fundierte Entscheidung zu treffen. Wenn die automatische Skalierung den Knotenpool erhöht, überprüft die automatische Skalierung die Verfügbarkeit von Ressourcen.

AKS Arc verwendet das integrierte Feature für die automatische Skalierung von Kubernetes, um Vorgänge zu unterstützen, die der Automatischen Skalierung von Azure ähneln.

Funktionsweise der automatischen Clusterskalierung

Die Autoskalierung passt sich wechselnden Anwendungsanforderungen an. Wenn sich die Anforderungen zwischen Arbeitstags- und abendlichen Lasten ändern, verschiebt die Autoskalierung Ihre Clusterressourcen. Kubernetes-Cluster können auf zwei Arten skaliert werden:

  • Trigger, die auf der Knotenauslastung basieren. Der Cluster Autoscaler hält Ausschau nach Pods, die aufgrund von Ressourceneinschränkungen nicht auf Knoten geplant werden können. Die Autoskalierung für Cluster verringert die Anzahl von Knoten, wenn Kapazitäten für einen gewissen Zeitraum ungenutzt bleiben.
  • Trigger, die in den Autoskalierungsprofilen definiert sind. Die Autoskalierung für Cluster verwendet Startparameter für Trigger wie Zeitintervalle zwischen Skalierungsereignissen und Ressourcenschwellenwerte. Siehe Autoskalierungsprofile.

Wenn Sie die automatische Skalierung für einen Knotenpool aktivieren, wird das Standardprofil angewendet, es sei denn, Sie überschreiben eine oder mehrere der Einstellungen mithilfe des -ClusterAutoScalingProfile-Parameters von Set-AksHciCluster. Sofern Sie ihn nicht aktivieren, ist der Standardzustand der Autoskalierung für Knoten zur Erstellungszeit sowohl im Cluster als auch im Knotenpool deaktiviert.

Wenn Sie die Autoskalierung für einen Cluster aktivieren und kein autoscalerconfig-Objekt bereitstellen, wird das Standardprofil der Autoskalierung dem Cluster hinzugefügt. Anschließend können Sie die Parameter im Profil optimieren, indem Sie den Set-AksHciCluster Befehl verwenden und ein autoscalerconfig-Objekt mit den aktualisierten Werten übergeben. Sie müssen nicht alle Parameter in dem Objekt bereitstellen. Sie können auch nur Ihre aktualisierten Parameter in dem Objekt bereitstellen.

Arbeiten mit der Autoskalierung

Sie können die Parameter im Autoskalierungsprofil festlegen, um die Autoskalierung zu konfigurieren. Weitere Informationen finden Sie unter Verwenden der Autoskalierungsprofile.

Sie können PowerShell verwenden, um die Autoskalierung zu aktivieren, zu konfigurieren und zu deaktivieren. Weitere Informationen finden Sie unter Verwenden von PowerShell für die automatische Clusterskalierung.

Autoskalierung für Cluster während eines Clusterupgrades

Während eines Clusterupgrades und -updates wird die automatische Skalierung angehalten, und es erfolgt kein Skalierungsvorgang, bis der Cluster und alle Knotenpools im Cluster den Aktualisierungsvorgang abgeschlossen haben. Wenn ein bestimmter Knotenpool in einem Cluster auf eine neuere Kubernetes-Version aktualisiert wird, wird die automatische Skalierung für diesen Knotenpool angehalten. Die automatische Skalierung wird für alle anderen Knotenpools fortgesetzt.

Nächste Schritte