Manuelles Skalieren der Knotenanzahl in einem Azure Kubernetes Service-Cluster (AKS-Cluster)
Wenn sich die Ressourcenanforderungen Ihrer Anwendungen ändern, kann die Clusterleistung aufgrund geringer Kapazität auf CPU, Arbeitsspeicher, PID-Speicherplatz oder Datenträgergrößen beeinträchtigt werden. Um diese Änderungen zu beheben, können Sie Ihren AKS-Cluster manuell skalieren, um eine andere Anzahl von Knoten auszuführen. Beim zentralen Abskalieren werden die Knoten sorgfältig gesperrt und ausgeglichen, um die Unterbrechung ausgeführter Anwendungen zu minimieren. Beim Aufskalieren wartet AKS, bis die Knoten vom Kubernetes-Cluster als Bereit markiert sind, bevor Pods darauf geplant werden.
In diesem Artikel wird beschrieben, wie Sie die Anzahl der Knoten in einem AKS-Cluster manuell vergrößern oder verkleinern.
Voraussetzungen
Überprüfen Sie die AKS-Dienstkontingente und -Grenzwerte, um sicherzustellen, dass Ihr Cluster auf die gewünschte Anzahl von Knoten skaliert werden kann.
Der Name eines Knotenpools darf nur Kleinbuchstaben und Ziffern enthalten und muss mit einem Kleinbuchstaben beginnen.
- Bei Linux-Knotenpools muss die Länge zwischen 1 und 11 Zeichen betragen.
- Bei Windows-Knotenpools muss die Länge zwischen 1 und 6 Zeichen betragen.
Skalieren der Clusterknoten
Wichtig
Das Entfernen von Knoten aus einem Knotenpool mithilfe des kubectl-Befehls wird nicht unterstützt. Dies kann Skalierungsprobleme mit Ihrem AKS-Cluster erzeugen.
Rufen Sie den Namen Ihres Knotenpools mithilfe des Befehls
az aks show
ab. Das folgende Beispiel ruft den Knotenpoolnamen für den Cluster namens myAKSCluster in der Ressourcengruppe myResourceGroup ab:az aks show --resource-group myResourceGroup --name myAKSCluster --query agentPoolProfiles
Die folgende Beispielausgabe zeigt, dass der Namenodepool1 lautet:
[ { "count": 1, "maxPods": 110, "name": "nodepool1", "osDiskSizeGb": 30, "osType": "Linux", "vmSize": "Standard_DS2_v2" } ]
Skalieren Sie die Clusterknoten mit dem Befehl
az aks scale
. Das folgende Beispiel skaliert einen Cluster namens myAKSCluster auf einen einzelnen Knoten. Stellen Sie Ihren eigenen--nodepool-name
aus dem vorherigen Befehl bereit, z.B. nodepool1:az aks scale --resource-group myResourceGroup --name myAKSCluster --node-count 1 --nodepool-name <your node pool name>
Die folgende Beispielausgabe zeigt, dass der Cluster erfolgreich auf einen einzigen Knoten skaliert wurde, wie im Abschnitt agentPoolProfiles gezeigt:
{ "aadProfile": null, "addonProfiles": null, "agentPoolProfiles": [ { "count": 1, "maxPods": 110, "name": "nodepool1", "osDiskSizeGb": 30, "osType": "Linux", "vmSize": "Standard_DS2_v2", "vnetSubnetId": null } ], [...] }
Skalieren von User
-Knotenpools auf 0 (null)
Im Unterschied zu System
-Knotenpools, die immer ausgeführte Knoten erfordern, können Sie User
-Knotenpools auf 0 (null) skalieren. Weitere Informationen zu den Unterschieden zwischen System- und Benutzerknotenpools finden Sie unter System- und Benutzerknotenpools.
Wichtig
Sie können einen Benutzerknotenpool mit aktivierter Autoskalierung für Cluster nicht auf 0 Knoten skalieren. Um einen Benutzerknotenpool auf 0 Knoten zu skalieren, müssen Sie zuerst die Autoskalierung für Cluster deaktivieren. Weitere Informationen finden Sie unter Deaktivieren der Autoskalierung für Cluster in einem Knotenpool.
Um einen Benutzerpool auf 0 zu skalieren, können Sie den Befehl az aks nodepool scale als Alternative zum obigen Befehl
az aks scale
verwenden und als Knotenanzahl0
festlegen.az aks nodepool scale --name <your node pool name> --cluster-name myAKSCluster --resource-group myResourceGroup --node-count 0
Sie können auch
User
Knotenpools automatisch auf Nullknoten skalieren, indem Sie den--min-count
Parameter des Cluster Autoscaler auf0
festlegen.
Nächste Schritte
In diesem Artikel haben Sie einen AKS-Cluster manuell skaliert, um die Anzahl von Knoten zu erhöhen oder zu verringern. Sie können auch die Autoskalierung für Cluster verwenden, um den Cluster automatisch zu skalieren.
Azure Kubernetes Service