Freigeben über


Automatisches Clusterkalieren in AKS, die von Azure Arc aktiviert sind

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

Sie können die Anzahl der Knoten anpassen, die Anwendungsworkloads in AKS Arc ausführen, indem Sie Azure Kubernetes Service (AKS) verwenden, um den Bedarf aufrechtzuerhalten. Sie können PowerShell verwenden, um die Autoskalierung zu aktivieren und die automatische Skalierung von Knotenpools in Ihren Zielclustern zu verwalten.

In diesem Artikel wird der Kontext der Autoscaler in AKS beschrieben, die von Arc aktiviert sind und wie die Autoscaler funktioniert. Damit die Automatische Skalierung von Clustern effektiv funktioniert, können Sie auch die horizontale Kubernetes-Pod-Autoskalierung verwenden, bei der es sich um eine Standardmäßigkomponente von Kubernetes handelt. Weitere Informationen zur horizontalen Pod-Autoskalierung von Kubernetes finden Sie unter Horizontal pod autocaling.

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 Clusterautoskaler zu aktivieren, muss AKS grundlegende Ressourcenverwaltung implementieren. AKS schätzt ressourcenanforderungen, die automatische Skalierungsereignisse zu einem Zeitpunkt auslösen. AKS berücksichtigt nicht den Ressourcenverbrauch von außerhalb von AKS Arc. Wenn Sie beispielsweise VMs nach dem Aktivieren des Autoscalers hinzufügen, tritt dieses Ereignis außerhalb des Kontexts der Autoscaler 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 der Autoscaler, ob die maximale Anzahl von Knoten machbar ist, und warnt Sie über die Ü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. Da der Autoscaler den Knotenpool erhöht, sucht die Autoscaler nach der Verfügbarkeit von Ressourcen.

AKS Arc verwendet das integrierte Kubernetes-Feature für die automatische Skalierung, um Vorgänge wie die Azure-Autoskalierung zu unterstützen.

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 werden auf zwei Arten skaliert:

  • 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 mithilfe des Set-AksHciCluster Befehls optimieren 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 einer Aktualisierung wird die Autoscaler angehalten, und es erfolgt kein Skalierungsvorgang, bis der Cluster und alle Knotenpools im Cluster den Updatevorgang abschließen. Wenn ein bestimmter Knotenpool in einem Cluster auf eine neuere Kubernetes-Version aktualisiert wird, wird die Autoscaler für diesen Knotenpool angehalten. Der automatische Skalierungsvorgang wird für alle anderen Knotenpools fortgesetzt.

Nächste Schritte