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 Herunterskalieren werden die Knoten sorgfältig gesperrt und ausgeglichen, um die Unterbrechung ausgeführter Anwendungen zu minimieren. Beim Hochskalieren 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.

  1. 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"
      }
    ]
    
  2. 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 Knotenanzahl 0 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 auf 0 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.