Freigeben über


Verwenden Sie das Autoscaler-Profil, um die Cluster-Autoskalierung in AKS unter Windows Server zu konfigurieren.

Gilt für: AKS unter Windows Server

Sie können die Parameter im Autoscaler-Profilobjekt verwenden, um Skalierungsereignisse in AKS unter Windows Server zu definieren. 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 der Autoscaler funktioniert, die Standardprofilwerte des Autoscalers beschrieben und erklärt, wie Sie eine Profildefinition konfigurieren und verwenden können.

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, verkleinert werden kann. 0
max-node-count Die maximale Knotenanzahl, auf die der Knotenpool, dem dieses Profil zugewiesen ist, skaliert werden kann. 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 Gibt an, innerhalb welcher Zeitspanne nach einem Fehler beim Herunterskalieren die Bewertung für ein Herunterskalieren wieder aufgenommen 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 Knoten mit dem Status „Nicht bereit“ unbenötigt bleiben sollte, bevor er für eine Verkleinerung 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 Wenn true, löscht der Cluster-Autoscaler niemals Knoten mit Pods aus kube-system (außer DaemonSet- oder Mirror-Pods). true
max-empty-bulk-delete Maximale Anzahl leerer Knoten, die gleichzeitig gelöscht werden können. 10
new-pod-scale-up-delay In Szenarien wie Burst-/Batch-Skalierung, in denen Sie nicht möchten, dass die CA handelt, bevor der Kubernetes-Scheduler alle Pods planen kann, können Sie die CA anweisen, nicht geplante Pods zu ignorieren, bevor sie ein bestimmtes Alter erreicht haben. 0 Sekunden
max-total-unready-percentage Maximaler Prozentsatz der nicht fertigen Knoten im Cluster. Wenn dieser Prozentsatz überschritten wird, stoppt die CA den Betrieb. 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 Sie die minimale Anzahl für den Knotenpool auf einen höheren Wert als die aktuelle Anzahl von Knoten festlegen, werden neue Minimal- oder Maximalwert berücksichtigt, wenn genügend nicht planbare Pods vorhanden sind, die zwei neue zusätzliche Knoten erfordern und eine automatische Skalierung auslösen würden. 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. 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 von kvactl. 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 Notepad, Visual Studio Code oder anderen Texteditoren öffnen.

Laden Sie Ihre Profildefinition

Sie können die Profildefinition mithilfe von kvactl aus 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