Freigeben über


Verwenden des AutoScaler-Profils zum Konfigurieren der cluster automatischen Skalierung in AKS, die von Arc aktiviert sind

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

Sie können die Parameter im Autoscaler-Profilobjekt verwenden, um Skalierungsereignisse in AKS zu definieren, die von Arc aktiviert sind. Das Cluster-Autoscaler-Profil wirkt sich auf alle Knotenpools aus, die die Cluster-Autoskaler verwenden; Sie können ein AutoScaler-Profil pro Knotenpool nicht festlegen. In diesem Artikel wird erläutert, wie die Autoscaler funktioniert, die Standardprofilwerte für die Autoskalen-Skalierung beschrieben und beschrieben, wie Sie eine Profildefinition konfigurieren und verwenden.

Verwenden von Profilen

Cluster-Autoskalerprofile weisen die folgenden Attribute auf:

  • Autoskalerprofile gelten für alle Knotenpools in einem Cluster.
  • Profile sind globale Objekte auf Bereitstellungsebene.
  • Mehrere Profile sind in AKS Arc verfügbar.
  • Einem bestimmten Cluster wird nur ein Profil zugewiesen. Das Profil wird für alle Knotenpools im Cluster verwendet.
  • Änderungen am Profil werden auf alle Knotenpools angewendet, für die die AutoScaler-Funktion aktiviert ist.

Profileinstellungen

Das Standardprofil besteht aus den folgenden Standardwerten. Sie können die folgenden Einstellungen aktualisieren.

Einstellung Beschreibung Standardwert
min-node-count Die Minimale Knotenanzahl, auf die der Knotenpool, dem dieses Profil zugewiesen ist, kann nach unten skaliert werden. 0
max-node-count Die maximale Knotenanzahl, auf die der Knotenpool, dem dieses Profil zugewiesen ist, kann bis zu skaliert werden. 1
scan-interval Die Häufigkeit der Neubewertung des Clusters in Bezug auf das Hoch- oder Herunterskalieren. 10 Sekunden
scale-down-delay-after-add Gibt an, innerhalb welcher Zeitspanne nach dem Hochskalieren die Bewertung für das Herunterskalieren wieder aufgenommen wird. 10 Minuten
scale-down-delay-after-delete Gibt an, innerhalb welcher Zeitspanne nach dem Löschen eines Knotens die Bewertung für das Herunterskalieren wieder aufgenommen wird. scan-interval
scale-down-delay-after-failure Wie lange nach einem Scale down-Fehler, der die Auswertung herunterskalieren, fortgesetzt wird. 3 Minuten
scale-down-unneeded-time Gibt an, wie lange ein Knoten nicht benötigt werden sollte, bevor er für ein Herunterskalieren in Frage kommt. 10 Minuten
scale-down-unready-time Gibt an, wie lange ein nicht Knoten mit dem Status „Nicht bereit“ nicht benötigt werden sollte, bevor er für ein Herunterskalieren in Frage kommt. 20 Minuten
scale-down-utilization-threshold Knotenauslastungsebene, definiert als die Summe der angeforderten Ressourcen dividiert durch Kapazität, unter der ein Knoten für die Skalierung nach unten betrachtet werden kann. 0.5
max-graceful-termination-sec Maximale Anzahl von Sekunden, die die Clusterautoskalierung beim Versuch, einen Knoten herunterzuskalieren, auf die Beendigung des Pods wartet 600 Sekunden
balance-similar-node-groups Erkennt ähnliche Knotenpools und gleicht die Anzahl der Knoten zwischen ihnen aus. false
expander Der Typ der Knotenpoolerweiterung, die bei der zentralen Hochskalierung zu verwenden ist. Mögliche Werte: most-pods, random, least-waste, priority. random
skip-nodes-with-local-storage Bei "true" löscht die Automatische Cluster-Skalierung niemals Knoten mit Pods mit lokalem Speicher, z. B. EmptyDir oder HostPath. true
skip-nodes-with-system-pods Bei "true" löscht die Automatische Clusterskala niemals Knoten mit Pods aus kube-system (mit Ausnahme von DaemonSet oder Spiegel pods). true
max-empty-bulk-delete Maximale Anzahl leerer Knoten, die gleichzeitig gelöscht werden können. 10
new-pod-scale-up-delay Für Szenarien wie die Burst-/Batch-Skalierung, in denen die Zertifizierungsstelle nicht handeln soll, bevor der Kubernetes-Scheduler alle Pods planen kann, können Sie der Zertifizierungsstelle mitteilen, dass ungeplante Pods ignoriert werden, bevor sie ein bestimmtes Alter sind. 0 Sekunden
max-total-unready-percentage Maximaler Prozentsatz der nicht fertigen Knoten im Cluster. Wenn dieser Prozentsatz überschritten wird, hält die Zertifizierungsstelle alle Vorgänge an. 45 %
max-node-provision-time Maximaler Zeitraum, den die Autoskalierung auf die Bereitstellung eines Knotens wartet. 15 Minuten

