Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Zusammenfassung
In diesem Artikel wird erläutert, wie Sie den Fehler "kann Cluster mit aktiviertem Knotenpool-Autoscaler nicht skalieren" beheben, der beim Skalieren eines Clusters mit einem aktivierten Knotenpool-Autoscaler angezeigt wird.
Symptome
Sie erhalten eine Fehlermeldung, die der folgenden Meldung ähnelt:
kubectl get nodesgibt "Keine Ressourcen gefunden" aus.
Der Zustand aller Pods istPending
Skalierungsvorgänge schlagen fehl mit dem Fehler: „Cluster-Autoscaler-aktivierter Knotenpool kann nicht skaliert werden“.
Checkliste zur Problembehandlung
Azure Kubernetes Service (AKS) verwendet vm-skalierungsbasierte Agentpools, die Clusterknoten und clusterautonkalierende Funktionen enthalten, wenn diese aktiviert sind.
Überprüfen Sie, ob der Skalierungssatz für den virtuellen Clustercomputer vorhanden ist.
Melden Sie sich beim Azure-Portal an.
Suchen Sie die Knotenressourcengruppe, indem Sie die folgenden Namen durchsuchen:
- Der Standardname
MC_{AksResourceGroupName}_{YourAksClusterName}_{AksResourceLocation}. - Der benutzerdefinierte Name (sofern er beim Erstellen bereitgestellt wurde).
Notiz
Beim Erstellen eines neuen Clusters erstellt AKS automatisch eine zweite Ressourcengruppe, um die AKS-Ressourcen zu speichern. Weitere Informationen finden Sie unter Warum werden zwei Ressourcengruppen mit AKS erstellt?.
- Der Standardname
Überprüfen Sie die Liste der Ressourcen, und stellen Sie sicher, dass ein Skalierungssatz für virtuelle Computer vorhanden ist.
Ursache 1: Der Skalierungssatz für den virtuellen Clustercomputer wurde gelöscht.
Wenn Sie den an den Cluster angefügten Skalierungssatz des virtuellen Computers löschen, schlägt die Automatische Skalierung des Clusters fehl. Es verursacht auch Probleme beim Bereitstellen von Ressourcen wie Knoten und Pods.
Notiz
Das Ändern einer Ressource unter der Knotenressourcengruppe im AKS-Cluster ist eine nicht unterstützte Aktion und führt zu Fehlern im Clusterbetrieb. Sie können verhindern, dass Änderungen an der Knotenressourcengruppe vorgenommen werden, indem Sie Benutzer daran hindern, vom AKS-Cluster verwaltete Ressourcen zu ändern.
Abgleichen des Knotenpools
Wenn der Skalierungssatz für den virtuellen Clustercomputer versehentlich gelöscht wird, können Sie den Knotenpool mithilfe von az aks nodepool update:
# Update Node Pool Configuration
az aks nodepool update --resource-group <resource-group-name> --cluster-name <cluster-name> --name <nodepool-name> --tags <tags> --node-taints <taints> --labels <labels>
# Verify the Update
az aks nodepool show --resource-group <resource-group-name> --cluster-name <cluster-name> --name <nodepool-name>
Überwachen Sie den Knotenpool, um sicherzustellen, dass er erwartungsgemäß funktioniert und dass alle Knoten betriebsbereit sind.
Ursache 2: Tags oder andere Eigenschaften wurden in der Knotenressourcengruppe geändert.
Möglicherweise erhalten Sie Skalierungsfehler, wenn Sie von Azure erstellte Tags und andere Ressourceneigenschaften in der Knotenressourcengruppe ändern oder löschen. Weitere Informationen finden Sie unter Kann ich Tags und andere Eigenschaften der AKS-Ressourcen in der Knotenressourcengruppe ändern?
Abgleichen von Knotenressourcengruppentags
Verwenden Sie die Azure CLI, um sicherzustellen, dass die Knotenressourcengruppe über die richtigen Tags für den AKS-Namen und den AKS-Gruppennamen verfügt:
# Add or update tags for AKS name and AKS group name
az group update --name <node-resource-group-name> --set tags.AKS-Managed-Cluster-Name=<aks-managed-cluster-name> tags.AKS-Managed-Cluster-RG=<aks-managed-cluster-rg>
# Verify the tags
az group show --name <node-resource-group-name> --query "tags"
Überwachen Sie die Ressourcengruppe, um sicherzustellen, dass die Tags ordnungsgemäß angewendet werden und dass die Ressourcengruppe wie erwartet funktioniert.
Ursache 3: Die Clusterknotenressourcengruppe wurde gelöscht.
Das Löschen der Clusterknotenressourcengruppe verursacht Probleme beim Bereitstellen der vom Cluster erforderlichen Infrastrukturressourcen, was dazu führt, dass die Clusterautoskalierung fehlschlägt.
Lösung: Aktualisieren des Clusters auf den Zielzustand, ohne die Konfiguration zu ändern
Um dieses Problem zu beheben, können Sie den folgenden Befehl ausführen, um den gelöschten Skalierungssatz des virtuellen Computers oder beliebige Tags (fehlende oder geänderte) wiederherzustellen:
Notiz
Es kann einige Minuten dauern, bis der Vorgang abgeschlossen ist.
Legen Sie Die Umgebungsvariablen für die AKS-Clusterressourcengruppe und den Clusternamen fest, bevor Sie den Befehl ausführen. Ein zufälliges Suffix ist enthalten, um Namenskonflikte während wiederholter Ausführungen zu verhindern, aber Sie müssen sicherstellen, dass die Ressourcengruppe und der Cluster vorhanden sind.
export RANDOM_SUFFIX=$(head -c 3 /dev/urandom | xxd -p)
export AKS_RG_NAME="MyAksResourceGroup$RANDOM_SUFFIX"
export AKS_CLUSTER_NAME="MyAksCluster$RANDOM_SUFFIX"
az aks update --resource-group $AKS_RG_NAME --name $AKS_CLUSTER_NAME --no-wait