Hinweise zur AutoScaler-Konfiguration

Sie können Einstellungen im Cluster-Autoscaler-Profil mithilfe des PowerShell-Cmdlets "Set-AksHciAutoScalerConfig " ändern.

Die automatische Clusterskalierung trifft Skalierungsentscheidungen auf Basis der für die einzelnen Knotenpools festgelegten Mindest- und Höchstzahlen, erzwingt sie jedoch nicht, nachdem die Mindest- und Höchstzahlen aktualisiert wurden. Wenn Sie beispielsweise eine Mindestanzahl von 5 festlegen, wenn die aktuelle Knotenanzahl 3 ist, wird der Pool nicht sofort auf 5 skaliert.

Wenn die Mindestanzahl des Knotenpools einen Wert über der aktuellen Anzahl von Knoten aufweist, werden die neuen Mindest- oder Höchsteinstellungen berücksichtigt, wenn genügend nicht geplante Pods vorhanden sind, die zwei neue zusätzliche Knoten erfordern und ein Autoscaler-Ereignis auslösen. Nach dem Skalierungsereignis werden die neuen Anzahlgrenzwerte berücksichtigt.

Sie können auch differenziertere Details der Clusterautoskalierung konfigurieren, indem Sie die Standardwerte im clusterweiten Autoskalierungsprofil ändern. Beispielsweise tritt ein Scale down-Ereignis auf, nachdem Knoten 10 Minuten lang nicht verwendet wurden. Wenn Sie Workloads haben, die alle 15 Minuten ausgeführt werden, möchten Sie vielleicht das Autoskalierungsprofil so ändern, dass es nach 15 oder 20 Minuten nicht ausgelastete Knoten herunterskaliert. Wenn Sie die Clusterautoskalierung aktivieren, wird ein Standardprofil verwendet, sofern Sie keine anderen Einstellungen angeben.

Speichern und Laden des Autoskalierungsprofils

Sie können Ihr Autoscaler-Profil in einer Profildefinition als YAML-Datei speichern und speichern. Sie können die YAML-Datei manuell in einem Text-Editor bearbeiten und gespeicherte Definitionen laden.

Speichern der Profildefinition

Sie speichern eine Kopie des Profils als YAML-Datei mithilfe kvactlvon . Nachdem Sie Ihr Profil definiert haben, führen Sie die folgenden Befehle aus:

kvactl.exe autoscalerprofile get --name default --kubeconfig (Get-AksHciConfig).Kva.kubeconfig --outputformat=yaml > def.yaml

Bearbeiten der Profildefinition

Sie können die Profildefinition in der YAML-Datei bearbeiten. Sie können z. B. def.yaml in Editor, Visual Studio Code oder anderen Texteditoren öffnen.

Laden der Profildefinition

Sie können die Profildefinition mithilfe kvactl der gespeicherten YAML-Datei laden. Führen Sie den folgenden Befehl aus:

kvactl.exe autoscalerprofile create --profileconfig .\def-new.yaml --kubeconfig (Get-AksHciConfig).Kva.kubeconfig

Nächste Schritte